Discovery call prep
Your scheduler (Calendly, Cal.com, HubSpot meetings) posts each booking to a webhook. Claude Code researches the company and the attendee’s public professional background, and Claude turns it into a call brief: context, likely pains, the questions worth asking and what’s still unknown for qualification.
- Research company and attendee Claude Code · Sonnet
- Write call brief Claude API · Sonnet 5
- Post to Slack Shell
What each step does
Research company and attendee
Claude Code · SonnetResearches the company and the attendee’s public professional background, with sources.
Write call brief
Claude API · Sonnet 5Turns the research into a one-page call brief with discovery questions and qualification gaps.
Post to Slack
ShellPosts the brief to Slack.
From copy to first run
- Copy the pipeline JSON with the button above.
- In Jimothy, open Pipelines → New pipeline, paste it under “Or import a pipeline JSON” and click Import.
- Fill in the variables below under Pipeline settings → Variables.
- Triggers → Add trigger → Webhook. Have your scheduler (or a Zapier/Make step) post each booking with the fields below.
Send title (the company), description (answers to your booking questions) and the extra fields name, email, role, website and meetingTime.
What to fill in
The prompts and commands read these as {{vars.<name>}}. The examples are placeholders: replace them with your own.
| Variable | What to put in it | Example |
|---|---|---|
product | What you sell. | Acme, a reporting tool for finance teams |
idealCustomer | Who you sell to best. The brief rates fit against it. | Finance teams of 50 to 500 people that close their books in spreadsheets on top of NetSu… |
slackWebhookUrl | A Slack incoming webhook for the channel (or a DM) that gets briefs. | — |
Show the pipeline JSON
{
"jimothyPipeline": 1,
"name": "Discovery call prep",
"description": "Researches a booked prospect and posts a one-page call brief to Slack.",
"icon": "rocket",
"color": "#38bdf8",
"repo": {
"mode": "scratch"
},
"concurrency": 3,
"variables": {
"product": "Acme, a reporting tool for finance teams",
"idealCustomer": "Finance teams of 50 to 500 people that close their books in spreadsheets on top of NetSuite or QuickBooks",
"slackWebhookUrl": ""
},
"steps": [
{
"id": "research",
"name": "Research company and attendee",
"type": "agent",
"description": "Researches the company and the attendee’s public professional background, with sources.",
"harnessId": "claude-code",
"model": "sonnet",
"timeoutMinutes": 20,
"prompt": "A prospect booked a call.\n\nCompany: {{issue.title}}\nWebsite: {{issue.raw.website | default:\"(not given)\"}}\nAttendee: {{issue.raw.name | default:\"(no name)\"}}, {{issue.raw.role | default:\"role not given\"}}, {{issue.raw.email | default:\"\"}}\nMeeting: {{issue.raw.meetingTime | default:\"(time not given)\"}}\nTheir answers to our booking questions:\n{{issue.description | default:\"(none)\"}}\n\nResearch on the web: what the company does, size, funding or ownership, recent news, hiring (especially finance and operations roles), and the tools they appear to use. For the attendee, look only for professional information: current role, tenure, previous companies, and anything they've published or said publicly about work. Nothing personal.\n\nWrite notes in Markdown with the URL for every fact. Label guesses as guesses."
},
{
"id": "brief",
"name": "Write call brief",
"type": "agent",
"description": "Turns the research into a one-page call brief with discovery questions and qualification gaps.",
"harnessId": "anthropic-api",
"model": "claude-sonnet-5",
"dependsOn": [
"research"
],
"timeoutMinutes": 5,
"prompt": "We sell {{vars.product}}. Ideal customer: {{vars.idealCustomer}}.\n\nResearch notes:\n{{steps.research.output | truncate:12000}}\n\nBooking answers:\n{{issue.description | default:\"(none)\"}}\n\nWrite a call brief for the rep, for Slack (*bold* headings, - bullets), under 300 words:\n*{{issue.title}} · {{issue.raw.meetingTime | default:\"time TBD\"}}*\n*Who*: the attendee and their likely priorities\n*Context*: three bullets on the company right now\n*Fit*: strong, possible or weak, with the reason\n*Ask*: five discovery questions specific to them\n*Unknowns*: what we still need for qualification (budget, authority, need, timing)\n*Links*: the three most useful URLs"
},
{
"id": "post",
"name": "Post to Slack",
"type": "shell",
"description": "Posts the brief to Slack.",
"dependsOn": [
"brief"
],
"timeoutMinutes": 2,
"command": "printf '{\"text\":%s}' {{steps.brief.output | json}} | curl -fsS -X POST -H 'Content-Type: application/json' --data @- {{vars.slackWebhookUrl}}"
}
]
}More for sales, and beyond
Call notes → CRM and follow-up
Turns a call transcript into structured CRM fields and a follow-up email. You approve the email; both go to your CRM.
SalesSecurity questionnaire answers
Answers an RFP or security questionnaire from your library of past answers and policies, cites the source for each, and marks what needs an expert.
SalesClosed-lost debrief
When a deal is marked lost, works out why from the notes and emails, files the reason in your CRM and sets a date to try again.