Start free

Blog · · 8 min read

All-hands meeting recap for distributed teams across time zones

Live all-hands at 9am PT = 6pm Berlin = 1am Singapore. Async recap from the recording is the only thing that actually serves a distributed team.

The async recap is the meeting, for two-thirds of your company

If your all-hands runs 9am PT, the Berlin office joined at 6pm after a full workday and the Singapore team is being asked to attend at 1am. Whatever you post afterward — transcript, summary, decision log — is the actual meeting for everyone outside the US west coast. The live session is a recording opportunity with a small studio audience.

That reframing changes what you produce. The recap is not a courtesy artifact for people who missed it. It is the primary deliverable, and the people on the live Zoom are the smallest stakeholder group.

This post is about what to put in that recap, how to capture it from the recording, where to post it, and how to handle multi-language teams without three people rewriting the same notes for six hours.

The time zone math nobody wants to say out loud

A 9am PT all-hands is:

  • 12pm in New York — fine
  • 5pm in London — end of day, tolerable
  • 6pm in Berlin — after hours
  • 9:30pm in Mumbai — family time
  • 12am in Tokyo — midnight
  • 1am in Singapore — sleeping

There is no time slot that works for a globally distributed company. Rotating the meeting time half-works — it spreads the pain rather than removing it, and the people on the unfriendly rotation still don't get a real Q&A.

The honest answer is that live attendance is optional and the recap is canonical. Once you commit to that, the production question becomes: what makes a recap that people actually read?

What an async meeting summary should contain

A useful all-hands recap has four sections, in this order. The order matters because people read top-down and bail early.

  1. Decisions made — what is now true that wasn't true yesterday. "We are sunsetting Product X by Q3." "Headcount freeze lifted for engineering only."
  2. Asks of the company — what leadership wants people to do this week, this quarter. Concrete verbs, named owners.
  3. Anti-decisions — what was explicitly discussed and rejected, or deferred. This is the section most recaps skip and the one that prevents the same debate from re-running in Slack for three weeks.
  4. Action items — owner, deliverable, due date. Three columns, no prose.

The numbers, charts, and storytelling that filled the live hour go below this. Most readers will scroll to action items, scan decisions, and close the doc. That is fine. The recap exists so they can do exactly that.

What to cut from the live meeting

The recording is 55 minutes. The recap should be 600-900 words. Things that don't survive the cut: pleasantries and "can everyone see my screen", repeated context for late joiners, slide-read-aloud where the slide is already in the deck, and tangents that didn't produce a decision.

A clean transcript with speaker diarization makes this triage tractable in 20 minutes. We run AssemblyAI Universal-3 on the recording — clean meeting English on a 16 kHz stream lands around 92% accuracy (WER ~7.88%), which is good enough to skim, copy quotes, and trust the timestamps. On stereo recordings (separate channels for the call host and the room mix) diarization is channel-split and effectively perfect. On a single mono recording with 5-8 speakers it's pyannote-3.1, which degrades past six voices and merges rapid interruptions — if your leadership team talks over each other, name the speakers in the recap manually.

Q&A capture is where most recaps fail

Live Q&A produces the highest-signal content in an all-hands and the worst written artifact. Somebody asks a sharp question about the roadmap, the CEO answers for four minutes, and the recap says "Discussed roadmap concerns."

A better pattern, indexed by topic:

  • Question (verbatim or close): "Are we still committing to the EU data residency milestone for September?"
  • Asked by: Name, team, time zone
  • Answer summary: 2-3 sentences with the actual position
  • Timestamp link to the recording for people who want the full answer

The timestamp link is doing a lot of work. A transcript with timestamped speaker turns lets you deep-link to "01:23:14 — VP Engineering on EU residency" and that link is what people share in Slack threads three weeks later when somebody asks the same question. Text strips tone — a linked timestamp prevents a dry summary from turning a CEO's joke into a panic.

One accuracy caveat. If your remote employees ask questions via a phone bridge instead of a laptop mic, you're looking at ~82% accuracy (WER ~17.7% on 8 kHz telephony) on those segments. Ask Q&A moderators to either repeat the question into the room mic or paste it in the chat — that 30 seconds of friction is the difference between a clean indexed Q&A and a transcript a human has to repair line by line.

Group questions by topic, not chronological order. Five questions about compensation live in a Compensation block, even if they were asked at minutes 12, 27, 31, 44, and 51.

Try it on your audio

Start free →

30 minutes a month, no card.

Where to post it: Slack, Notion, internal blog

The format that gets read depends on where your company already lives. Three patterns that work:

Slack-first: A threaded post in #general with the four sections as numbered messages, plus a link to the full doc. High read-through, native to where async work happens. Searchability dies after 90 days on free plans, and threading gets messy.

Notion or Confluence as canonical, Slack as pointer: The full recap lives in a dated page (/all-hands/2026-05-21) with the transcript embedded. Slack post is a 6-bullet TL;DR with a link. This is the pattern most distributed teams converge on after a year.

Internal blog with RSS: A posts.company.com/all-hands/ archive. Heavier setup, but new hires can read the last six months in one sitting and that is a real onboarding tool.

Whichever you pick, the recap should be posted within 24 hours of the meeting. Past 48 hours, the Singapore team has already worked two days without the decisions.

A note on edits. If you correct the recap after publication — a number was wrong, a decision was clarified — add a visible changelog at the bottom. Silent edits to an authoritative document corrode trust faster than any single error. Async readers can't ask "wait, did that bullet change?" in the hallway.

What the doc itself should look like

  • Title: "All-hands recap — May 21, 2026"
  • TL;DR — 5 bullets
  • Decisions
  • Asks
  • Anti-decisions / deferred
  • Action items table (action, owner, due date, status)
  • Q&A by topic, with timestamps
  • Full transcript (collapsed by default)
  • Recording link, slide deck link
  • Changelog (only if edited)

People who want the transcript want all of it — searchable, copy-pasteable, timestamped. People who don't want it want it out of their face. A <details> block or a Notion toggle solves both.

What the AI shouldn't decide on its own

The transcript is a draft. Treat it that way. Before you publish, a human owner has to verify:

  • Decisions phrased as commitments — "we are" vs "we are leaning toward" is the whole game
  • Names, titles, and reporting lines
  • Numbers — revenue, headcount, dates, quotas, budgets
  • Anything touching policy: comp, remote work, security, layoffs
  • Speaker attribution in mono recordings with more than four people

AI draft, human approval, then publication. That loop is still 10x faster than rewatching the recording and writing from scratch — it just preserves the one thing async employees can't replace, which is trust in the artifact.

Multi-language recaps without rewriting six times

If your company has engineering in Berlin, sales in São Paulo, and ops in Manila, an English-only recap means three teams are reading their second or third language at the end of a long day. Comprehension drops, nuance is lost in the anti-decisions, and the Slack thread fills with clarifying questions the recap was supposed to prevent.

The pragmatic flow:

  1. Transcribe once in the source language.
  2. Produce the structured recap in that language.
  3. Get the accountable owner — usually chief of staff or comms — to approve the source recap.
  4. Translate the approved recap (not the full transcript) into each office's working language.
  5. Every translated recap links back to the same transcript and recording.

We transcribe in 99 languages at the same per-minute price — one price, every language. No surcharge for German or Portuguese or Tagalog. The full transcript stays in the source language because translating an hour of speech word-for-word adds noise without adding value. Translate the recap, not the audio.

For comp, benefits, or anything legally binding in a translated recap, get a human in that region to review before publishing. Machine translation is good enough for product updates and bad enough for employment terms.

What we don't do here

A few limits worth naming up front. We transcribe the recording after the meeting ends — we do not ship live realtime captions inside Zoom or Google Meet. For accessibility during the live session, use the platform's built-in captions and use our transcript as the post-meeting record.

We also don't automatically post the recap to Slack or Notion. The meeting bot joins the call (via Recall.ai for Google Meet, Zoom, and Microsoft Teams, appearing in the participant list under a name you configure), drops a two-party consent disclosure in chat on join, records, transcribes, and delivers the structured output. An opt-out endpoint at /opt-out/{token} exists for participants who decline. Wiring the output into your Slack channel or Notion database is a webhook you configure — see the meeting-notes integration for the payload shape.

On compliance: data handling is HIPAA-grade at rest, but we are not a BAA-covered product yet. If your all-hands touches PHI, we're not your certified record today — email us, we're piloting.

What next

If your all-hands recap is still a Google Doc somebody writes by hand on Monday morning:

  • Record your next all-hands and upload the file on the Free plan — 30 audio-min/month, exports unlocked, enough to test the transcript and Q&A indexing on one real meeting (as of May 2026).
  • For recurring all-hands, point a bot at the calendar event. A 60-minute live meeting captured via bot uses 120 bot-credits (2 credits/minute) on Pro or Business.
  • Read the meeting workflow guide for the template — decisions, asks, anti-decisions, action items, Q&A by topic.
  • If your team works across more than three languages, do the recap-translation pass. One transcript, one approved recap, N translations.

The live meeting is for the people in the room. The recap is for the company.