Daily Segment delivery check with Slack and Linear alerts

Every morning, find out whether your Segment destinations are actually receiving data, and only hear about it when delivery starts failing.

Agentic Task
Twilio SegmentSlackLinearEngineeringOperationsNotifications & AlertsResearch & Monitoring
PromptCreate

Every morning at 8am, check whether my Segment event pipeline is actually delivering data to its destinations, and only tell me about it when something is wrong.

Setup step, before the first run. Ask me to paste the list of Segment destination IDs I want watched and store it in the workflow config. This matters: the Segment integration has no operation that lists all destinations in a workspace, so this explicit list is the only source of truth and the workflow must never try to enumerate them. For each destination let me also record a friendly name and the downstream tool it feeds, for example 'Amplitude, product analytics' or 'BigQuery, warehouse and exec dashboards'. Also let me configure the warning threshold (default 2 percent), the severe threshold (default 10 percent), the Slack channel for my data engineering team, the Linear team that owns pipeline issues, and which weekday the all clear line lands on (default Monday).

On each run, for every destination ID in my config, call Segment's List Delivery Metrics Summary from Destination operation for the last 24 hours ending at the run time. Read the successes, failures and retries. Work out a failure rate as failures divided by successes plus failures, expressed as a percentage. Treat retries as a supporting signal rather than a pass or fail: a destination whose retries have climbed sharply is worth mentioning even when its failure rate is still under the threshold, because it usually means the destination is degrading rather than healthy.

For every destination that crosses the warning threshold, fetch that destination's full configuration with Segment's Get Destination operation. Use it for context in the alert: the destination name and type, whether it is enabled, and any setting that plausibly explains the failures. Do not fetch configuration for healthy destinations, there is no reason to spend the call.

If at least one destination is degraded, post a single Slack message to my data engineering channel with Slack's Send a Message operation. One message per run covering every degraded destination, never one message per destination. Lead with a one line summary such as '3 of 9 Segment destinations degraded in the last 24h'. Then list each degraded destination worst first with its friendly name and type, the failure rate, the failure count against total attempted, the retry count, and one plain-language line naming which downstream tool is therefore missing data, for example 'product analytics is undercounting signups since about 02:00'. Close with a short read on blast radius: whether this looks like one flaky vendor destination or a pattern across several destinations, which usually points at the source or the pipeline itself rather than any one vendor. Keep it scannable, this is a message someone reads on their phone before standup.

For any destination sustaining a severe failure rate above the severe threshold, also escalate into Linear. First use Linear's Search Issues operation to look for an existing open issue naming that destination. If one is already open, use Add Comment to Issue to append the latest 24 hour numbers and the current date instead of filing a duplicate, and note in the Slack message that this is an ongoing breakage rather than a new one. If there is no open issue, use Create Issue in my configured team. Title it with the destination name and the problem, for example 'Segment delivery failing to Amplitude (14 percent over 24h)'. In the description include the destination friendly name and id, its type, the successes, failures and retries, the calculated failure rate, the exact time window checked, the downstream tool affected, and any configuration detail from Get Destination that gives the person triaging a head start.

When every destination is under the warning threshold, post nothing at all. No daily 'all good' message, no empty digest. Silence is the healthy state.

The one exception: once a week on my configured day, if that morning's check is clean, post a single short line to the same channel so I know the check is still alive, for example 'Segment delivery check ran, all 9 destinations healthy over the last 24h, worst failure rate 0.3 percent.' One line, no formatting, no breakdown. If that day's check does find a degraded destination, the normal alert replaces the all clear rather than posting both.

Handle failures honestly. If the metrics call fails for one destination, carry on with the others and note the one that could not be checked rather than silently dropping it. If Segment returns a 403, that usually means the workspace is not on a Team or Business plan, since the Public API is gated to those tiers. Say that in plain language rather than reporting zero failures, because a check that cannot run must never look like a check that passed.

Framing note for whoever builds this: Segment does ship native Connections Alerting on delivery rate for individual destinations, so the point of this workflow is not per-destination alerting. The value is the cross system triage: correlating every destination I depend on into one digest, judging how far the damage spreads into the tools my team actually uses, and escalating only sustained breakage into Linear so the genuinely broken things get triaged instead of scrolling past in Slack. Keep that correlated, judgement-led shape rather than degrading into one alert per destination.

What does this prompt do?

  • Checks the Segment destinations you list every morning and works out how much data each one failed to receive over the last 24 hours.
  • Posts one Slack message to your data team naming the destinations that are degraded, the failure counts, and which downstream tools are missing data as a result.
  • Opens a Linear issue for any destination that is badly broken, so a real outage gets triaged instead of scrolling past in chat.
  • Stays completely silent when everything is healthy, apart from one short all clear line each week so you know the check is still running.

What do I need to use this?

  • A Segment workspace on a paid Team or Business plan. Programmatic access is not available on free workspaces, so the check will report that it is blocked rather than quietly reporting everything as healthy.
  • The list of Segment destinations you want watched. Segment cannot hand over a full list of your destinations automatically, so you paste in the ones that matter as a one time setup step.
  • A friendly name for each destination and the downstream tool it feeds, so alerts read as plain language instead of a string of ids.
  • A Slack workspace and the channel your data team actually reads.
  • A Linear account and the team that should own pipeline breakages.

How can I customize it?

  • Change the thresholds. By default anything failing more than 2 percent of deliveries gets named in Slack, and anything above 10 percent also opens a Linear issue.
  • Change the timing, the Slack channel, or the day of the week the short all clear line lands.
  • Add or remove destinations as your pipeline changes, and keep the note about which downstream tool each one feeds so the blast radius stays accurate.

FAQs

Will this work on a free Segment plan?
No. The programmatic access this check relies on is only available on Segment's Team and Business plans. On a free workspace the check will tell you it is blocked rather than reporting everything as healthy, so you never get a false all clear.
Does this just replace Segment's built in alerting?
Not really. Segment can alert you on a single destination's delivery rate. The value here is the cross system view: one morning check that covers every destination you care about, says which downstream tools are missing data, and escalates only sustained breakage into your issue tracker.
Will it fill my channel with noise every morning?
No. It stays quiet when everything is healthy. You only hear from it when a destination crosses your threshold, plus one short all clear line once a week so you know it is still running.
How does it decide a destination is degraded?
For each destination you watch it compares failed deliveries against total attempts over the last 24 hours. Anything above your threshold, 2 percent by default, gets named in the Slack message. Rising retries are flagged too, since they usually mean a destination is on its way to failing.
Why do I have to paste in the destinations myself?
Segment does not offer a way to list every destination in a workspace programmatically, so the workflow works from an explicit list you provide. This turns out to be useful anyway, because you can label each destination with the team or tool that depends on it.
What happens if the same destination breaks for several days?
It checks for an existing open issue for that destination first. If one is already open it adds a comment with the latest numbers instead of filing a duplicate, so you get one thread per breakage rather than a new ticket every morning.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Monthly CloudWatch cleanup audit for waste and dead alarms

On the first Monday of every month, find the alarms nobody watches and the monitoring you quietly pay for, then get a costed cleanup list in Slack and Linear.

Amazon CloudWatch
Slack Bot
Linear
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task
Turn 5 star Yotpo reviews into a weekly marketing content queue

Every Tuesday we pull your best new reviews, draft social captions, email testimonials and product page quotes, then stage them in Notion for approval.

Yotpo
Notion
Slack
Agentic Task

Know your data pipeline broke before your dashboards start lying.

Run one delivery check across every Segment destination you depend on each morning, and only hear about it when something is actually wrong.