Daily Airbyte sync health digest in Slack
Every weekday morning, get a one-glance green/red readout on last night's critical Airbyte syncs in Slack before the analytics team logs on.
Every weekday at 7:30am, check whether last night's critical Airbyte syncs actually landed on time and post a single green/red data-readiness digest to a Slack channel before the analytics team logs on. Trigger: cron, Monday through Friday at 07:30 in the workspace's timezone.
Configurable inputs for the workflow: the Slack channel to post to (for example #data-alerts), and the way to identify critical connections. Support all three approaches and let the user pick one: a name convention (a prefix or substring, for example "prod_" or "critical"), an Airbyte tag name, or an explicit list of connection names. Default the low-volume warning threshold to a 40 percent drop below the recent median, and expose it as an adjustable knob.
Step 1. Call Airbyte's List Connections to enumerate every connection across the accessible workspaces. Filter to the critical set using the configured strategy (name convention, tag, or explicit list). If the filter matches zero connections, post a short Slack message noting no critical connections were found and stop.
Step 2. For each critical connection, call Airbyte's List Jobs scoped to that connection and to sync jobs from the last 24 hours. Identify the most recent overnight run. For any run that is not clearly a healthy success (failed, cancelled, still running, incomplete, or missing entirely), call Airbyte's Get Job Details on that job id to pull the failure reason, start and end timestamps, and the records-extracted count.
Step 3. For each critical connection, decide freshness, success, and volume: did an overnight sync run at all, did it succeed, how many records did it extract, and is that volume in line with recent history. Compute a rolling median of records-extracted across the prior successful runs of that connection (use List Jobs and, if needed, Get Job Details to gather the counts). A successful sync whose records-extracted is below the low-volume threshold versus that median is a volume anomaly, not a pass.
Step 4. Assign a status per connection: green check for a sync that finished successfully overnight with volume in line with history; yellow warning for a sync that succeeded but with anomalously low volume; red cross for a failed, cancelled, still-running, or entirely missing sync. Capture the failure time or missing-run note for anything red.
Step 5. Use Slack Bot's Send a Message to post a single message to the configured channel. Structure the message as: a one-line headline summary at the top (for example "3 of 4 critical pipelines healthy — Salesforce sync failed at 3:12am"), then a per-connection status line with the green/yellow/red indicator, the connection name, the finish time, the records-extracted count, and a short reason for any non-green status. End with a call-out block that lists any connection that needs immediate attention with the specific failure reason or anomaly detail. If every critical pipeline is green, keep the message short and confirm all clear.
Notes. Airbyte access tokens are short-lived (about three minutes for Cloud), so re-mint when needed during the run. Never invent connection names or job ids: only report what List Connections, List Jobs, and Get Job Details actually returned. If Airbyte itself is unreachable, still post the digest with a red banner explaining that Airbyte could not be reached rather than silently skipping the morning. Reference pattern: the freshness, volume, and schema pillars documented at https://airbyte.com/data-engineering-resources/data-observability.
Additional information
What does this prompt do?
- Runs automatically at 7:30am on weekdays, ahead of the analytics team's morning routine.
- Pulls your Airbyte connections, focuses on the ones you flag as critical, and checks whether each ran overnight, whether it succeeded, and how many records it moved.
- Compares last night's volume against recent history so a sync that finished but pulled far fewer records than usual gets flagged, not silently passed.
- Posts a single Slack message with a headline verdict, a per-pipeline green/yellow/red status line, and a clear call-out for anything that needs attention right now.
What do I need to use this?
- An Airbyte Cloud account with the pipelines you want monitored.
- A Slack workspace and the channel where the digest should land (for example #data-alerts).
- A way to mark which connections are critical (a naming convention, a tag, or a short list you can paste into the workflow).
How can I customize it?
- Change when the digest runs, the Slack channel it lands in, or add a second delivery for a leadership channel.
- Adjust what counts as critical: a name prefix, a tag, or an explicit list of connection names.
- Tune the low-volume threshold (default is a noticeable drop from the recent median) and whether missing runs should be red or yellow.
Frequently asked questions
How does it decide a sync counted as on-time?
What counts as a low-volume warning?
Which connections get watched?
Where does the message land?
Will it still run if Airbyte is having a bad night?
Related templates
Stop finding out at 9:15am that last night's data never landed.
Wake up to a single Slack message that tells you which pipelines are healthy and which one to open first.