Weekly Airbyte connection cost cleanup review in Slack

Every Monday morning, get a Slack list of Airbyte connections to pause, delete, or investigate, so you stop burning credits on unused pipelines.

Agentic Task
AirbyteSlack BotOperationsEngineeringAI ReportsNotifications & AlertsResearch & Monitoring
PromptCreate

Every Monday at 9am, run a cost-hygiene review of every Airbyte connection in the workspace and post a single Slack message to the data team channel calling out the ones that could be paused, deleted, or investigated. The goal is to catch connections that are still enabled and burning Airbyte credits when nothing downstream actually uses the data anymore. This is not a status digest — a daily green/red readout already exists for that. This one recommends specific pruning actions.

Start by calling Airbyte's List Connections operation to get every connection across the accessible workspaces. For each connection, call List Jobs scoped to that connection to pull the last 30 days of sync activity. When a job's summary row count isn't already available in the list response, follow up with Get Job Details to read the rowsSynced metric. Paginate through results as needed.

Classify each connection into exactly one of four buckets based on that 30-day window:

• healthy — the connection is enabled, recent syncs are succeeding, and rows are being produced. No action needed, do not include it in the Slack message.

• idle — the connection is enabled and its recent syncs are technically succeeding, but it has synced 0 rows for 14 or more consecutive days. These are the classic credit-burners. Recommended action: pause or delete.

• failing — the connection has multiple consecutive failed jobs in the window (three or more in a row, or a clear pattern like repeated auth errors). Recommended action: investigate.

• already-disabled — the connection is already paused or inactive. Recommended action: consider deleting if it has been disabled for weeks and nobody has come asking.

Then compose one Slack message and post it with the Slack Bot Send a Message operation to the data team channel. Do not spam one message per connection — a single, scannable message. Skip the healthy ones entirely. For every connection that lands in idle, failing, or already-disabled, include one line with: the connection name, the suggested action, and a short reason. Match the phrasing style of these examples so the message reads like a real recommendation, not a data dump:

• "pause: 0 rows synced in 21 days, no downstream consumers"

• "investigate: 4 straight failures on auth"

• "delete: disabled since March, nobody has re-enabled it"

Prioritize the list — put the connections most worth paging someone on at the top (long-idle expensive-looking ones, then repeated failures, then long-disabled). If literally every connection is healthy this week, still post a short message saying so, so the team knows the review ran. Keep the tone useful and concise — this is a FinOps recommendation, not a status report.

Context worth baking in: Airbyte's own auto-disable only kicks in after 14 consecutive failures or 100 total failures, and it never fires on idle-but-succeeding connections that still cost credits every run. That gap is exactly what this workflow closes.

Additional information

What does this prompt do?
  • Reviews every Airbyte connection in your workspace and looks at the last 30 days of sync activity.
  • Classifies each one as healthy, idle, failing, or already disabled based on how it has actually been running.
  • Posts a single Slack message to the data team channel with a shortlist of connections worth pausing, deleting, or investigating.
  • Gives each recommendation a one-line reason and a suggested action so the team can decide without opening Airbyte.
What do I need to use this?
  • An Airbyte Cloud account with API access (Client ID and Client Secret)
  • A Slack workspace with a channel for the data team where the review should be posted
How can I customize it?
  • Change the schedule if Monday at 9am doesn't fit your data team's rhythm
  • Point the message at a different Slack channel, or send it to a specific person as a DM
  • Tune the thresholds for what counts as idle (default 14+ days with 0 rows synced) or failing (multiple consecutive failed runs)

Frequently asked questions

How does this decide a connection is idle?
A connection is flagged as idle when its recent runs are technically succeeding but haven't produced any new rows for 14 or more days. Those still consume credits every time they run, even though nothing downstream is getting fresh data.
Will this pause or delete connections automatically?
No. It only recommends. Every action lands in Slack with a one-line reason so a human can decide what to pause, delete, or dig into. You can extend it later to auto-pause the obvious ones.
How is this different from a daily Airbyte health digest?
A daily health digest tells you which syncs turned red overnight. This is a weekly cost-hygiene review — it surfaces connections that are quietly burning credits without producing useful data, which a green/red status check will never catch.
Doesn't Airbyte already auto-disable broken connections?
Airbyte auto-disables connections only after 14 consecutive failures or 100 total failures. It never disables idle-but-succeeding connections, so those keep costing you money until someone notices. This workflow closes that gap.
How much history does it look at per connection?
The last 30 days of sync jobs. That's enough to spot a run of failures or a long stretch of zero-row syncs without getting noisy about a single bad night.

Stop paying for Airbyte pipelines nobody uses.

Get a weekly cleanup list in Slack so cost hygiene never falls off the data team's plate.