DATA OPS
Agent-driven triage of a failed BigQuery to Attio audience sync
When a reverse-ETL sync alert fires, an agent investigates the row-count gap, inspects rejected records in BigQuery, drafts a root-cause summary, and files a Linear ticket.
How it runs
The automated pipeline, trigger to output.
- TriggerSync underdelivery alert (webhook)
- ActionQuery BigQuery rejected-record table and reason codesBigQuery
- ActionCross-check sample rows against Attio field rulesAttio
- LogicAgent reasons over reject reasons to find root cause
- ActionFile Linear ticket with evidence and hypothesisLinear
- OutputPost Slack note linking the triage ticketSlack
What it does
Turns a raw sync-failure alert into a diagnosed, ticketed problem. When a BigQuery-to-Attio audience sync underdelivers, an agent pulls the rejected rows, looks for the common failure pattern (malformed emails, missing required fields, dedupe collisions), writes a plain-English root cause, and opens a Linear issue with the evidence attached.
When to use it
Use it when sync failures are frequent enough to drown your data team in manual triage but varied enough that a fixed rule cannot explain them. The agent reads the actual reject reasons instead of just reporting a count mismatch, so the ticket arrives with a hypothesis rather than a shrug.
How it works
- 1A webhook fires when the sync run reports fewer loaded records than extracted.
- 2The agent queries BigQuery for the run's rejected-record table and reason codes.
- 3It cross-checks a sample of failing rows against Attio's field requirements.
- 4Reasoning over the reject reasons, it identifies the dominant failure mode and drafts a root-cause summary.
- 5It files a Linear ticket with the counts, top reject reasons, and sample failing rows.
- 6It posts a Slack note linking the ticket so the owner sees it in context.
Set it up
What you configure once, before turning it on.
- 1Connect BigQueryDatasets, queries, schemas.
- 2Connect AttioReal-time CRM with structured data + powerful views.
- 3Connect LinearIssues, projects, cycles, triage.
- 4Connect SlackChannels, DMs, threads, mentions.
- 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.
