Zapier
Infinite Audience has a dedicated Zapier integration — actions and triggers for enrichment,
built and mostly complete, running against your account through the same OAuth
grant any connected app uses (authorization code + PKCE, a cfo_-prefixed token, never an API
key).
Vocabulary
Section titled “Vocabulary”The integration deliberately never uses the platform’s internal segment/audience nouns — a
Zapier user matching and enriching contacts never asked to build an “audience.” Everywhere in
the Zapier UI:
| Zapier-facing term | What it actually is |
|---|---|
| Enrichment Job | a matched segment created through /v1/match/file |
| Export Target | the linked audience /v1/audiences/{id}/deliveries exports from |
Connecting
Section titled “Connecting”Any org member with the purchase scope can connect their own account — this isn’t
owner/admin-only. Connecting again as the same person supersedes your prior connection
automatically. The OAuth grant requests both discovery and purchase (never account) — a
Zapier-authorized token can never manage API keys, webhook settings, or billing.
Actions (Creates)
Section titled “Actions (Creates)”- Enrich a Contact — instant. Matches one contact against the identity graph and returns
enrichment attributes right in this step (
POST /v1/match, one record). The attribute picker (“Attributes to Append”) is populated live fromGET /v1/catalog/fields— never a hardcoded list, so newly added attributes show up without an app update. - Enrich Multiple Contacts — instant. The same call, batched: up to 100 contacts in one Zap run, for when an upstream trigger already hands Zapier a table in a single event (order line items, a webhook payload with an array). It is not for the common “trigger fires once per row” pattern — each row there is already its own Zap run before this action ever sees it. Deliberately not auto-chunked past 100; use the file/table action below for larger sets.
- Enrich a File or Table of Contacts — asynchronous. Takes either a real file (up to
25MB) or a Contacts table already in the Zap (up to 1,000 rows), never both
(
POST /v1/match/file). Every contact needs at least one of email, phone, address line 1, or last name, or the run fails outright. This action has no attribute picker —/v1/match/filedoesn’t acceptfield_list/template_idat all; attributes are chosen later, at export. Watch Enrichment Completed/Enrichment Failed for completion, since file enrichment routinely runs far longer than a Zap action’s own timeout allows. - Export Enriched Results — kicks off
POST /v1/audiences/{id}/deliveriesfor an Enrichment Job and returns immediately (stillprocessing); watch Export Ready/ Export Failed for the download link. Destination is fixed todownload— LiveRamp and Narrative delivery aren’t available from Zapier today.
Every write action carries a stable, content-derived Idempotency-Key — a genuinely identical
retry (Zapier re-running the step after a timeout with byte-identical input) replays the
original result at zero extra charge; a real second run with different data always gets a fresh
key.
Search
Section titled “Search”Find an Enrichment Job — a free, read-only lookup (GET /v1/match/file/{id}, discovery
scope) for checking a job’s status by ID without waiting for a trigger.
Triggers
Section titled “Triggers”Four single-event triggers, each backed by its own webhook subscription
(POST /v1/webhook-subscriptions) that Zapier creates automatically when you turn the trigger
on and removes when you turn it off:
| Trigger | Fires on event |
|---|---|
| Enrichment Completed | segment.ready |
| Enrichment Failed | segment.failed |
| Export Ready | delivery.completed |
| Export Failed | delivery.failed |
Each is a REST Hook trigger, not polling — Zapier receives the event the moment it happens. Every delivery is signature-verified before being handed to your Zap.
Building on top of it
Section titled “Building on top of it”If you need something these four actions, one search, and four triggers don’t cover — audience building, discovery, campaigns — that’s outside this integration’s scope by design (it only covers the enrichment surface). Build directly against your OAuth grant the same way any other connected app would; see the API Reference and Enrichment: File Match.