DATA OPS

Reverse-ETL Freshness Guard: BigQuery to Salesforce Lag Alert

Checks how long ago each BigQuery-to-Salesforce sync table was last refreshed and alerts Slack the moment any sync exceeds its allowed staleness window.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerEvery 30 minutes (schedule)
  • ActionQuery BigQuery for each model's MAX(updated_at)Google BigQueryBigQuery
  • LogicCompute lag per model; flag those over threshold
  • ActionConfirm Salesforce destination row count not frozenSalesforce
  • OutputPost stale-sync alert to Slack data-ops channelSlack

What it does

This workflow watches your reverse-ETL pipeline that pushes warehouse models into Salesforce. On a schedule it reads the last-updated timestamp for each synced model in BigQuery, compares it against a per-model freshness budget, and raises a Slack alert listing exactly which syncs have gone stale and by how long.

When to use it

Use it when Salesforce records (accounts, lead scores, usage rollups) are powered by warehouse models and your revenue team relies on them being current. It catches a silent sync pause before reps act on day-old numbers.

How it works

  1. 1A schedule fires every 30 minutes.
  2. 2A BigQuery query returns each sync model's name and its MAX updated_at timestamp.
  3. 3A logic step computes lag per model and flags any whose lag exceeds its configured threshold.
  4. 4If nothing is stale, the run ends quietly.
  5. 5For stale models, a Salesforce read confirms the destination row count hasn't frozen, ruling out false alarms.
  6. 6A Slack message posts the stale table list with lag durations and last-sync times to the data-ops channel.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SalesforceAccounts, opportunities, cases.
  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.