REPORT-chat-message-analysis-2026-06-20.md12.1 KBView on GitHub # Cedar Chat Message Analysis — External Customers Only
**Date:** 2026-06-20
**Window analyzed:** 2026-02-01 → 2026-06-20 (~4.5 months, all available history)
**Corpus:** 3,014 **external-customer** user messages (role = `user`). Internal Cedar dogfooding (`@cedarcopilot.com`) — 3,548 messages, 54% of raw volume — has been **excluded**.
**Method:** Full external-only export from Postgres (`chat_messages` ⋈ `chat_threads`, domain ≠ cedarcopilot.com), LLM classification of every message into a 14-category taxonomy (3 parallel passes), cross-referenced with `agent_tool_calls` / `agent_executions` health metrics.
---
## 1. Methodology & data sources
User messages live in **`chat_messages`** (`role` = `user`), joined to **`chat_threads`** whose `page_key` is the channel discriminator. We kept only `role='user'` messages from non-cedarcopilot.com domains.
> **Coverage gap — read before citing channel totals.** SMS, WhatsApp, and iMessage bot conversations are stored **in Redis only** (`msg_thread:{id}`, 7-day TTL, last 20 messages) — `apps/server/src/services/messaging/thread-history.ts`. Only iMessage threads mirrored into `chat_messages` (14 external msgs) appear here; true SMS/WhatsApp volume is **not durably persisted and cannot be measured.** Customers' own Slack traffic ingested for CRM (`crm_slack_messages`) is a different dataset and excluded — this report is messages sent **to** Cedar's assistant. **First infra action item: persist bot-channel messages to Postgres.**
---
## 2. General overview (external only)
### Volume & growth
| Month | External user msgs |
|---|---:|
| 2026-02 | 94 |
| 2026-03 | 303 |
| 2026-04 | 631 |
| 2026-05 | 822 |
| 2026-06 (to 20th) | **1,164** |
External usage is accelerating — June alone (partial) is already 42% above all of May, and ~12× February. This is the real growth signal, undiluted by internal testing.
### Who's using it (top external users)
| User | Org | Msgs |
|---|---|---:|
| <email> | SimCare | 585 |
| <email> | Superglue | 441 |
| <email> | Reform | 426 |
| <email> | Mintlify | 243 |
| <email> | Warp | 147 |
| <email> | ListenLabs | 136 |
| <email> | Strac | 106 |
| <email> | Edexia | 80 |
| max / noah / lindsay @teachwithscout.com | TeachWithScout | 190 (combined) |
| <email> · <email> · <email> · <email> | — | 39–59 each |
**Adoption is concentrated:** the top 3 orgs (SimCare, Reform, Superglue) = **48%** of all external messages; the top 6 = **76%**. Cedar's external story is currently a handful of design-partner power users, not broad-based usage.
### By channel
| Channel | Msgs |
|---|---:|
| in-app | 2,743 (91%) |
| task_invocation | 88 |
| mail / home / crm / calendar (legacy keys, Feb–Mar) | 117 |
| slack (since Jun 8) | 35 |
| imessage (since Jun 6) | 14 |
| playground-aop-editor | 14 |
In-app is essentially the entire external surface. Slack and iMessage bots are brand-new and barely used.
---
## 3. Request buckets (what external customers ask for)
Every message classified into exactly one primary category. % = share of the 3,014 external messages.
| # | Category | Share | What it is |
|--:|---|---:|---|
| 1 | **Email drafting** | **40.3%** | Follow-ups, recaps, outreach, rewrites, "make it more X" |
| 2 | Acknowledgment / chitchat | 8.7% | "yes", "looks correct", "keep going", greetings |
| 3 | **Config / memory / behavior** | 7.9% | "remember this", edit AOP/playbook, CC rules, voice, agents |
| 4 | **Meeting / call notes** | 7.5% | "what did X say", pull transcript/recording, pain points |
| 5 | CRM update / action | 6.4% | Close/move deals, MEDDPICC, update Salesforce/HubSpot/Attio, tasks |
| 6 | Sales coaching | 5.1% | Positioning, objections, talk tracks, SAYA/MEDDPICC, competitive |
| 7 | Deal summary / status | 5.1% | "how is this deal going", blockers, recaps |
| 8 | CRM query / filter | 4.6% | "which deals…", overdue opps, find uncreated deals |
| 9 | Document creation | 4.4% | Decks, business cases, MAPs, ROI docs, handoff docs |
| 10 | Next steps | 3.7% | "what should I do next", agenda for this call |
| 11 | Other | 3.2% | Meeting-prep agent invocations, security probes, off-topic |
| 12 | Research (person/company) | 2.5% | Enrichment, pre-meeting intel, ICP checks |
| 13 | Calendar / scheduling | 2.4% | Availability, book meetings, invites |
| 14 | Correction / feedback | 2.4% | "that's wrong", "be more specific" *(under-counts true dissatisfaction — see §5)* |
### What changed when internal traffic was removed
- **Email drafting jumped from 28.8% → 40.3%.** It's even more dominant for real customers — 5× the next category. This is unambiguously *the product*.
- **Document creation (7.1%→4.4%), deal summaries (7.5%→5.1%), and sales coaching** all shrank — those were inflated by internal dogfooding and the canned demo prompts. Customers do these far less than the team does.
- **Calendar (1.4%→2.4%) and next-steps (2.9%→3.7%) rose** — these are genuinely external behaviors.
- **Config/memory stayed high (7.9%)** — and it's almost all from a few power users *programming Cedar's behavior in prose* (tone, CC rules, follow-up cadence, deal-stage definitions). A meaningful chunk of paid-customer effort goes into fixing defaults rather than getting work done.
### The intent stack (external)
- **Write for me** (drafting + docs + calendar): **~47%**
- **Tell me about my deals** (meeting notes + deal summary + CRM query + next steps + research): **~23%**
- **Do CRM work** (updates/actions): **~6%**
- **Make Cedar smarter / fix it** (config + corrections): **~10%**
### Representative external requests
- *"draft a follow up to the meeting with malte and philip just now, in german please"* (superglue.ai)
- *"modify the email to be more attack mode vs asking for feedback… highlight the top things Rippling can't do"* (warp.co)
- *"Please find all conversations in the demo/negotiating stage that have overdue next steps"* (strac.io)
- *"can you update meddpicc in salesforce?"* (mintlify.com)
- *"what did tobias say I should follow up with Jermain on"* (superglue.ai)
- *"edit my follow up instructions so when I send an email, follow up every 3-7 days"* (r41.tech)
- *"Act as a sales coach. Review the most recent call and provide feedback"* (mintlify.com)
---
## 4. What's working ✅
1. **Follow-up drafting is the killer use case** — 40% of external traffic, with daily repeat usage from every power user. The clearest product-market-fit signal in the data.
2. **Voice-matching is the moat when it lands.** Nearly all of the (rare) praise is for drafts that nailed tone — *"looks great", "that's perfect", "yey"*. When the draft sounds like the user, they ship it with one word.
3. **Meeting-history recall is differentiated and relied upon** — 7.5% of messages ask Cedar to recall what was said on specific calls ("when did Postman come up in our calls?").
4. **Core CRM read/update plumbing is reliable.** `select-primary-company` 0.0% fail, `lookup-company-fuzzy` 0.0%, `list-tasks` 0.1%, `get-conversation` 3.1%, `update-next-steps-and-tasks` 0.5%. Overall: ~497k completed executions vs ~4.9k hard failures (~1%).
5. **Power users are investing** — 8% of their messages tune AOPs/playbooks, which only happens when customers intend to make Cedar permanent.
---
## 5. What's NOT working ❌
Among external customers, frustration fired on **4.3%** of messages, bug reports on **3.0%**, and explicit praise on only **0.7%** — a **6 : 1 frustration-to-praise ratio.** Note the low `correction_feedback` category count (2.4%) *understates* dissatisfaction: much of it surfaces as the next drafting request or a frustrated re-send rather than a tidy "that's wrong." Failure modes, in priority order:
### A. Artifact persistence & visibility — the #1 complaint
Drafts/docs silently fail to save, land in the wrong thread, or render blank — the single most repeated external friction:
- *"wheres draft"* (hamming.ai) · *"i dont see the draft"* (strac.io) · *"where is the draft I sent to them today?"* (superglue.ai)
- *"why didn't my drafts save??? where is it"* (superglue.ai) · *"the file is not here"* (mintlify.com)
- Corroborated: **`write-document` fails 8.7%** (5,132 failures), **`draft-email` fails 6.6%** (1,319) — the worst of the high-volume tools.
### B. Automations silently not firing
Scheduled/triggered agents (post-meeting follow-ups, daily agenda, pre-meeting Slack pings) don't run; users only notice their absence:
- *"why are post meeting follow ups not populating in my inbox anymore?"* (simcare.ai)
- *"Is there a reason why we didn't get notified for the two kickoff calls we had at 2:00 PM Eastern?"* (simcare.ai)
- *"why didnt this prompt a follow up email"* (strac.io)
- Corroborated: **20,697 executions stuck in `executing`** (never reached a terminal state) over 90 days; `pre-execution-setup` fails **13.2%** (17,184) — likely an upstream cause.
### C. Send / CC mechanics
- *"that didn't work still noone in cc and also why do you keep saying you can't send the email?"* (superglue.ai)
- *"yeah its still not working. just update the html file and i will download"* (mintlify.com)
### D. Deal/entity mis-resolution
Cedar attaches emails/actions to the wrong deal, or creates deals for non-deals:
- *"Are you a fucking idiot? The email I'm providing you is someone that isn't linked to that fucking school at all"* (edexia.ai)
- *"what? they are not testing the use cases, I am"* (r41.tech)
### E. Grounding / fact fidelity
- *"thats not accurate try again"* (reformhq.com) · *"this draft doesn't reiterate how superglue can help and is very surface level"* (superglue.ai)
- Notably, customers frequently **paste call transcripts inline** because Cedar couldn't retrieve the meeting itself — a recurring workaround that signals a retrieval gap.
### F. Config that doesn't stick
Power users re-teach the same rule repeatedly — a retention risk:
- *"why are you messing this up consistently? I need you to fix this in your knowledge base or agents or whatever"* (simcare.ai)
- *"can you fix your understanding so this shit doesnt happen anymore"* (simcare.ai)
### G. Latency / mid-run halts
- *"whats taking so long"* (mintlify.com), plus recurring "are you stuck / why did you stop".
**Frustration is concentrated in the highest-value accounts** — SimCare, Superglue, Edexia, Mintlify (the power users) generate the most profane, churn-risk-flavored complaints, almost all about *reliability of configured behavior*, not raw drafting quality.
---
## 6. Recommendations (priority-ordered)
1. **Fix artifact persistence & visibility (drafts/docs).** Highest-frequency external complaint *and* worst tool failure rates. Guarantee drafts surface in the right thread with a visible confirmation — make "where did my draft go" impossible.
2. **Instrument & alert on silent automation failures.** 20,697 stuck executions; investigate `pre-execution-setup` (13.2% fail). Surface failed/stalled scheduled runs proactively instead of letting users discover no-shows.
3. **Make remembered config actually stick.** Repeated re-teaching by paying power users is the clearest churn signal; audit why org/playbook preferences aren't applied consistently.
4. **Close the meeting-retrieval gap.** Customers paste transcripts because Cedar can't fetch them — fixing native Gong/Granola/Circleback/Fathom retrieval removes a daily workaround and strengthens the #4 use case.
5. **Add a pre-flight deal/entity match confirmation before CRM writes** (literally requested by a customer) to kill mis-resolution.
6. **Persist bot-channel messages (SMS/WhatsApp/iMessage)** so cross-channel can be measured at all.
7. **Lean into the wedge:** Cedar is a *follow-up-drafting + meeting-recall* engine for external users. Make those two paths "never wrong, never lost" before broadening surface area.
---
*Reproducibility: external-only export at `/tmp/chatanalysis/ext_messages.jsonl` (3,014 rows); per-batch classifications at `/tmp/chatanalysis/ext_result_*.json`. Counts from `chat_messages` where `role='user' AND deleted_at IS NULL AND domain <> 'cedarcopilot.com'`. Tool/execution metrics scoped to last 60–90 days from `agent_tool_calls` / `agent_executions` (whole-fleet, not external-isolatable).*