Give reps full customer context in 30 seconds: an AI face sheet for Salesforce
Reps waste the first minutes of every call reconstructing history. An AI-generated face sheet compresses every text, email, and call into a summary on the contact record, backfilled across a six-figure contact base for about half the usual cost.
A telehealth company had the data problem most scaled CRMs share: every contact carried months of texts, emails, and call logs, and none of it was readable in the moment that matters, the thirty seconds before a rep dials. Reps either skimmed raw history (slow) or skipped it (worse), and customers repeated themselves on every call.
The short answer
Two systems, working together:
- An AI summarization pipeline that assembles each contact’s SMS, email, and call history into one chronological transcript, sends it to a language model with a strict JSON schema, and writes three things back to the contact: a conversation timeline, an objections-and-concerns summary, and the customer’s stated goals.
- A face sheet component on the contact record that presents those AI fields alongside live CRM facts as context pills: coverage status, key dates, ownership, flags that change how the conversation should go.
A rep opens the record and reads, in plain language: where this person is, what they worry about, what they want. Thirty seconds, fully briefed.
The backfill problem, and the 50% discount
Generating summaries for new conversations is easy. The hard part was history: well over a hundred thousand contacts with existing threads. Running that through real-time AI calls would have been slow and expensive inside platform limits.
The answer was to move the backfill off-platform: an external batch pipeline that pulls conversation data, submits it through the AI provider’s batch API (about half the price of real-time calls, results within a day), and writes results back through the CRM API with idempotent, set-based bookkeeping of which contacts have been processed. The batch discount exists precisely for workloads like this; most teams simply do not know to reach for it.
One hard-won lesson: validate batch jobs by identity, not count. At one point duplicate batches processed the same contacts while counts looked plausible. Comparing the exact set of submitted IDs against returned IDs caught what totals never would.
Why the schema matters more than the prompt
The face sheet renders structured fields, so the model must return the same shape every time. We version one strict schema and enforce parity between the pipeline and the CRM components consuming it. Prompt wording changes freely; the contract does not. That discipline is what lets an LLM participate in a production UI without the UI growing defensive parsing code.
The payoff
Calls start in the substance instead of the recap. New reps sound senior on day one, because the institutional memory lives on the record instead of in tenured heads. The same structured fields also became inputs to other automation, which is the quiet pattern behind most good AI work in a CRM: a summary a human can read is also a feature a machine can use.
Common questions
What is a customer face sheet in a CRM?
A single panel on the contact record that answers, at a glance: who is this person, where are they in the journey, what has been promised, what are their objections and goals. Ours combines live CRM facts with an AI-written summary of every prior conversation.
How do you summarize conversations that happened across SMS, email, and phone?
Each channel's history is assembled into one chronological transcript per contact, sent to a language model with a strict output schema, and written back to dedicated CRM fields: a timeline, an objections summary, and stated goals.
What does it cost to run AI summaries across a large contact base?
Batch APIs from the major AI providers price roughly 50% below real-time calls in exchange for results within a day, which is exactly the right trade for backfilling history. Ongoing updates on active contacts cost pennies per contact per month.