An async standup template is a fixed set of prompts each person answers in writing once a day, on their own schedule, instead of meeting on a call. The reliable core is three prompts: what I finished since my last update, what I'm focused on today, and what's blocking me (and who I need it from). Post it in a dedicated channel by a consistent cutoff time, tag people in the blockers line, and keep each update to roughly 4 to 8 lines so teammates can scan it in under a minute. The rest of this guide gives you copy-paste templates for Slack, an outcome-based variant that beats the generic 'yesterday/today' wording, and the posting rules that keep async standups from going quiet after three weeks.
The basic async standup template (copy and paste)
Start here if you're setting this up for the first time. This is the classic three-part format, lightly adapted so it reads well in a chat thread rather than spoken aloud. Replace the bracketed parts and post it as a single message.
- Yesterday: Shipped [what], moving the [project/metric] forward.
- Today: Focused on [the one or two things that matter most].
- Blockers: [None] — or — Waiting on [@person] for [specific thing]; this is holding up [what].
- Confidence on [current goal/date]: On track / At risk / Slipping.
The fourth line is optional, but it's the one most teams are missing. A status meeting exists mostly so a lead can sense whether a deadline is in trouble; an explicit confidence signal recreates that without a call. If three people in a row post 'At risk,' that's a conversation worth having the same day, not next sprint.
Outcome-based standup updates (the upgrade most teams need)
The most common failure mode is updates that list activity instead of progress. 'Worked on the API' tells nobody anything. 'Reviewed the PR' is a task, not a result. Rewrite each line so it describes what changed and how it moves a shared goal. The fix is concrete and easy to coach into a team.
Activity vs. outcome, side by side
- Weak: 'Worked on checkout.' Strong: 'Fixed the duplicate-charge bug in checkout; payments are clean in staging, deploying tomorrow.'
- Weak: 'Had meetings about onboarding.' Strong: 'Aligned with design on onboarding; we cut it from 6 screens to 4, so I'm unblocked to build.'
- Weak: 'Continued research.' Strong: 'Tested three email tools; Postmark wins on deliverability, writing up a recommendation by Thursday.'
- Weak: 'Looked at the dashboard.' Strong: 'Found why signups dropped — a broken redirect from the pricing page; fix is live, watching the numbers.'
A quick gut check before you post: would a teammate know whether your day moved the project forward or just kept you busy? If your update could have been written this morning before you did any of the work, it's describing a plan, not an outcome. Name the deliverable, the state it's in, and what it unblocks.
Slack standup message examples
Here are three filled-in examples for different roles, written the way they'd actually land in a Slack thread. Notice they're short, they tag people in blockers, and they lead with the result instead of the effort.
Engineer
- Done: Search latency down from 900ms to 210ms after the index change — merged and on prod.
- Today: Wiring up the new rate limiter so we stop getting 429s under load.
- Blocked: Need staging DB creds from @priya to test the migration. Low urgency, fine if it's tomorrow.
- Sprint goal: On track.
Designer
- Done: Finalized the mobile nav after the usability test — the back-button confusion is gone.
- Today: Spec'ing empty states for the inbox so engineering isn't guessing.
- Blocked: Waiting on final copy from @marcus for the upgrade modal; can't hand off until it lands.
- Confidence: At risk — the copy delay may push handoff past Friday.
Marketing / generalist
- Done: Published the comparison page; it's indexed and already on page 2 for the target term.
- Today: Drafting the launch email and pulling the segment in our CRM.
- Blocked: None.
- Heads-up: Open rates dipped about 4 points last week; digging in tomorrow, flagging now so it's not a surprise.
How to run async standups (setup in 30 minutes)
You don't need a paid tool to start. A dedicated Slack channel and a pinned template will carry a team of 5 to 15 people just fine. Add tooling later, and only if reminders or roll-ups become a real chore.
- Create a channel like #standup or #team-daily and pin the template at the top so nobody has to remember the prompts.
- Pick one posting cutoff that fits your most-spread time zones. Many distributed teams land on 11:00 in the team's main time zone — morning for the US East Coast, late afternoon for Western Europe.
- Decide on threads vs. flat posts. For teams over about 8, have each person post a top-level message and keep discussion in replies, so the channel stays scannable.
- Set a recurring nudge. Slack's built-in /remind works: '/remind #standup to post your update every weekday at 10:45' fires before the cutoff. Reminders repeat by day, not by the hour, so a daily one is exactly the right fit.
- Write the first three days of updates yourself, in public, so people copy your format and length instead of inventing their own.
- Add a tool only once you outgrow this. Geekbot, Standuply, and DailyBot each DM people, collect answers, and post a digest, which helps when manual reminders get noisy.
Tool prices and limits change, so check the current plan before committing. As of 2026 several of these advertise a free tier for small teams (Geekbot, for example, lists a free plan for up to 10 users), but confirm the numbers on the vendor's own site rather than trusting a figure you read once.
Daily posting rules that keep it alive
Async standups rarely fail because the template is wrong. They fail on fuzzy expectations — people don't know when to post, whether anyone reads it, or what happens if they skip a day. Make these rules explicit and the habit holds.
- One cutoff time, written down. 'Post before 11:00 your local morning' beats 'post sometime daily.' A deadline is what creates the habit.
- No-update is a valid update. If someone is heads-down or out, 'Heads-down on the migration, same as yesterday, no blockers' takes ten seconds and saves people from wondering.
- Leads respond in writing. If updates vanish into a void, people stop trying. React with an emoji, answer a blocker, or ask one question — visible reading is what keeps quality up.
- Blockers get resolved the same day, not 'discussed later.' The whole payoff of writing a blocker down is unblocking faster than a once-a-day call would.
- Stick to the workday rhythm, not literal 24/7. Async means 'on your schedule within the window,' not 'reply at 2 a.m.' Protect off-hours out loud.
- Skip the all-hands recap. If you still hold a daily call to re-read what people wrote, you've added a meeting instead of removing one.
Async vs. live standups: when to use which
Async is the default for teams spread across more than two or three time zones, because no single meeting time is fair to everyone. It also leaves a searchable written record — six weeks later you can find the exact day a blocker first showed up. Live standups still win in two cases: a brand-new team that needs to build trust and shared context fast, and a team mid-incident, where real-time back-and-forth resolves things in minutes that text would drag out for hours. A lot of teams split the difference: async daily, plus one short live sync each week for the higher-bandwidth conversation text handles poorly.
A remote-team update template for weekly summaries
Daily standups answer 'what's happening right now.' Once a week, a slightly wider update keeps managers and neighboring teams oriented without pulling anyone into a meeting. Keep it to five lines.
- Wins: The one or two outcomes that actually mattered this week.
- Metric: The single number we're driving, and which way it moved.
- Risks: What might slip, and what we'd need to prevent it.
- Decisions needed: Anything waiting on someone outside the team.
- Next week: The most important thing we'll ship.
Common mistakes to avoid
- Novel-length updates. If it takes more than a minute to read, people skim and miss the blocker. Trim to the result.
- Vague blockers. 'Blocked on the API' helps nobody; '@dev-team, staging API returns 500 on /orders, trace in the thread' gets fixed.
- Posting and ghosting. Writing your update but never reading anyone else's defeats the point — a standup is a team artifact, not a homework submission.
- Treating it as surveillance. The goal is coordination and unblocking, not proof of activity. The moment it feels like a timesheet, updates turn into performative busywork.
Start with the basic three-line template tomorrow, rewrite each line as an outcome instead of a task, and enforce just two rules: one posting cutoff and a visible reply from a lead. That alone is enough to replace a daily call this week. Add a tool or a weekly summary only once the daily habit is solid — the format is simple on purpose, and it's the discipline, not the software, that makes it stick.