DATA OPS
Self-Serve BigQuery Grant Extension Request with Owner Approval
Turns a Slack form submission into a tracked extension request, routes it to the dataset owner for approval.
How it runs
The automated pipeline, trigger to output.
- TriggerSlack extension-request form submittedSlack
- ActionLook up grant and dataset ownerPostgres
- LogicValidate request against policy limits
- ActionSend owner an approve/deny messageSlack
- ActionOn approval, extend BigQuery IAM bindingBigQuery
- OutputRecord new expiry and confirm to requesterPostgres
What it does
When a user needs more time on a BigQuery grant that is expiring, this workflow captures their request via a Slack form, finds the dataset owner, and asks the owner to approve or deny with a button. Approval pushes a new expiry date into the grant ledger and refreshes the BigQuery IAM binding; denial closes the request with a reason.
When to use it
Use it to give analysts and contractors a self-serve path to extend temporary access without filing a ticket or pinging an admin directly, while keeping a human owner in the approval loop for governance.
How it works
- 1A Slack shortcut/webhook submission triggers the flow with the grant id and requested duration.
- 2Postgres looks up the grant and its dataset owner.
- 3A logic step validates the grant exists, is still owned, and the extension is within policy limits.
- 4Slack sends the owner an interactive approve/deny message.
- 5On approval, BigQuery updates the IAM binding expiry and Postgres records the new `expires_at` and approver.
- 6Slack confirms the outcome back to the requester.
Set it up
What you configure once, before turning it on.
- 1Connect SlackChannels, DMs, threads, mentions.
- 2Connect PostgresAny Postgres URL — query, write, migrate.
- 3Connect BigQueryDatasets, queries, schemas.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Data Ops workflows
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 orphan model detector with Linear cleanup tickets
Scans your dbt manifest for models that no other model, exposure, or BI tool consumes.
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.
Backfill Missing Owner Labels on BigQuery Scheduled Queries
Finds scheduled queries with no owner label, infers the likely owner from creator metadata and target-table lineage, proposes a label.
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.
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…
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.
