| name | slack-standup-digest |
| description | Create an automation that generates an async standup digest from Slack. Searches selected channels for messages since the previous workday, groups updates by project, highlights blockers and decisions, and posts a summary to a target channel.
|
| triggers | ["/standup-digest:setup"] |
Slack Standup Digest Automation
Set up a recurring automation that summarizes Slack activity into an async
standup digest.
Prerequisites
Required integration
- Slack MCP must be installed in Settings → MCP.
Information to collect
Ask the user for:
- Source channels — which Slack channels to scan for updates (e.g.
#engineering, #frontend, #backend)
- Target channel — where the digest should be posted (e.g.
#standup, #team-updates)
- Schedule — when should the digest run? Default: weekday mornings at 9 AM
- Timezone — user's timezone (e.g.
America/New_York, Europe/London)
- Auto-post or draft — should the digest post automatically, or be saved for the user to review and approve first?
- Grouping — how should updates be organized? Default: by project/channel, with sections for shipped work, active work, blockers, and decisions
Setup Workflow
Step 1 — Verify Slack MCP access
Confirm the Slack MCP integration is working:
Use the Slack MCP to search for recent messages in one of the source channels.
If it fails, tell the user to install the Slack MCP integration first.
Step 2 — Configure the schedule
Build a cron schedule from the user's preferences:
- Weekday mornings at 9 AM ET:
0 9 * * 1-5 with timezone America/New_York
- Daily at 8 AM UTC:
0 8 * * *
Step 3 — Build the digest prompt
Construct a prompt that includes:
- Source channels to scan
- Target channel for posting
- Lookback window (typically "since previous workday" — Friday→Monday for Monday digests)
- Grouping structure (by project, by channel, etc.)
- Whether to auto-post or draft
- What to highlight: blockers, decisions, shipped items, unanswered questions
Step 4 — Create the automation
Read the Automation backend URL and auth from <RUNTIME_SERVICES>:
- Use the Automation backend
url_from_agent as OPENHANDS_HOST
- Auth:
X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY
Use the prompt preset endpoint:
curl -s -X POST "${OPENHANDS_HOST}/api/automation/v1/preset/prompt" \
-H "X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Slack Standup Digest",
"prompt": "<constructed digest prompt>",
"trigger": {"type": "cron", "schedule": "<schedule>", "timezone": "<tz>"}
}'
Step 5 — Confirm
Tell the user:
✅ Slack Standup Digest is running!
- Automation ID:
{id}
- Source channels:
{channel list}
- Target channel:
{target}
- Schedule:
{cron description}
- Mode:
{auto-post or draft}