Sales call follow-up automation, from transcript to CRM

A reference build for B2B sales teams that already record their calls. The transcript goes in. CRM fields, next steps, a drafted follow-up email and dated tasks come out, and the rep approves anything that matters before it is saved or sent.

We reply to every inquiry within 1 working day.

Blueprint facts

Build time
4 to 6 weeks
Price band
$7,000 to $18,000
Steps
7
Components
7
Updated

In short

Sales call follow-up automation reads the transcript of a recorded sales call, updates the matching CRM deal with next steps and qualification fields, drafts the follow-up email in the rep's inbox and creates dated tasks. The rep approves the email and any stage or amount change. We build it in 4 to 6 weeks for $7,000 to $18,000 on HubSpot, Salesforce or Pipedrive.

Updated

How the parts connect

MeetingsWorkflowModelRepEach month, rep edits become the test set that tunes the prompts01Transcript landsZoom, Meet, Teams, Gong02Match to a dealAttendees to CRM03Extract fieldsQuote and timestamp04Update the CRMLow-risk fields onlyRep approvesStage, amount, close date05Draft the emailDraft only, rep sends06Create tasksOwner and due date07Log and learnEdits become testsMeetingsWorkflowModelRep01Transcript landsZoom, Meet, Teams, Gong02Match to a dealAttendees to CRM03Extract fieldsQuote and timestamp04Update the CRMLow-risk fields onlyRep approvesStage, amount, close date05Draft the emailDraft only, rep sends06Create tasksOwner and due date07Log and learnEdits become testsEach month, rep edits become the testset that tunes the prompts
Sales call follow-up automationWhen a call transcript lands it is matched to a deal, a model extracts fields with quoted evidence, safe CRM fields are written while stage, amount and close date wait for the rep, and a follow-up draft, tasks and a run log follow.
  • Model step
  • A person decides
  • Exception or feedback path

How it runs, step by step

7 steps, in the order the system runs them.

  1. Step 1

    Transcript lands

    A webhook fires when Zoom, Google Meet, Microsoft Teams, Gong or Fireflies.ai finishes the transcript. If calls are recorded but not transcribed, a speech-to-text API such as Deepgram or AssemblyAI fills the gap.

  2. Step 2

    Match call to deal

    Attendee email addresses are matched to CRM contacts and their open deals. Internal-only calls are skipped, and a call that could belong to two deals goes to the rep in Slack as a one-click choice.

  3. Step 3

    Extract fields with evidence

    A language model reads the transcript against a fixed schema: next step, decision date, budget signal, competitors named, objections and stakeholders. Every value comes back with the quote and timestamp it came from, or stays empty.

  4. Step 4

    Update the CRM

    Low-risk fields such as the call note, next step and next step date are written directly. Deal stage, amount and close date are proposed in Slack and change only when the rep approves.

  5. Step 5

    Draft the follow-up email

    The draft lands in the rep's Gmail or Outlook drafts, on the right thread, written from the call notes with the rep's past emails as style examples. The system never presses send.

  6. Step 6

    Create tasks

    Commitments the rep made on the call become CRM tasks with an owner and a due date. Commitments the buyer made become a reminder to check in on the agreed day.

  7. Step 7

    Log and learn

    Each run records the transcript ID, the fields written, the fields proposed and what the rep changed. Those edits become the test set we use to tune prompts each month.

What the system is made of

The parts you own at handover, each one written up in the documentation and the runbook.

Transcript listener
Receives webhooks from the meeting recorder, fetches the transcript with speaker labels and queues the job.
Deal matcher
Maps attendee emails and company domains to the CRM contact, company and open deal, and asks a person when the match is unclear.
Field extractor
A model call with a JSON schema that returns each CRM field with a supporting quote, a timestamp and a confidence level.
CRM writer
Applies changes through the HubSpot, Salesforce or Pipedrive API, limited to an allowlist of fields, and stores each previous value so a change can be rolled back.
Email drafter
Writes the follow-up in the rep's own style and saves it as a draft in Gmail or Outlook.
Approval card
A Slack message listing proposed stage, amount and close date changes, each with approve and edit buttons.
Run log
A Postgres or Airtable table of inputs, outputs, approvals and rep edits, used for audit and monthly tuning.

What it runs on and what it costs

Runs on

  • n8n or Make for orchestration
  • Zoom, Google Meet, Microsoft Teams, Gong or Fireflies.ai for transcripts
  • Deepgram, AssemblyAI or OpenAI transcription when calls are not transcribed
  • OpenAI or Anthropic API with structured outputs
  • HubSpot, Salesforce or Pipedrive
  • Gmail API or Microsoft Graph for Outlook drafts
  • Slack for approvals and alerts
  • Postgres or Airtable for the run log

Everything is set up on accounts in your name.

Build time and price

$7,000 to $18,000 per project

One CRM, one meeting tool and one email provider. A second pipeline, custom objects or a separate transcription step move it toward the top.

Build time
4 to 6 weeks
During the build
A demo of working software every week
Model and tool usage
Billed at cost, no markup
Changes after handover
$175 an hour, or a care plan
See prices for every service

What could go wrong and what stops it

The risks we design for from the first week, and how the build handles each one.

  • Updating the wrong deal

    When attendee emails match more than one open deal, or none, the run stops and asks the rep in Slack. The system never guesses a deal ID and never creates deals on its own.

  • Details the buyer never said

    Each extracted field must quote the transcript. If the model cannot point to a line, the field stays empty. A weekly check samples runs and compares the written values with their quotes.

  • An email sent by mistake

    The build only creates drafts. Sending stays a human action in Gmail or Outlook, and drafts that mention pricing, discounts or contract terms are flagged in the Slack summary so the rep reads them first.

  • Recording consent and data access

    The build reads recordings your team already makes and records nothing itself. Consent rules differ by state and country, so your counsel signs off on the recording notice before launch. Model calls run on API accounts you own.

How does the system decide what to write into the CRM?

It writes only what it can prove from the transcript, and it sorts every field into one of two lanes before anything touches the CRM.

The first lane is low-risk, additive data: a call summary note, the next step, the next step date, competitors mentioned and named stakeholders. These are written straight to the deal because a wrong value costs a rep 10 seconds to fix and nothing downstream depends on it.

The second lane is anything that moves a forecast: deal stage, amount, close date, probability and owner. Those are proposed in a Slack card with the quote that justifies the change, and the rep approves or edits. At launch, err toward putting more fields in this lane. We set the split field by field with your sales lead during the Map stage.

Extraction runs against a fixed JSON schema with your field names and picklist values, enforced with the model provider's structured outputs (opens in a new tab) feature or its equivalent, so the model cannot invent a stage your pipeline does not have. Each value carries a confidence level and a timestamp. Anything below the threshold we agree with you goes to the approval lane or stays blank.

If your team qualifies with MEDDICC, BANT or your own checklist, the schema follows it, with a separate field set for each call type.

The follow-up email is saved as a draft through the Gmail API (opens in a new tab) or Microsoft Graph (opens in a new tab) for Outlook, and the build never calls send. For the general pattern behind this, see human in the loop and function calling.

What does sales call follow-up automation cost to build and run?

The build is a fixed price between $7,000 and $18,000. The low end covers one CRM pipeline, one meeting recorder, one email provider and one call type. Price rises with custom CRM objects, more than one pipeline, a transcription step you do not have today, and a second call type with its own fields.

Running costs are small and billed at cost, with no markup:

ItemWhat drives it
Model usageTokens per call. A 30-minute transcript is usually a few cents to process on current mid-tier models
TranscriptionOnly if your recorder does not transcribe. Speech-to-text APIs charge per minute of audio
Orchestrationn8n Cloud or Make subscription, or a self-hosted n8n server
Run logA small Postgres database or an Airtable plan you may already pay for

The larger ongoing cost is upkeep: CRM fields change, recorders change their APIs and reps ask for new fields. An automation care plan from $1,500 a month covers monitoring, fixes and small changes. A team with an in-house operations person can take it over after handover using the runbook.

Change requests outside the agreed scope are $175 an hour. For a wider view of pricing, read what AI consulting costs.

When should you not build this?

Skip the build when the tools you already pay for cover it. Gong, Fireflies.ai and HubSpot all ship AI call summaries, and some can log notes to the CRM. Turn those features on first. If a summary note on the deal is all your team needs, a custom build is money spent on a problem you do not have.

It is also the wrong project in these cases:

  • Your reps run fewer than about 5 recorded calls a week each. The time saved will not pay back the build inside a year.
  • Your CRM has no agreed definitions for stages and fields. Automation will write inconsistent data faster. Fix the pipeline definitions first; a sales and CRM automation engagement often starts there.
  • You cannot record calls. Where recording consent is impractical for your buyers, there is no transcript to work from.
  • Follow-up emails are regulated communications. In financial services, for example, outbound messages may need compliance review and archiving. The drafts-only design still works, but the review step belongs to your compliance team and we scope it with them.

If the job is mostly moving data from one tool to another with no language to read, a rule-based workflow in n8n or Make is cheaper to run, and we will build that instead. AI agents vs automation vs chatbots explains where the line sits.

Common questions about this build

The full FAQ covers pricing, ownership, data and timelines.

Which call recorders does it work with?

Any recorder that exposes transcripts through an API or webhook. We have designed this blueprint around Zoom, Google Meet, Microsoft Teams, Gong and Fireflies.ai. If your calls are recorded but not transcribed, we add a speech-to-text step with Deepgram, AssemblyAI or OpenAI transcription. We confirm API access for your plan during the scoping call, because some recorders limit API access to higher tiers.

Will the follow-up emails sound like the rep wrote them?

Closer than a generic template. The drafter uses the call notes plus a handful of the rep's own sent emails as style examples, and it is told to keep the email short and specific to what was said. Reps still edit most drafts in the first weeks. We log those edits and use them to tune the prompt, so the drafts need fewer changes over time.

Do we need to switch CRMs to use this?

No. The blueprint runs on HubSpot, Salesforce or Pipedrive through their standard APIs, using your existing fields and picklists. If you use another CRM with a documented API, we check it during scoping. The build adds no new fields unless you ask for them, and every field it writes is listed in the runbook with the rule that controls it.

Can it move deals to the next stage automatically?

It can, but we advise against it at launch. Stage, amount and close date feed your forecast, so the system proposes those changes in Slack with the transcript quote behind them and the rep approves. After a few months of logs you can see how often reps accept the proposals unchanged and decide whether any field is safe to write directly.

Does it work for calls in other languages?

Usually, yes. Current transcription services and language models handle the major European and Asian languages, but accuracy varies by language, accent and audio quality. During the Prove stage we run the system on a sample of your real recordings in each language you use, and we only switch on languages that meet the accuracy bar agreed with you.

Price your version of this system

Bring your tools and volumes to a 30-minute call. If a simpler build would do the job, we'll say so.

Request a 30-minute scoping call

Scope and price arrive in writing within 5 working days of the call.