n8n + Claude: Auto-Summarise Customer Calls Into a CRM Note
Sales reps skip writing call notes. This n8n flow takes a call recording, transcribes it, has Claude write a clean summary with action items, redacts PII, and drops it straight into the CRM — for under ₹3 per call.
Hrishikesh Baidya
June 4, 202510 min read
0%
Sales reps hate writing call notes. So they do not — and a week later nobody remembers what the prospect actually wanted. This n8n flow fixes that without changing how reps work: drop a call recording into a folder, and within minutes the CRM has a clean summary, the next steps, the objections raised, and the deal stage, with personal data redacted before anything is stored. We built it on n8n plus Claude, and it runs for under ₹3 per call. Here is the full build.
~₹3
Cost Per 15-Min Call
9 nodes
In the n8n Workflow
~2 min
From Upload to CRM Note
0
Manual Notes Reps Have to Write
## What Does This Workflow Do?
This n8n workflow turns a raw call recording into a structured CRM note automatically. It watches a folder for new audio files, sends each to a speech-to-text service for transcription, passes the transcript to Claude with a prompt that returns a summary plus action items, deal stage, and objections, strips out personal data like phone numbers, and writes the finished note onto the matching contact in your CRM. The rep records as usual; the note appears on its own.
Claude returns four things a manager actually reads, in consistent JSON:
📋
Summary
A three-to-five-line plain account of what the call covered — readable in one scroll, no jargon.
✅
Action Items
The concrete next steps and who owns them, pulled out as a checklist instead of buried in prose.
🚧
Objections
What the prospect pushed back on — price, timing, a competitor — so the rep can prepare a response.
📊
Deal Stage
An inferred stage and suggested next-step date, keeping the pipeline current without manual updates.
## Why Build This Now?
Two things changed that make this cheap and reliable. Transcription got cheap and accurate — OpenAI's Whisper-class models and hosted speech-to-text now handle Indian-accented English well enough for sales calls. And Claude is good at structured extraction: give it a transcript and a schema, and it returns clean, consistent fields rather than a rambling paragraph. n8n stitches the two together with no glue code to maintain.
The business case is simple. A rep on five calls a day who skips notes loses the context of 25 conversations a week. CRM data goes stale, handovers break, and the manager flies blind on the pipeline. Automating the note removes the one task reps reliably skip. For the foundational n8n concepts, our rundown of the 9 n8n workflows we ran most in 2025 is a good primer.
Different from our other call flows: our missed-call auto-callback flow handles calls that never connected. This one handles calls that did — turning the recording into a written record. Use both together for full call coverage.
## What You'll Need
A short prerequisites checklist before you open n8n. Everything here has a free or low-cost tier.
n8n — self-hosted (₹740/month Hetzner CX22) or n8n Cloud. Version 1.x.
A call-recording source — a cloud folder (Google Drive, S3) where recordings land, or a dialler that drops files there.
A transcription service — OpenAI's audio transcription API, or a self-hosted Whisper instance for data-residency.
An Anthropic API key — for Claude. A model like Claude Haiku keeps cost low; Sonnet for tougher calls.
CRM API access — HubSpot, Zoho CRM, Pipedrive, or your custom CRM with a notes endpoint.
Consent in place — recording and processing calls needs a lawful basis under the DPDP Act. Confirm this first.
## How Does the Flow Work, Node by Node?
The workflow is nine nodes. Each does one job and hands off to the next. Here is the shape before the step-by-step.
📁
Trigger: new file in folder
🎙️
Transcribe audio
🧹
Redact PII
🧠
Claude: summarise + extract
🔎
Match contact in CRM
📝
Write note to CRM
## The DIY Walkthrough (Build It Step by Step)
1
Set the trigger on your recordings folder
Add a Google Drive Trigger (or S3 / local-folder watch) set to fire on a new file in your "call-recordings" folder. Configure it to poll every minute. Verify: drop a test audio file and confirm the workflow starts. The trigger should output the file ID and name.
2
Download and transcribe the audio
Add a node to fetch the file binary, then an HTTP Request node calling your transcription API with the audio. For OpenAI's transcription endpoint, send the file as multipart form data with the model parameter set. Verify: the node returns a text transcript of the call. For data-residency, point this at a self-hosted Whisper instead.
3
Redact PII from the transcript
Add a Code node that runs regex over the transcript to mask phone numbers, email addresses, and any card or Aadhaar-like number patterns before the text goes anywhere else. Replace matches with a tag like [REDACTED-PHONE]. Verify: feed a transcript containing a number and confirm it comes out masked. Do this before the Claude call, not after.
4
Send the transcript to Claude with a schema prompt
Add an HTTP Request node to the Anthropic Messages API. In the prompt, give Claude the redacted transcript and ask for strict JSON with named fields: summary, action_items, objections, deal_stage, next_step_date. Tell it to return only JSON. Verify: the node returns parseable JSON with all five fields populated for a real call.
5
Parse the JSON and handle failures
Add a Code node to parse Claude's JSON safely. Wrap it in a try/catch so a malformed response routes to an error branch instead of crashing the run. Verify: paste a deliberately broken response and confirm it lands in the error path, which posts a Slack alert rather than failing silently.
6
Match the call to a CRM contact
Add a node that searches your CRM for the contact — by the file name convention (many diallers name files with the phone number) or a lookup table mapping recordings to deals. Verify: the node returns exactly one contact ID. If it returns zero or many, route to a "needs manual match" queue rather than guessing.
7
Write the note to the CRM
Add a CRM node (HubSpot, Zoho, Pipedrive) that creates a note on the matched contact. Format the note with the summary at top, action items as a checklist, objections, and the suggested next step. Verify: open the contact in the CRM and confirm the note appears, readable and complete, within about two minutes of the upload.
8
Add a confirmation and clean-up step
Post a one-line Slack message to the rep ("Note added for [contact]") and move the processed recording to a "done" folder so it is not re-processed. Verify: the rep gets the ping and the file moves. This closes the loop and keeps the trigger folder clean.
If you would rather we just build this on your CRM and dialler, our AI automation team ships a working v1 in about 7 working days, including the PII redaction and the consent-handling around it.
## What Does It Cost to Run?
The per-call cost is small and dominated by transcription length, not the Claude summary. A rough breakdown for a 15-minute call:
At under ₹3 a call, a team doing 500 calls a month spends roughly ₹1,500 in usage plus the fixed ₹740 n8n host. Against the time reps save and the pipeline accuracy gained, it pays back fast. Use Claude Haiku for routine calls and route only flagged, high-value calls to Sonnet if you want richer analysis.
## Common Mistakes (And How to Avoid Them)
Four pitfalls we hit building this, each with the symptom first.
Symptom: personal data ends up in the CRM note. Cause: redaction runs after Claude, or not at all. Fix: redact in step 3, before the transcript leaves your workflow for the model. Never send raw numbers to an external API if you can mask them first.
The second: Claude returns prose instead of JSON, breaking the parser. Cause: a loose prompt. Fix: instruct it to return only valid JSON, give an explicit field schema, and keep the try/catch error branch from step 5 so a bad response alerts you instead of corrupting a note.
The third: the wrong contact gets the note. Cause: a fuzzy match returning multiple contacts. Fix: only auto-write when the match is exactly one; send zero-or-many matches to a manual queue. A note on the wrong deal is worse than no note.
The fourth: transcription mangles Indian names and product terms. Cause: a generic model with no vocabulary hints. Fix: pass a prompt or vocabulary list of your product names and common client names to the transcription step, and accept that names may still need a human glance on big deals.
When not to automate the write: for regulated or high-value calls — legal, financial advice, large contracts — have the flow draft the note but leave it for the rep to approve before it is saved. Full auto-write is right for routine sales calls, not for calls where a wrong summary carries real liability.
## A Real Example: A 12-Rep SaaS Sales Team in Gurugram
A Gurugram B2B SaaS firm — 12 reps, HubSpot, recordings dropping into Google Drive from their dialler — had a chronic empty-notes problem. Managers could not trust the pipeline because half the calls had no record of what was discussed. Hrishikesh, our CTO, built this flow over a few days. The trigger watched the Drive folder; transcription ran on a hosted Whisper for data-residency; redaction masked phone numbers; Claude Haiku returned the five structured fields; the note landed on the HubSpot contact with a Slack ping to the rep.
Within the first week, every connected call had a note without a rep writing one. The manager could finally read a deal's history in one scroll. We added the manual-approval branch for their enterprise tier, where a wrong summary on a large contract was not acceptable. It is the same build pattern we use across our AI automation work and on in-house products like TalkDrill, our English-speaking app, where we run similar transcribe-and-extract pipelines on voice.
Outcome: Call notes went from roughly half of calls to every connected call, with zero extra rep effort, at under ₹3 a call — and the sales manager got a pipeline they could actually trust.
For proof of work on larger CRM and pipeline builds, see how we built Radiant Finance's lead pipeline.
## Frequently Asked Questions
### How much does it cost to summarise one call?
For a 15-minute call, expect under ₹3 total — roughly ₹2.20 for transcription and ₹0.60 for a Claude Haiku summary, plus a fixed n8n host of about ₹740 a month. At 500 calls a month, usage runs near ₹1,500 on top of the host. Transcription length drives most of the cost.
### Is it legal to record and process customer calls in India?
You need a lawful basis and, in most cases, consent under the DPDP Act. Confirm your call-recording consent covers automated processing and storage before deploying this flow. The redaction step reduces stored personal data, but consent and a clear retention policy still come first.
### Which transcription service handles Indian-accented English best?
OpenAI's Whisper-class models handle Indian-accented English well for sales calls, and a self-hosted Whisper gives you data-residency control. Pass a vocabulary list of your product and client names to improve accuracy on proper nouns, which generic models often mishear.
### Why use Claude instead of just the transcript?
A raw transcript is long and unstructured. Claude turns it into the fields a manager actually reads — summary, action items, objections, deal stage, next step — in consistent JSON. Asking for a strict schema means every note has the same shape, which the CRM can store cleanly.
### What happens if Claude returns a broken response?
The flow parses the JSON inside a try/catch. A malformed response routes to an error branch that posts a Slack alert instead of writing a corrupt note or crashing the run. You fix or re-run that one call without affecting the rest.
### Can it write to my custom CRM, not just HubSpot or Zoho?
Yes. Any CRM with an API that accepts a note on a contact works. n8n calls it with an HTTP Request node. The only custom part is the contact-match logic, which depends on how your recordings map to your CRM records.
### Should every call be auto-written without review?
No. Routine sales calls are fine to auto-write. For regulated or high-value calls — legal, financial, large contracts — have the flow draft the note and leave it for the rep to approve, since a wrong summary there can carry real liability.
Want call-summary automation on your CRM?
We build this n8n + Claude flow on your dialler and CRM — with PII redaction and consent handling — and ship a working v1 in about 7 working days. Typical project: ₹55,000–₹95,000. Suitable if your reps skip call notes and your pipeline data is going stale.