DATA OPS

Reverse-ETL Sync Freshness SLA Monitor

Watches the last successful sync timestamp recorded in Snowflake for each reverse-ETL destination and pages on-call via PagerDuty when any sync exceeds its freshness SLA.

CategoryData Ops
Enginesim
Difficultybeginner
Triggerschedule
Steps5
Setup~5 min

How it runs

The automated pipeline, trigger to output.

  • Trigger15-minute schedule runs the freshness check
  • ActionRead last-success timestamps and SLAs from SnowflakeSnowflakeSnowflake
  • LogicCompute staleness and select SLA breaches
  • ActionOpen a PagerDuty incident per breached destinationPagerDutyPagerDuty
  • OutputMirror the alert to the data-ops Slack channelSlack

What it does

Instead of comparing values, this workflow watches the heartbeat of the reverse-ETL pipeline itself. It reads the sync metadata table in Snowflake that records when each downstream destination (HubSpot, Salesforce, ad platforms) was last loaded successfully, then checks each destination's age against its configured freshness SLA. A sync that has gone quiet past its threshold triggers a PagerDuty incident so the pipeline is fixed before sales sees stale fields.

When to use it

Use it when silent sync failures are your real risk: the job stops running, no rows error, and CRM data quietly ages. Best for teams with named freshness SLAs per destination.

How it works

  1. 1A schedule runs the freshness check every 15 minutes.
  2. 2Snowflake query returns the last-success timestamp and configured SLA for each destination.
  3. 3A logic step computes staleness age and selects destinations past their SLA.
  4. 4If any breach exists, a PagerDuty incident is opened with the destination, age, and SLA.
  5. 5A Slack note mirrors the alert to the data-ops channel for visibility.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SnowflakeWarehouses, queries, shares.
  2. 2
    Connect PagerDutyIncidents, on-call, escalations.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.