Document Synthesis
How to run a second-pass analysis on documents you've already ingested -- finding patterns, trends, contradictions, and insights that the first pass missed.
Why Synthesis?#
When Coppermind ingests a document (transcript, email thread, pasted content), the first pass extracts memories chunk by chunk. This catches individual facts, decisions, and commitments. But it can miss things that only become visible when you look at the whole document:
- Patterns -- recurring themes across a long transcript ("the client keeps circling back to budget concerns")
- Contradictions -- conflicting statements within the same meeting ("said Q3 launch is firm, but later said timeline depends on hiring")
- Trends -- shifts in sentiment, priorities, or strategy over the course of a conversation
- Cross-reference insights -- connections between what was said and existing knowledge in the client mind
Synthesis runs a full-document analysis pass to catch these.
When Synthesis Runs#
Automatically After Ingestion#
When a document is ingested and produces 3 or more extracted memories, it is automatically queued for synthesis. A background daemon processes the queue every 15 minutes.
You do not need to trigger this manually for normal workflow. Documents from transcripts, emails, and paste-in-chat are all eligible.
Manually#
Run synthesis on demand when you want deeper analysis of a specific document or recent batch:
"Synthesize the latest document for Acme"
"Run synthesis on all unprocessed documents"
"Synthesize the document from the March 25 meeting"
Using the Tool#
Analyze the Most Recent Document#
"Synthesize the latest document"
This processes the most recently ingested document for the active client mind.
Analyze Recent Documents#
"Synthesize recent documents"
Processes the last 5 un-synthesized documents for the active client mind.
Analyze All Unprocessed Documents#
"Synthesize all documents"
Processes every document that has not yet been through synthesis.
Target a Specific Document#
"Synthesize the document with source ref granola-meeting-abc123"
Say "show me the documents stored for Acme" first to find the specific document you want to analyze.
Force Past the Daily Cap#
Synthesis has a daily cap to manage LLM costs. If you need to process more:
"Force-synthesize all documents for Acme"
The force parameter bypasses the daily cap and minimum thresholds.
What Gets Produced#
Synthesis creates new memories linked to the source document. These memories have source_type: "synthesis" so you can distinguish them from first-pass extraction.
The return summary tells you what was found:
| Field | Description |
|---|---|
documents_processed | Number of documents analyzed |
insights_found | New pattern/trend insights discovered |
contradictions_found | Conflicting statements identified |
skipped | Documents skipped (already synthesized, below threshold) |
detail | Per-document breakdown with word count and insight list |
Example Output#
Synthesized 3 documents for Acme:
- Q2 planning call (8,500 words): 3 insights
- Budget concerns mentioned 4 times, suggesting this is a blocker
- Contradicts previous commitment to April launch
- Sarah's tone shifted from enthusiastic to cautious mid-call
- Weekly standup (2,100 words): 1 insight
- Team velocity declining — 3rd consecutive week below target
- Email thread: rebrand discussion (1,400 words): 2 insights
- Decision to hire external agency contradicts Q1 rock to build in-house
- Timeline dependency on logo finalization not captured in sprint plan
Practical Use Cases#
Pre-Meeting Deep Prep#
Before an important meeting, synthesize recent documents to surface patterns the client may not be saying directly:
"Synthesize recent documents for Acme"
"Now prep my meeting with Sarah at Acme"
The meeting brief will include synthesis-derived insights alongside standard memories.
Quarterly Review#
At quarter end, synthesize all unprocessed documents to catch trends and contradictions before the quarterly review:
"Synthesize all documents for Acme"
"Run a quarterly review for Acme"
Conflict Detection#
When you suspect a client is saying one thing in meetings and another in emails, synthesis can flag the contradiction:
"Force-synthesize all documents for XSCAPE"
"Search for contradictions in XSCAPE"
Error Reference#
| Problem | Cause | Fix |
|---|---|---|
| "No client selected" | You haven't switched to a client and didn't name one | Switch to the target client first |
| "I can't find that client" | The client name doesn't match | Check the name ("list my clients") |
| "There are no documents to analyze" | Nothing's been ingested for this client yet | Ingest some documents first |
| "You've hit today's synthesis limit" | The daily cap protects against runaway cost | Wait until tomorrow, or ask to run it anyway |
| "I'm not sure how far back to look" | The scope wasn't clear | Say "latest," "recent," or "all" |
Ready to try this yourself?
Coppermind is free to start and runs inside Claude. Your first meeting prep will convince you.
Try Coppermind Free