workflow recipe
n8n Daily Report to Slack Workflow for Team Updates
Use Schedule Trigger to run the report, query the source data, Set or Code to format a short digest, and Slack to post the result with clear empty-state handling.
Independent third-party notes. n8n is a trademark of its owner and is referenced only for compatibility and troubleshooting context.
Quick Answer
Use Schedule Trigger to run the report, query the source data, Set or Code to format a short digest, and Slack to post the result with clear empty-state handling.
Problem Pattern
Daily Slack reports get ignored when they arrive at the wrong time, include raw data dumps, or fail silently when an upstream API has no results.
Key Facts
- Trigger
- Schedule Trigger starts the report on a predictable cadence.
- Source layer
- The report can read from an API, database, sheet, or app node.
- Format layer
- Set or Code should reduce raw data to a concise message.
- Empty state
- A no-data result should be handled deliberately.
Recommended Steps
- Choose the schedule and timezone that match the team's working day.
- Fetch only the data needed for the reporting window.
- Use IF to branch when there are no results or the upstream request fails.
- Format the digest into a short Slack message with counts, highlights, and links.
- Post to Slack and verify the message at the scheduled time.
Verification
- The report runs at the intended local time.
- The reporting window matches the expected date range.
- The Slack message is readable without opening raw JSON.
- No-data and upstream-error cases produce clear outcomes.
Warnings
- Timezone mistakes can make a daily report appear late, early, or duplicated.
- A raw JSON dump in Slack is rarely useful to humans.
- A report should make empty or failed data states visible instead of looking like success.
Best For
- Daily KPI summaries
- Support or sales activity digests
- Operational check-ins
Not For
- Dashboards that need interactive filtering
- High-volume analytics pipelines better handled by a warehouse or BI tool
Common Mistakes
- Forgetting the workflow timezone.
- Posting too much raw data.
- Ignoring the empty result case.
- Using manual test data that does not match the scheduled production run.
Examples
Schedule Trigger: weekdays 09:00
HTTP Request or database node: fetch yesterday's metrics
IF: results exist
Set or Code: format top counts and links
Slack: post report
Slack fallback: no data or source error FAQ
Why did the report run at the wrong time?
Check the workflow timezone, server timezone, and schedule configuration. Timezone issues are common in scheduled automations.
Should I always post when there is no data?
For operational reports, yes if the absence of data matters. Otherwise route no-data cases to logs or a quieter channel.