Machine
All use casesOperations · 5 min read

How we run our standup as a Slack post

Each weekday an agent reads what everyone did in Linear and GitHub, nudges anyone whose day left no trace, and posts a short team standup to Slack. It never writes to either tool.
Team
MT
Machine Team
·5 min read
Slack
Linear
GitHub

All a standup really needs to tell you is who did what yesterday and who's doing what today. Getting there is the annoying part. Either you book a meeting for it, or you open a thread and watch half the team reply while the rest forget. Meanwhile the answer is already sitting in Linear and GitHub. It just needs collecting, tidying into a readable post, and a polite nudge for whoever stayed silent.

Machine does that collecting for us. Every weekday an agent looks at each person's work in Linear and GitHub, pings anyone whose day left no trace, and drops a short standup into Slack. It's the standup our own team reads each morning, and nothing about it is specific to us: any team can copy it.

TeamMachine
Runs onA morning schedule, one post each weekday
Connected systemsLinear · GitHub · Slack
ModeReads the tools, changes nothing in them

The problem

Ask a room of engineers to repeat out loud what their tickets and pull requests already say, and you've invented the standup meeting. Swap it for an async thread and the meeting goes away, but the chore moves onto each person. You have to remember to post, boil your day down, and actually hit send. Whoever skips it leaves a hole.

The usual fixes only get you partway. A bot that asks "what did you do yesterday?" every morning still needs a human to answer it. A dashboard of activity has the raw data, yet it won't summarize anything or point out who has gone quiet. And neither one looks at the places where the work actually happened, so the update is never better than the effort people put into typing it.

What we built

Each weekday morning, a schedule on Machine wakes an agent. It reads the Linear issues and GitHub activity for every person on the team, writes a few lines about each of them, spots anyone with an empty record, and posts the whole thing to a Slack channel. People with a quiet day get a friendly nudge to fill in what the tools can't show. The agent looks but doesn't touch: Linear and GitHub stay exactly as it found them.

How it works

01

Start it on a weekday schedule

A cron trigger handles the timing. On every weekday morning it opens a new session, which is a fresh cloud computer (a sandbox) used for that single run and then thrown away. Yesterday's run leaves nothing behind. Nobody has to kick it off, and there's no bot hanging around all day listening for messages.

02

Teach it the team and the house style

The agent carries its own playbook as skills and memory. That covers who is on the team, the Linear and GitHub handle that belongs to each person, which repos and Linear projects count, and what a good standup line looks like for us. If we want a different format, we edit that file, and tomorrow's post follows it.

03

Hook up Linear and GitHub for reading only

Connectors are scoped connections to your tools. The keys stay on our servers, so the model never sees a raw token. Through them the agent looks at:

  • Linear: the issues each person touched or closed recently, plus whatever they have in flight.
  • GitHub: commits, pull requests opened or merged, and reviews left since the previous standup.

Both connections can read and nothing more. The agent sees the work, but it has no way to edit an issue or push to a branch.

04

Put the limits in place

We built it so the agent only reads Linear and GitHub. The one thing it writes anywhere is the Slack message. Tickets stay where they are, PRs get no comments from it, and nobody's work is altered. Its credentials are stored encrypted in the Secrets Manager and only handed to the agents you grant them to, at the moment a run starts.

05

Post the standup and nudge the quiet ones

Once that's set up, the morning post takes care of itself. Each person gets a few lines pulled from Linear and GitHub, arranged so the whole team can skim it in one pass. If someone has no activity on record, the post says so and gently asks them to add the rest of their day, such as meetings, planning or anything that happened outside the tools. A slow day then comes with an explanation instead of an empty slot.

The pattern

Every morning a cron trigger opens a fresh session that can only read Linear and GitHub through its connectors. The team list and the post format are kept as skills and memory. The agent writes the summary, nudges whoever is missing, and posts it to Slack, which is the only thing it ever writes.

Guardrails

This agent sees what everyone worked on in two tools and then posts to a channel the whole team reads. So we keep its reach small:

  • Isolation. Each run gets a sandbox of its own. Inside it the agent reads the day's activity and writes the summary, and the Slack message is the only thing that leaves.
  • Scoped secrets. The keys for Linear, GitHub and Slack are stored encrypted in the Secrets Manager and only handed to the agents you grant them to, when the run begins.
  • Read-only across the tools. The Linear and GitHub connections can't write. Apart from the standup post, the agent leaves no mark in any system.
  • Everything is code. The team list, the format and the permissions for each tool are files in the repo. They're versioned, and any change goes through a reviewed change request, not a toggle on a settings page.

The outcome

No meetingStatus arrives as a Slack post, not a calendar invite
Read-onlyLinear and GitHub are never changed; Slack gets one post
3 systemsOne daily agent across Linear, GitHub and Slack

These days the standup shows up in Slack before anyone asks for it, built from work that was already logged, and anyone who went quiet gets flagged rather than forgotten. No one sits through a meeting to repeat their tickets, and no one writes up a day the tools already captured.

Your turn

Put your first agentto work today.

Pick a setup from this page or start from scratch. Connect your tools, set a schedule, and choose where a person signs off. Free to self-host, managed plans from $40 a month.
  • SSO
  • RBAC
  • Governed agents
  • Full audit trail