DATA OPS

Pre-campaign audience gate: block sends until BigQuery and HubSpot agree

Before a campaign launches, verifies the BigQuery audience and the HubSpot list match on both row count and freshness, and either approves the launch in Slack or holds it.

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerCampaign moved to queued (webhook with list IDs)HTTP webhook
  • ActionGet BigQuery audience count and refresh timestampGoogle BigQueryBigQuery
  • ActionGet HubSpot list member countHubSpotHubSpot
  • LogicRun count-parity and freshness gates
  • OutputPost approve-to-send or hold decision to SlackSlack

What it does

Acts as a go/no-go gate the moment a campaign is queued. It confirms the HubSpot list driving the send matches its BigQuery source on count and that the underlying data was refreshed recently enough to be trustworthy, then either greenlights or blocks the launch with a clear reason.

When to use it

Use it on high-stakes sends where mailing a stale or truncated audience costs real money or reputation, such as renewal pushes or win-back blasts. Instead of discovering a bad sync in the post-mortem, the operator gets an explicit approve-or-hold decision before a single email goes out.

How it works

  1. 1A webhook fires when a campaign is moved into the queued state, passing the audience and HubSpot list IDs.
  2. 2Query BigQuery for the source audience count and its latest refresh timestamp.
  3. 3Query HubSpot for the list's current member count.
  4. 4A logic step runs two gates: count parity within tolerance, and refresh recency within the freshness window.
  5. 5If both pass, post an approved-to-send message to Slack with the verified counts.
  6. 6If either fails, post a hold notice naming the failed gate so the operator can requeue after a resync.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect HubSpotCRM, deals, marketing, support.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Connect HTTP webhookTrigger any URL on agent actions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.