AI agents

Automate a daily sales recap from your call transcripts

Last updated September 10, 2026

A rep who made 120 dials wants five minutes of reading at 5 pm: who picked up, what they said, what they objected to, what was promised, and what to do tomorrow. A manager wants the same across the floor. This is how to have it written for you from the calls themselves, with the exact prompt and the endpoint that feeds it.

What a recap worth reading contains

  1. The numbers. Dials, conversations, talk time, dispositions. Enough to know whether it was a good day before reading a word of prose.
  2. Prospects reached. Who they are, two sentences on the conversation, and the agreed next step. Voicemails and no-answers are counted, not narrated.
  3. Objections, verbatim. “We renewed with Aircall in June” is useful on Thursday; “price objection” is not.
  4. Follow-ups due. The open tasks, and the promises made on a call that never became a task. The second list is the one people lose.
  5. One move per prospect. Grounded in what they said, toward a booked meeting. Not a paragraph of advice; one thing to do.

That is the structure of the daily_sales_recap prompt shipped with the MCP server, so an agent that is connected can be asked for “my daily sales recap” and follow it without being told.

The prompt

Paste this into a client connected to DialSheet. Change the time zone; it is the one thing that silently ruins a recap, because “today” is read in UTC unless you say otherwise and the evening calls land in tomorrow.

prompt
Write my sales recap for today in America/Chicago time.

1. Numbers: dials, conversations, talk time, dispositions.
2. Prospects reached: for each one, who they are, two sentences on the
   conversation, any objection in their own words, and the agreed next step.
   Use get_call on any prospect whose summary is thin.
3. Follow-ups due: open tasks, plus anything promised on a call that has no task.
4. For each prospect, one concrete move toward a booked meeting, grounded in
   what they said. Do not invent anything that is not in the data.

Connecting takes three clicks in claude.ai or Claude Desktop and one command in Claude Code; the setup guide has each.

Where the facts in the recap come from

Every answered call in Pro is recorded, transcribed with Whisper, and summarised: two to four sentences for the rep's notes, a disposition (interested, callback, not interested, gatekeeper, wrong number, voicemail) and a next step. Those live on the call, next to the rep's own outcome and notes. The recap endpoint takes a day, in the zone you name, and groups every call by the lead it was to, attaching the lead's open tasks and open deals so the agent can see what was already promised.

Without an agent: the endpoint

If you would rather feed a model of your choice, or a Zap, the recap is one request with an API key from Settings → API Keys.

terminal
curl "https://www.dialsheet.io/api/v1/recap?date=today&tz=America/Chicago" \
  -H "Authorization: Bearer ds_your_key"

The JSON has totals (dials, conversations, prospects reached, talk seconds, voicemails, a count per disposition, open tasks) and prospects, each with the lead, its calls in order, the last AI summary and next step, notes logged that day, open tasks and open deals. Add include_transcripts=true to embed every transcript, or fetch one call's with GET /api/v1/calls/:id. An organisation admin adds scope=team. Field by field, it is documented in the API guide.

Running it every evening

DialSheet answers when asked and does not push the recap, so the schedule lives on your side. Claude Code's scheduled routines can run the prompt at five on weekdays and leave the recap in the conversation; a cron job can call the endpoint and post the JSON to whichever model you use. Either way the output is a draft written by someone who was not on the call. Read it, correct the two lines where you know better, and the follow-ups it created are already in your task list.

When a different tool is the better buy

If your calls are thirty-minute discovery conversations and what you want is deal risk, talk ratios and forecast changes pushed into Slack for a twenty-rep floor, a conversation-intelligence platform is built for that, and it is priced for it, commonly around $100 a user a month on an annual contract. DialSheet's recap fits a one-to-thirty-rep cold-calling team whose calls run thirty seconds to three minutes, who already pay for Claude, and who want the evening reading written from the calls for $29/month, then $19 per seat rather than a platform fee.

Common questions

How do I automate a daily sales recap from my calls?

Connect an agent to DialSheet's MCP server (https://www.dialsheet.io/api/mcp) and ask for the recap; the daily_recap tool hands it the day's calls grouped by prospect with each call's AI summary, next steps, disposition, notes, open tasks and deals, and the agent writes it. Without an agent, one request to GET /api/v1/recap?date=today&tz=America/Chicago returns the same data as JSON for any model or script. Both need a Pro account ($29/month, then $19 per seat).

Where do the summaries and next steps come from?

From Call Intelligence in Pro. Each answered, recorded call is transcribed (Whisper) and then summarised into two to four sentences, a disposition and a next step, stored on the call. The recap groups those by prospect. A rep’s own disposition always wins over the AI’s; a call that was never answered has no transcript and appears in the numbers only.

Can it find objections?

Yes, when they are in the transcript. The AI summary often names the objection; when it does not, the prompt tells the agent to open the full transcript with get_call for any prospect whose summary is thin and quote the objection in the prospect’s words. It cannot find an objection on a call that was not recorded, and it will not always agree with the rep about what counted as one.

Can a manager get the whole team’s recap?

An organisation admin can ask for the recap with scope set to team, or call /api/v1/recap?scope=team. It returns every member’s calls for the day with the rep named on each prospect, so an eight-rep floor is one page. Reps see their own.

How do I run it every evening without asking?

Schedule the prompt in the client: Claude Code has scheduled routines that can run it on weekdays at five, and any cron job can call /api/v1/recap and hand the JSON to a model. DialSheet does not push the recap itself; it answers when asked, so the schedule lives on your side.

What will it get wrong?

Transcription on bad audio, accents and crosstalk; the AI disposition on borderline calls (which is why the rep’s wins); and any recommendation that reaches past what the prospect said, which is why the prompt ends with “do not invent”. Treat the recap as a draft written by a diligent assistant who was not on the call, and correct it where you were.

Prompt and endpoint as of September 10, 2026. We build DialSheet; the recap is only as honest as the transcript it was written from, and the prompt says so.