Skip to content

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).

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

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.

  1. 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 from GET /v1/catalog/fields — never a hardcoded list, so newly added attributes show up without an app update.
  2. 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.
  3. 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/file doesn’t accept field_list/template_id at 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.
  4. Export Enriched Results — kicks off POST /v1/audiences/{id}/deliveries for an Enrichment Job and returns immediately (still processing); watch Export Ready/ Export Failed for the download link. Destination is fixed to download — 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.

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.

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.

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.