Skip to content
← Processes

Prepare for a customer call

Before the call, the last conversations, the account's state, how the product is actually used, and where requested features stand, in one brief.

Google Calendar→Granola→Attio→PostHog→Linear→Slack
Starts
Customer meeting on the calendar
Steps
5
Checks and gates
0
A person decides
Never, runs alone

Trigger · Calendar

Customer meeting on the calendar

The next customer meeting on the calendar opens the run, timed so the brief is waiting before anyone joins.

Google Calendar

Claude runs the rest autonomously

  1. 1

    AI quotes requests from past calls.

    Granola

    Granola

    Recorded calls are found by company as well as attendee, and every request comes back in the customer's own words.

  2. 2

    AI recaps plan, renewal and contacts.

    Attio

    Attio

    Plan, renewal date and contacts come back, with anyone who spoke on past calls but is no longer on the record flagged.

  3. 3

    AI compares usage with what they said.

    PostHog

    PostHog

    Active users over the quarter and features they stopped using come back, set against what they said last time.

  4. 4

    AI gives each request its status.

    Linear

    Linear

    Each request is matched to its issue by substance rather than wording, and the ones with no ticket at all are named.

  5. 5

    AI posts the brief, biggest risk first.

    Slack

    Slack

    The brief opens on falling usage, a departed champion, a missed commitment or a near renewal, with the detail underneath.

Customer call preparation is four systems and about twenty minutes, so in practice it is one system and about two. Someone opens the CRM, sees the plan and the renewal date, skims the last email thread, and goes into the call. What they do not have is whether the account has been using the product since the last conversation. That one fact decides how the call should go.

All four systems are already recording the answer. The calls are transcribed, the account is in the CRM, the usage is in analytics, and the feature requests are tickets with statuses. Nobody joins them because joining them means opening four tabs before every call, every week, forever.

What you get

One brief in the channel before every customer call, joining what they said last time with what they have actually been doing since and where their requests now stand.

What the customer call brief is built from

The run opens from the next customer meeting on Google Calendar, timed so the brief is waiting before anyone joins. It reads four systems, each for a question the others cannot answer:

  • Past calls, from Granola, found by attendee email and separately by company domain, since a call is recorded by whoever hosted it. Only what carries forward is kept: anything they asked for and whether it was promised, anything either side committed to with a date, and any complaint with whether it was resolved. Requests are quoted in the customer's own words.
  • The account record, from Attio: plan, renewal date, owner, open opportunities and support history. Anyone who appeared on past calls but is no longer on the record has probably left, and a departed champion is the most important line a brief can carry.
  • Product usage, from PostHog: weekly active users over the last quarter and their direction of travel, which features the account uses and which it has stopped using, and whether it uses the thing it bought the product for or only the edges of it.
  • Request status, from Linear: for each request found on the calls, whether it shipped, is in progress with a target, sits in the backlog, or was declined.

The brief is posted to Slack before the meeting.

What makes customer call prep hold up

The contradiction between what they said and what they did is the highest-value line in the brief, and no single system can produce it. "We are rolling this out to the wider team next month", said on a recorded call in April, sitting next to a user count that has not moved since, is a specific and answerable question. Either system alone shows nothing worth mentioning. The call sounds positive. A flat user count, with no promise attached to it, is a number.

Usage is read as a direction across the quarter, since a flat number can hide a halving followed by a recovery. The same goes for features: one the account used weekly until two months ago and has not touched since is a specific question to ask on the call.

Match feature requests on substance, not on wording, or the brief turns actively harmful. A customer says "we need to see who changed what" and the ticket is called "audit log". A literal match finds nothing, the brief reports no ticket, and the rep goes into the call apologising for something that shipped six weeks ago. Semantic matching, plus an explicit "no ticket found" for genuine misses, is the only version safe to trust. A request with no ticket is an item for the call, not an omission.

Biggest risk first

Leading with the worst true thing rather than with a chronological summary is a formatting decision that determines whether the brief gets read. Someone opens it ninety seconds before a call. If a departed champion is in the fourth paragraph it may as well not be in the brief at all.

So the brief opens on whichever of these is true and most serious: usage has fallen materially, a champion has left, a commitment was made and missed, or the renewal is inside ninety days. The detail follows: what they asked for and where it stands, what they use and what they stopped using, and the open commitments on both sides.

The prompt

The real prompt behind the steps above, detailed enough that an agent with the same tools can run it as written. The Run buttons copy the full version, which also carries the steps for connecting those tools.

# Prepare for a customer call

You have access to a call-recording tool, a CRM, product analytics, an
issue tracker, and a messaging tool. Run this for **[the account and
the meeting time]**.


## 1. Quote requests from past calls

Find the recorded calls with this account, most recent first. Search
by attendee email and separately by company domain, since a call is
recorded by whoever hosted it.

Extract only what carries forward:

- Anything they asked for, and whether it was promised.
- Anything either side committed to, with a date.
- Any complaint, and whether it was resolved.

Quote the request in their words. It is what step 3 has to match
against the tracker, and a paraphrase into internal vocabulary is
exactly what makes that match fail.

## 2. Recap plan, renewal and contacts

Pull the account record: plan, renewal date, owner, open opportunities,
and any support history. Note whether the renewal falls within ninety
days, because that changes what the brief should lead with.

Check the contacts. Anyone who appeared on past calls but is no longer
on the account record has probably left, and a departed champion is
the single most important line in this brief.

## 3. Compare product usage with what they said

This is the half a CRM cannot answer.

- Weekly active users over the last quarter, and the direction of
  travel. A flat number hides a halving followed by a recovery.
- Which features they use, and which they have stopped using. A
  feature they used weekly until two months ago and have not touched
  since is a specific, answerable question for the call.
- Depth: are they using the thing they bought it for, or only the
  edges of it?

Compare against what they said on the last call. "We are rolling it
out to the wider team next month" said in April, against a flat user
count in June, is the most useful contradiction the brief can carry.

## 4. Give each request its status

For each feature request from step 1, find the matching issue in the
tracker and report its real status: shipped, in progress with a
target, backlogged, or declined.

Match on the substance of the request, not on wording. A customer
asking for "a way to see who changed what" and an internal ticket
called "audit log" are the same thing, and reporting no match is
worse than useless because it means the call repeats a request
somebody already actioned.

Where a request has no matching ticket, say so. That is an item for
the call, not an omission.

## 5. Post the brief, biggest risk first

Post to the channel before the meeting, led by whichever of these is
true and most serious:

- Usage has fallen materially.
- A champion has left.
- A commitment was made and missed.
- The renewal is inside ninety days.

Then the detail: what they asked for and where it stands, what they
use and what they stopped using, and open commitments on both sides.

## Output

Report: calls found, requests extracted and matched to tickets,
requests with no ticket, usage direction, features abandoned, contacts
who appear to have left, and open commitments.

Why run it with Tulina

A prompt helps one person. A process moves a team.

Pasted into a chat, the prompt above works once, for whoever pasted it. In Tulina, "Prepare for a customer call" becomes a process the team shares, that keeps its history, runs on its own, and stays inside the same security perimeter as the tools it calls.

  • The whole team works on the same one

    PersonalTeamOrganisation

    A process lives where it belongs: yours, your team's or the whole organisation's. Whoever runs it can improve it, and everyone starts from the best version instead of explaining the job again.

  • Every edit is a version

    v1v2v3

    Each change is a new version with the previous one kept, so a bad edit is undone by restoring an earlier one. Every run records the version it followed, and what a run teaches goes back into the process.

  • It runs without you

    schedulewebhookon demand

    A hosted agent runs the process on Tulina's own infrastructure, on a schedule or when an event arrives, and keeps going when you close the chat. Nothing to host. Every run is tracked to its outcome.

  • Inside the same security perimeter

    vaultrolesrun log

    Credentials stay in the vault, never in the prompt. Roles decide who may run what, every call is logged, and a step a person has to approve waits for that person.

Questions about customer call preparation with AI

Yes. An agent with access to call recordings, the CRM, product analytics and the issue tracker can join what the customer said on past calls with how they have used the product since and where their requests stand, and post one brief to the team channel before the meeting.

Because they answer different questions. The CRM says whether anyone has spoken to the account lately; analytics says whether the account is still getting value. Those two disagree often enough that reading only the first is how a renewal gets lost quietly.

On substance rather than wording. A customer asking for "a way to see who changed what" and a ticket called "audit log" are the same request, and reporting no match there would cause the call to repeat something already delivered. Where a request has no ticket at all, the brief says so, which makes it an item for the call.

Whichever is true and most serious, among usage falling materially, a champion having left, a missed commitment, or a renewal inside ninety days. The detail follows underneath, but the first line is the thing that changes how the call should go.

Processes that share tools with this one. The shared tools are lit.

See Tulina in a 30-minute demo.

Book a demo