DATA OPS
Governed BigQuery extract to Dropbox with PII masking and Slack approval
Fulfills an ad-hoc data export request by running a BigQuery query, masking PII columns, then waiting for a Slack approval before delivering the file to Dropbox.
How it runs
The automated pipeline, trigger to output.
- TriggerExport request submitted via form webhookHTTP webhook
- ActionRun parameterized query in BigQueryBigQuery
- LogicMask columns tagged as PII
- LogicPost summary to Slack and wait for approvalSlack
- ActionWrite masked CSV to requester's Dropbox folderDropbox
- OutputSend Slack confirmation with Dropbox linkSlack
What it does
Turns a one-off "can you pull this data for me" request into a controlled pipeline. It runs the requested BigQuery query, automatically masks columns flagged as PII (email, phone, SSN), and holds the result behind a Slack approval button so a data owner signs off before the file ever leaves the warehouse. Only after approval does the masked CSV land in a shared Dropbox folder.
When to use it
Use it when analysts or business teams request data exports that may contain customer PII and your governance policy requires a human approval before delivery. It replaces the risky pattern of running a query and emailing a raw CSV.
How it works
- 1A form submission (webhook) captures the requested dataset, query, and requester.
- 2BigQuery runs the parameterized query and returns the result set.
- 3A masking step redacts any column tagged as PII, leaving safe columns intact.
- 4An approval branch posts the row count and column list to Slack and pauses for an approve/reject decision.
- 5On approval, the masked CSV is written to the requester's Dropbox folder.
- 6A Slack message confirms delivery with the file link; rejection ends the run.
Set it up
What you configure once, before turning it on.
- 1Connect BigQueryDatasets, queries, schemas.
- 2Connect DropboxFiles and folders.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Connect HTTP webhookTrigger any URL on agent actions.
- 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
Snowflake column type-drift sentinel with Linear fix ticket
Snapshots the data types of every column in your tracked Snowflake schemas on a schedule, diffs against the last snapshot.
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 dropped/renamed column sentinel with PagerDuty incident
Detects when a column is dropped or renamed in your governed BigQuery datasets and, because that breaks downstream queries hard, pages the on-call via PagerDuty and posts…
PR-time Snowflake schema contract check on dbt model changes
When a pull request changes a dbt model, it compares the model's declared output columns against the live Snowflake table it will replace and blocks the merge with a GitHub check…
Agent-triaged warehouse drift with impact analysis and runbook update
On a webhook from your warehouse audit log, an agent investigates the changed column, traces which downstream models and dashboards depend on it.
Cross-warehouse replication schema mismatch reconciler
Compares the column shape of mirrored tables between BigQuery and Snowflake and, when a replicated table has drifted out of sync between the two, opens an Asana task for the data…
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.
