DATA OPS
Reverse-ETL Freshness Guard: Snowflake to HubSpot with PagerDuty Escalation
Monitors Snowflake-to-HubSpot sync freshness and escalates to PagerDuty when lag crosses a critical SLA, while routine warnings stay in Slack.
How it runs
The automated pipeline, trigger to output.
- TriggerEvery 15 minutes (schedule)
- ActionQuery Snowflake ETL metadata for last load timesSnowflake
- LogicClassify each model: healthy / warning / critical
- ActionPost warning-level lag to SlackSlack
- ActionOpen PagerDuty incident for critical SLA breachPagerDuty
- OutputAnnotate affected HubSpot record count on the alertHubSpot
What it does
This workflow guards the Snowflake models feeding HubSpot marketing and CRM properties. It measures sync lag on a schedule and applies two-tier severity: minor lag posts a Slack warning, but lag past the hard SLA opens a PagerDuty incident so the on-call data engineer is paged.
When to use it
Use it when stale HubSpot data has real cost — misfired campaigns, wrong lifecycle stages, bad segmentation — and you need paging, not just a chat ping, once freshness breaches your SLA.
How it works
- 1A schedule runs every 15 minutes.
- 2A Snowflake query returns each synced model's latest load timestamp from your ETL metadata table.
- 3A logic step classifies each model as healthy, warning, or critical against its SLA.
- 4Warning-level lag posts a non-paging Slack notice.
- 5Critical-level lag triggers a PagerDuty incident with the model name, lag, and affected HubSpot objects.
- 6A final HubSpot check annotates how many records depend on the stalled model so responders know blast radius.
Set it up
What you configure once, before turning it on.
- 1Connect SnowflakeWarehouses, queries, shares.
- 2Connect HubSpotCRM, deals, marketing, support.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Connect PagerDutyIncidents, on-call, escalations.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Data Ops workflows
Weekly BigQuery Cost Trend Sheet and Exec Digest
Compiles week-over-week BigQuery scheduled-query cost by owner and dataset into a Google Sheet with trend columns.
Daily BigQuery Scheduled-Query Cost Attribution to Owners
Each morning, totals the prior day's on-demand bytes-billed per scheduled query, maps each query to its owner from a label, and posts a per-owner cost leaderboard to Slack.
BigQuery Per-Team Budget Breach Alert to PagerDuty
Tracks month-to-date BigQuery scheduled-query spend per team and, when a team crosses its monthly budget, pages the team's on-call in PagerDuty and snapshots the spend breakdown…
dbt source freshness watcher with severity-routed alerts
Checks Snowflake loaded-at timestamps against each dbt source's freshness SLA, then routes warnings to Slack and hard breaches to a PagerDuty incident so stale data never…
dbt orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
Raw Sensor Telemetry Archive to BigQuery
Captures every incoming building sensor reading via webhook, normalizes the payload into a consistent schema.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
