Guide
How to prepare for a client check-in call: what we still owe them?
You prepare for a client check-in by writing a short owed list before you join: what you promised, what is still open from the last emails and Slack threads, what they still owe you, and the one question to ask. Last meeting's notes are a record of that hour. A LinkedIn bio is who they are. Neither is the list of what you still owe them.
By The Concrete team · Published
We make Concrete.
What the job actually is
You prepare for a client check-in by writing a short owed list before you join. Five lines is enough: what you agreed, what is still open, and the question you should ask. A status recap of everything that shipped is catch-up. A transcript is notes. The check-in is the open work.
Account leads, CS leads, and founders run these calls back to back. By the fourth call the first minutes are a search through Gmail and Slack for what was promised. Walking in cold, then asking the client to recap the account, is the leak. The last threads already name the open lines. The call exists to close them.
The buying prompt collapses four jobs: notes after the call, a LinkedIn bio, a recap of shipped work, and the owed list from last emails and Slack. Open asks that sit overnight are a neighboring job, on the daily summary of open client asks. Promises you typed in email are on how to stop forgetting emails you promised. The standing brief from calendar and email is on AI that preps you before every meeting.
What belongs on the owed list
Write the list before you open the deck. If it does not fit on one screen, it is a recap, not prep. Name an owner and a date on every open line. A line with no owner is still a hope.
- What we promised since the last call. The deck, the fix, the intro, the date. Pull it from the last emails and Slack threads, not from memory. I'll send that Friday is the leak if Friday has passed.
- What was due and is still open. Work that had a date. Done, slipped, or waiting. If it slipped, say so in sentence one of that line. The client already knows they do not have it.
- Open asks still sitting in email or Slack. A question they asked after the last call, in a thread you have not closed. Slack Connect channels hide those in thread replies. Channel history that only reads top-level messages drops the actual ask.
- What they still owe us. Access, assets, a decision, a review. Put it on the same list, marked as theirs. One mixed status update hides who is blocked.
- The one question to ask. The decision that unblocks the next week. If you cannot name it, the call is a recap. Recaps belong in a note. Check-ins exist to close an open line.
Last-call notes are not the owed list
A recorder writes what happened on the last call. The owed list is what is still open before you join this one. Fireflies, Otter, and Read AI win the notes row. The default path is a visible notetaker on the call.
Fireflies Meeting Prep is last-call notes, not last emails. It pulls key points and open action items from previous meetings with the same attendees. A prep email goes out 1 hour before each recurring meeting. It is not on by default. If you have never met them, you get the attendee list and the calendar agenda. The deck you promised in email later is outside that brief.
Granola briefs land overnight in the meeting note: usually 2-3 bullets, from prior notes, calendar, optional Gmail, and the web. They need Business or Enterprise, Google Calendar, and an external meeting. Internal meetings get no brief. The notepad is the delivery, not Slack. Lindy's meeting prep wins the research row: job title, company, and LinkedIn for external attendees, plus a summary of past meetings. Delivery is email or SMS/iMessage. The built-in sections do not list last emails.
Leave this out of the check-in
The client already lived the week. The first minutes of the call are for what is still open. A bio, a transcript, and a shipped-work recap each steal that window.
| Leave this out | Put this in |
|---|---|
| A LinkedIn bio | The last emails and Slack threads with them. Who they are is research. What we still owe them is the check-in. |
| The full last-call transcript | Five lines: what we agreed, what is still open, the question to ask. A transcript is a record of that hour. |
| Everything we shipped since kickoff | What was due and is still open. Shipped work is catch-up. They already received it. |
| Just checking in | The named open item, the owner, and the date. A purpose-free check-in is a search the client has to do for you. |
| Asking them to recap the account | You read the owed list first. If you need them to remind you what you promised, the prep failed before you joined. |
| A CRM health score as the brief | The promise typed after the last call. A score does not name the deck, the fix, or the Friday that slipped. |
Where you look, and what you still miss
Fund the row that matches the leak. Notes after the call, a notepad brief, LinkedIn research, and a standing owed list from last emails are neighboring jobs.
| Where you look | What it gives you | What it misses |
|---|---|---|
| Last-call notes and a transcript | Fireflies, Otter, Read AI. A record of that hour, plus open action items spoken on the call. | Promises typed in email or Slack after you hung up. A bot on the call, unless you pick device audio. |
| A notepad brief from prior notes | Granola. 2-3 bullets overnight. Gmail is optional. External meetings only. | Internal check-ins. Delivery in Slack. A standing list of what is still open across the team. |
| LinkedIn and attendee research | Lindy. Title, company, LinkedIn for externals, plus past meetings. Email or iMessage. | Last emails, unless you customize the prompt. The owed list is a different job. |
| An on-demand prompt in Gmail | Ask Gemini. Summarize a thread, find earlier emails, ask about events on your primary calendar. | You still type the prompt. It does not fire a standing owed list before every check-in. |
| Judgment on a messy account | A human EA. What not to say, and what still matters after the thread went quiet. | No published list price. Does not scale across a back-to-back block on its own. |
| A standing brief in Slack from calendar, last emails, and open promises | Concrete. Before each Google Calendar meeting it posts a brief in Slack or Telegram: who is attending, the last emails and Slack threads, and what was promised and is still open. It never joins, records, or transcribes. Design-partner preview; see what it is. | Does not research attendees on LinkedIn or the web. Outlook and CRM meeting prep are a different setup. |
The caveat that should decide the setup
The failure operators name first is a bot on the call. A visible notetaker changes the room. Some clients get stiff. Otter Notetaker joins as FirstName's Notetaker (Otter.ai) and cannot join anonymously. Lindy's recorder joins visibly as a named participant. Granola listens on the device. Concrete never joins, records, or transcribes. Prep does not require a bot on the call.
The quieter failure is the next call with the same client starting from zero. Last meeting's transcript is a record of that hour. Then you are digging through old notes to remember what you promised. The promise you typed in email later, or the open ask in Slack Connect, is not in that transcript unless you recorded it there.
A third caveat is where the owed list posts. People in a Slack Connect channel can see messages from bots and apps. A half-right list of what you still owe, in the shared client channel, is an unchecked send. Keep the brief off the thread the client can read.
Concrete is an AI employee that works in existing Slack channels. Before each Google Calendar meeting it posts a brief in Slack or Telegram: who is attending, the last emails and Slack threads with them, and what was promised to them and is still open. It does not join, record, or transcribe the meeting. It does not research attendees on LinkedIn or the web. It is in design-partner preview; the longer thesis is on the vision page. Outlook and CRM meeting prep are a different setup. Spoken promises that never became a task are a neighboring job, on commitments from Slack threads.
A practical setup for back-to-back check-ins
This is the boring version that holds when the founder or account lead still owns the check-in. Pin it before the next back-to-back block.
- Write the owed list first. What we promised, what is still open, what they owe us, the one question. Five lines. If you cannot name the open line, you are not ready to join.
- Pull last emails and Slack, not last-call notes only. The leak is often typed after you hung up. Search the last threads with those people. Channel history hides thread replies unless you open them.
- Split we-owe and they-owe. One mixed status update hides who is blocked. Put their open items on the same list, marked as theirs. Ask for those in the first minutes.
- Put the brief where you will see it. A 5-line list only helps if you see it before you join. An overnight note in a notepad, an email you might miss, and a Slack ping are different delivery jobs. Keep it off the Slack Connect thread the client can read.
- Decide if a bot may join. A visible notetaker is a notes product. If the client would get stiff, pick device audio or skip recording. The owed list does not need a bot on the call.
Questions people ask
Is a transcript of the last client call enough to prep the next check-in?
No. A transcript is a record of that hour. The deck you promised in email later, and the open ask in Slack Connect, are not in it unless you said them on the call. Fireflies Meeting Prep pulls prior meetings. The owed list is last emails and Slack threads plus what is still open.
Should a notetaker join the client check-in call?
Only if you also want notes. A visible notetaker changes the room. Otter cannot join anonymously. Lindy's recorder joins as a named participant. Granola listens on the device. Concrete never joins, records, or transcribes. Prep does not require a bot on the call.
What is the difference between what we still owe them and what they still owe us?
What we owe them is outbound: the deck, the fix, the intro we promised. What they owe us is inbound: access, assets, a decision. Both belong on the check-in list, marked as ours or theirs. Mixing them into one status update hides who is blocked.
Should you post the owed list in the Slack Connect channel the client can read?
No. People in a Slack Connect channel can see messages from bots and apps. A half-right list of what you still owe, in the shared client channel, is an unchecked send. Keep the brief off the thread the client can read. Prep belongs where your team works, not where the client watches it draft.
Should you open a client check-in by recapping everything that shipped?
No. Lead with what is still open. A recap of shipped work is catch-up. The client already knows what they received. The leak is the promise that never became a task. Five lines: what we agreed, what is still open, the question to ask.
Sources
- Granola: Pre-meeting briefs, read October 12, 2026
- Granola: Briefs prepare you for your next meeting as you join, read October 12, 2026
- Fireflies: Meeting Prep, read October 12, 2026
- Lindy: Meeting prep, read October 12, 2026
- Lindy: Meetings (recording joins visibly), read October 12, 2026
- Otter Notetaker overview (visible name, cannot join anonymously), read October 12, 2026
- Gmail: Collaborate with Gemini in Gmail, read October 12, 2026
- Slack Connect guide: Work with external organizations, read October 12, 2026
- Read AI homepage (meeting summaries and transcripts), read October 12, 2026
If your team already runs its work in Slack, start with one role in one channel. Concrete is an AI teammate that works in your Slack channels and asks a person to approve before anything goes out. It is not a chatbot builder, and it never sends on its own.