Overview
Scans your CRM for contracts expiring in the next 90 days, surfaces account health signals and last conversation topics, and creates a personalized renewal playbook for each account.
Input: CRM API token (HubSpot, Salesforce, or Pipedrive)
Output: Renewal playbook per account with health signals, key risks, last touch summary, and recommended next actions
APIs Required
- CRM: HubSpot API or Salesforce REST API or Pipedrive API
- LLM: Anthropic API
Folder Structure
Based on: output-dev-folder-structure skill
This workflow lives at src/workflows/renewal_tracker/:
workflow.ts — deterministic orchestration (no I/O, no Date.now(), no Math.random())
steps.ts — all HTTP, LLM, and external API calls
types.ts — Zod input/output schemas
prompts/ — LLM prompt templates (if needed)
scenarios/ — test input JSON files
Scenario
Based on: output-dev-scenario-file skill
Create src/workflows/renewal_tracker/scenarios/happy_path.json with a realistic sample input, e.g.:
{
"crmType": "hubspot",
"apiToken": "pat-na1-xxxx"
}
Test Plan
Based on: output-workflow-run skill
- Start the dev environment:
- Add your CRM API credentials:
npx output credentials edit
# Add: hubspot.api_key, salesforce.api_key, or pipedrive.api_key
- Run with the scenario:
npx output workflow run renewal_tracker --scenario happy_path
Or with inline input:
npx output workflow run renewal_tracker --input '{"crmType": "hubspot", "apiToken": "pat-na1-xxxx"}'
- Confirm the output matches the expected schema and content.
Overview
Scans your CRM for contracts expiring in the next 90 days, surfaces account health signals and last conversation topics, and creates a personalized renewal playbook for each account.
Input: CRM API token (HubSpot, Salesforce, or Pipedrive)
Output: Renewal playbook per account with health signals, key risks, last touch summary, and recommended next actions
APIs Required
Folder Structure
This workflow lives at
src/workflows/renewal_tracker/:workflow.ts— deterministic orchestration (no I/O, noDate.now(), noMath.random())steps.ts— all HTTP, LLM, and external API callstypes.ts— Zod input/output schemasprompts/— LLM prompt templates (if needed)scenarios/— test input JSON filesScenario
Create
src/workflows/renewal_tracker/scenarios/happy_path.jsonwith a realistic sample input, e.g.:{ "crmType": "hubspot", "apiToken": "pat-na1-xxxx" }Test Plan
npx output credentials edit # Add: hubspot.api_key, salesforce.api_key, or pipedrive.api_keynpx output workflow run renewal_tracker --input '{"crmType": "hubspot", "apiToken": "pat-na1-xxxx"}'