Skip to content

Twice a day

Keep a Notion log of your daily standups

The team posts standup updates in Slack, and they're collected into one dated Notion page each day.

Runs
Twice a day
Apps
Notion, Slack
AI
Not needed
Access
Slack chat:write, channels:history; Notion insert

Send this to your assistant

Create a ClickRuntime automation: every weekday at 9:30am, ask for standup updates in #standup. At 11am, collect the replies into a new page in my Standups database in Notion and post the link.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Daily standup meetings are expensive when a team is spread across timezones. Half the people are asleep during the call, the rest repeat what they wrote in a ticket, and nobody keeps notes. Async standups in Slack solve the timing but create a new problem: updates scattered across threads, with no way to see how a project went over the past two weeks or to answer a manager's question about what someone worked on.

Twice a day ClickRuntime posts the standup prompt in your Slack channel and remembers the message. Later it reads the thread replies, compiles them into a dated page in a Notion database with one entry per person, and posts the page link back so people can see the full record.

Remote and hybrid teams, and managers who must write status reports, use it most.

What you get out of it

  • Updates are written down, not spoken

    Each person's update is stored as text with a date. Anyone can check what happened last Wednesday without relying on someone's memory of a call. Anyone can check what happened last Wednesday without relying on a call or someone's memory.

  • Timezones stop mattering

    People answer when their working day starts, and the compiled page appears later. A teammate in Singapore and one in Boston both take part without staying up late. People answer when their working day starts, and the page is compiled for everyone afterward.

  • Status reports almost write themselves

    Because every day has a page, a weekly summary is a matter of reading five of them. Managers stop interviewing people to find out what was done. Because every day has a page, a weekly summary means reading five of them and trimming.

  • Missing updates are obvious

    The page shows who replied, so a person who has been silent for three days is noticed. A quiet check-in can happen before a blocker grows into a missed deadline.

  • Blockers are recorded where they can be tracked

    When a blocker is reported, it stays in the daily page and can be referred to later. Patterns like repeated waiting on the same team become visible and can be raised.

How it works

What happens, step by step

  1. Every weekday at 9:30, ClickRuntime posts the standup question in your #standup Slack channel and asks the team to reply in the thread.

  2. At 11:00 it reads every reply in that thread.

  3. It builds one dated Notion page with each person's update.

  4. A link to the page is posted back in Slack with the number of updates saved.

Before it runs live

  • Connect Notion and share the database you want it to use
  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)

What you get

RunsTwice a day
Keep a Notion log of your daily standupstoday, 9:00Succeeded
Slack · #standup📝 6 updates saved: https://www.notion.so/Standup-2026-10-19-…

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Google Sheets
  • Combine it with other Notion and Slack steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
daily_standup_collected_in_slack_stored_in_notion.pyexample
from datetime import date, datetime
from zoneinfo import ZoneInfo
from slack_sdk import WebClient
from clickruntime import on_trigger, credentials, http, state

CHANNEL_ID = "C0123STANDUP"
DATABASE_ID = "your-standups-database-id"

@on_trigger
def run(event):  # weekdays 9:30 and 11:00
    slack = WebClient(token=credentials.connection("slack", "work"))
    if datetime.now(ZoneInfo("Europe/London")).hour < 10:
        ts = slack.chat_postMessage(channel=CHANNEL_ID, text="☀️ Standup: what did you do yesterday, what's next, any blockers? Reply in this thread.")["ts"]
        state.set("prompt_ts", ts)
        return {"asked": ts}
    replies = slack.conversations_replies(channel=CHANNEL_ID, ts=state.get("prompt_ts"))["messages"][1:]
    blocks = []
    for r in replies:
        name = slack.users_info(user=r["user"])["user"]["real_name"]
        blocks.append({"object": "block", "type": "paragraph", "paragraph": {"rich_text": [
            {"text": {"content": f"{name}: "}, "annotations": {"bold": True}}, {"text": {"content": r["text"][:1900]}}]}})
    page = http.post("https://api.notion.com/v1/pages",
                     headers={"Authorization": f"Bearer {credentials.secret('NOTION_TOKEN')}", "Notion-Version": "2022-06-28"},
                     json={"parent": {"database_id": DATABASE_ID},
                           "properties": {"Name": {"title": [{"text": {"content": f"Standup {date.today()}"}}]}},
                           "children": blocks}).json()
    slack.chat_postMessage(channel=CHANNEL_ID, text=f"📝 {len(replies)} updates saved: {page['url']}")
    return {"updates": len(replies)}

FAQ

Common questions

Where do people answer?
In the thread under the standup prompt in Slack. They reply in plain text, and ClickRuntime collects each reply with the author's name when it later builds the Notion page. Threads keep each person's answer attached to their name.
What about people who answer late?
The compile run happens after the deadline, for example midday for the morning prompt. Late replies after that can be picked up the next day, or you can move the compile time to suit your team.
Can the prompt contain specific questions?
Yes. You can ask for yesterday, today and blockers, or any questions you like. The Notion page keeps each person's whole reply, so the format is whatever your team writes in the thread. The page structure is flexible, so you can match the questions your team uses.
What permissions does it need?
Slack chat:write, channels:history; Notion insert. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (twice a day). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Keep a Notion log of your daily standups” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.