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.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSlack extension-request form submittedSlack
  • ActionLook up grant and dataset ownerPostgreSQLPostgres
  • LogicValidate request against policy limits
  • ActionSend owner an approve/deny messageSlack
  • ActionOn approval, extend BigQuery IAM bindingGoogle BigQueryBigQuery
  • OutputRecord new expiry and confirm to requesterPostgreSQLPostgres

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

  1. 1A Slack shortcut/webhook submission triggers the flow with the grant id and requested duration.
  2. 2Postgres looks up the grant and its dataset owner.
  3. 3A logic step validates the grant exists, is still owned, and the extension is within policy limits.
  4. 4Slack sends the owner an interactive approve/deny message.
  5. 5On approval, BigQuery updates the IAM binding expiry and Postgres records the new `expires_at` and approver.
  6. 6Slack confirms the outcome back to the requester.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect SlackChannels, DMs, threads, mentions.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect BigQueryDatasets, queries, schemas.
  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.