How do you run a daily standup in 15 minutes?
The bot collects status updates through a form before the standup and posts a summary with blockers to the chat. The call covers blockers only, and decisions stay in the thread.
Bot
At 9:00 the Standup bot messaged Megan directly. Click "Fill in status," check the three answers and submit the form: the status goes into the summary.
Why run your standup in the team chat
A forty-minute standup where seven people take turns saying what they did yesterday, while five of them wait their turn and read email, is the most expensive ritual a team has.
- Statuses take two minutes to read, not forty to listen to. Everyone answers three questions in writing, and the bot puts the answers into one summary. The manager reads it before the standup, and nobody waits for their turn at the microphone.
- A call only with the people who have a blocker. Blockers come first in the summary. The bot pulls two people and legal into the thread while the other five keep working. The morning standup fits in 15 minutes because there are no status updates on it.
- You can see who hasn’t filled in without going around the room. The “Not filled in” line at the bottom of the summary replaces “Ian, are you with us?” Anyone on vacation or in another time zone fills in later, and their status simply shows up in the thread.
- Decisions are written down, not “agreed verbally”. The manager writes “who · what · when” in the thread, and the bot sends each item to its owner directly and reminds them half an hour before the deadline. A week later, the decision turns up in a chat search.
- Remote teammates and other time zones take part in writing. The form arrives in DMs and takes a minute to fill in from a phone, any time before 9:25. Someone whose workday started three hours earlier doesn’t wait for a call to say that nothing is blocking them.
- Grows with you. Today it’s statuses and a call about blockers. Tomorrow an AI agent writes a short weekly summary and flags blockers that have come up for the third day running, and the “What’s on for today” field turns into tasks in your tracker.
How to set it up
20 minutes in Pachca plus a handler: n8n with no code, or a couple of hours of a developer's time. You'll need administrator rights in Pachca.
In Pachca
- 1
Create a team chat
+ next to search Chat, name it "Product · standup." Add everyone who attends the standup: the chat's member list is who the bot messages at 9:00. - 2
Create the Standup bot
Automations Integrations Webhook +. Make it a bot for multiple chats and turn on the Public toggle, so employees can find the bot in search and message it directly. Copy the token from the API tab: your handler will need it. - 3
Add the bot to the chat
Chat settings Add members the Integrations tab Standup. Only an administrator or the chat's creator can do this. - 4
Turn on the outgoing webhook
Bot settings the Outgoing webhook tab. Paste your handler's address from option B or C below into the Webhook URL field, then select the New messages event with the /status command and Button clicks. Send the bot /status: it should reply with a Fill in status button.
Where the statuses come from
The 9:00 messages, the form and the summary come from a handler that receives the bot's events. Pick one of three options, depending on your setup.
- A
No handler yet: statuses posted to the chat from a template
Pin a "Yesterday / Today / Blockers" template in the chat. Everyone posts their own status by 9:25 and marks a blocker with 🔴. The manager starts a call with the camera icon in the chat header, invites only the people with a 🔴 and writes the decisions in the thread of their own message. For the 9:00 reminder, use a scheduled message: type "Statuses by 9:25," choose Schedule message in the send options, set 9:00 and repeat daily. No form or summary, but setup takes five minutes. - B
No code with n8n
Three workflows. First: a Schedule Trigger at 9:00 on weekdays the Pachca node fetches the chat's members each one gets a direct message with a Fill in status button. Second: a Webhook receives the click, opens a three-field form and writes the answer to Google Sheets or a database table; at 9:25 a Schedule Trigger builds the summary from it with Call for blockers and No call today buttons. The third reminds owners about decisions. Paste the Webhook node's Production URL into step 4. To install n8n and the Pachca node, see the n8n article in our Help Center. - C
Your own code: messages, summary and reminders
Give this skill to Claude, ChatGPT or Cursor. It covers the bot setup, scheduled messages that respect time zones, a three-field form, a summary with blockers first, a call thread that mentions the people involved, parsing decisions as "who · what · when," reminders for owners and where to host the handler.
With your team
- 5
Agree on three rules
Status by 9:25, or your name lands in the "Not filled in" line. The call is 15 minutes at most and only about blockers: if a blocker doesn't involve you, you don't join. Decisions go in the summary's thread as "who · what · when," so the bot can set a reminder and the decision turns up in search a week later.
The summary lives in the chat and the decisions in the thread under it, while the bot keeps the statuses: that's what a weekly summary and a list of recurring blockers are built from later. Our Help Center explains how forms, bot buttons and outgoing webhooks work.
Troubleshooting
- The bot doesn't write at 9:00: the handler's schedule is in another time zone, and servers usually run on UTC. Check the time and zone in the Schedule Trigger or the function's trigger.
- The button doesn't open the form: Button clicks isn't selected in the outgoing webhook, or the handler is off. n8n needs the Production URL, not the Test URL.
- Some people are missing from the summary: the bot isn't in the chat and can't see its members, or the employee hasn't opened a conversation with the bot yet. Ask them to send the bot /status.
Employee's screen · Megan Foster