The pipeline runs: transcript in → summary and action items out → results written into the CRM or project tracker. Claude does the language work; speech-to-text and the writeback integration are conventional components you already choose separately. Everything in the core loop uses the standard Messages API, so it runs on all four 3P platforms.
Ingestion: transcripts are long-context work
An hour-long meeting produces a transcript comfortably within Claude's context: most current models offer a 1M-token context window, with Haiku 4.5 at 200K. Follow Anthropic's documented long-context guidance — it exists precisely for inputs like transcripts (20k+ tokens): put the longform data at the top of the prompt and the question or instruction at the end (this alone can improve response quality by up to 30%), and wrap each input in XML tags such as <transcript> with a <source> subtag carrying meeting metadata. For multi-meeting analysis, wrap each transcript as its own <document>.
Speaker attribution is upstream work. Claude reads whatever speaker labels the transcript carries; separating voices (diarization) is the transcription service's job. The recommended practice: pass the speaker-labeled transcript plus an attendee list with roles, and instruct the model to attribute statements only to labeled speakers and to mark anything ambiguous as unattributed rather than guessing. Garbage labels in, confidently mislabeled action items out.
Extraction: one schema, one owner per item
Force action items into a schema with structured outputs (generally available on the Claude API, Claude Platform on AWS, Bedrock, and Vertex AI; beta on Foundry): description, owner, due-date text, the supporting quote, and a flag for "commitment vs. suggestion". Remember schemas can't carry numeric bounds or string-length limits (400 error if you try) — validate dates and owner names in code, ideally against the attendee list. An extracted owner who wasn't in the meeting is an exception, not a record.
Grounding: prove it was said
For summaries that leadership or legal will rely on, use citations: enable "citations": {"enabled": true} on the transcript document block and every claim in the output can carry cited_text pointing back to the exact transcript span (plain-text documents cite at sentence level via char_location). Two documented details: cited_text doesn't count toward output tokens, and citations cannot be combined with structured outputs in the same request — a 400 error. The recommended shape is therefore two passes: a citation-grounded summary pass, and a separate structured extraction pass for action items (whose schema includes the supporting quote you can string-match against the transcript in code).
CRM writeback
Two architectures, chosen by platform:
- Tool use (works everywhere): define client tools like
create_crm_taskwith a JSON Schemainput_schema; Claude responds withtool_useblocks, your application executes the CRM API call and returns atool_result(with"is_error": trueon failure so the model can react). Addingstrict: trueto the tool definition guarantees the call matches your schema exactly. Tool use is core API, available on all platforms. - MCP connector (platform-limited): if your CRM exposes an MCP (Model Context Protocol) server, the API-side MCP connector can call it directly — but it's beta and available only on the Claude API, Claude Platform on AWS, and Foundry, not on Bedrock or Vertex AI. On those two, keep writeback in your own tool-execution code.
Either way, apply the writeback disciplines from webhook automation: idempotent upserts keyed on meeting ID plus item hash, machine-generated attribution, and a human-visible "suggested" state for anything customer-facing.
Scale and cost
Backfilling a year of recorded meetings is a batch workload — 50% pricing via the Message Batches API on the Claude API and Claude Platform on AWS (Bedrock and Vertex offer their own cloud-native batch inference instead); see batch analytics. For live daily volume, a common tiering is Haiku 4.5 for routine internal standups and a stronger model for customer calls, per model tiering.
Where to go next
Meeting summarization covers the simpler no-writeback version; citation grounding goes deeper on provenance; tool use 101 covers the writeback mechanics from scratch.