Skip to main content
5 minIntegration

Zapier Integration

Wire ABM.dev into the 7,000+ apps Zapier already talks to. Enrichment as a step in any workflow you already run.

In this guide

  • Install the ABM.dev Zapier app via invite link
  • Connect your account with an ABM.dev API key
  • Pick triggers, actions and searches for your Zap
  • Build a workflow end to end

Prerequisites

  • An ABM.dev account on any paid plan
  • A Zapier account (Free works for two-step Zaps; Starter or above for filters and multi-step)
  • An ABM.dev API key from Settings → API Keys
1

Install the ABM.dev Zapier app

The ABM.dev app is currently invite-only while we finish certification with Zapier. Open the invite link below in the same browser session as your Zapier account.

Accept the Zapier invite

Invite-only for now

We'll switch the app to public listing in the Zapier App Directory after we clear Zapier's public-review process. The invite link is functionally identical; once installed, the app behaves like any other Zapier integration.
2

Connect with your API key

Zapier will prompt for an API key the first time you add an ABM.dev step.

  1. 1.Open Settings → API Keys in the ABM.dev dashboard
  2. 2.Create a key labelled something like zapier-production
  3. 3.Copy the key and paste it into Zapier when prompted
  4. 4.Zapier verifies the key against GET /api/v2/account before saving the connection
Open API Keys

One key per environment

Issue separate keys for staging and production Zaps. Rotating a single key revokes the whole estate; separate keys let you cycle one without breaking the other.
3

What you can wire up

Triggers

Polling, 5 min

Things that happen in ABM.dev and kick off a Zap somewhere else.

LabelKeyWhat it fires on
New Enrichment Completednew_enrichmentAn enrichment finishes for a person or company in your workspace
New Contact Creatednew_contactA contact is added to your ABM.dev CRM (directly or via a connected platform)
Campaign Status Changedcampaign_status_changedA campaign moves between draft, running, paused, or completed

Actions

Write

Things Zapier does to ABM.dev in response to something somewhere else.

LabelKeyWhat it does
Create Enrichmentcreate_enrichmentSubmit a person or company to the enrichment pipeline. Returns an enrichment ID immediately; the New Enrichment Completed trigger fires when it finishes.
Create Contactcreate_contactCreate a contact in your ABM.dev CRM. Pick the destination platform (HubSpot today, more later) on the step itself.

Searches

Read

Lookups Zapier runs mid-Zap to find existing records.

LabelKeyWhat it does
Find Contactfind_contactLook up a contact by email. Pairs neatly with Find or Create at the Zap level.
4

Example workflows

Three Zaps that earn their keep on day one.

Workflow 1

Enrich every new HubSpot contact, automatically

  1. 01Trigger — HubSpot: New Contact
  2. 02Action — ABM.dev: Create Enrichment (type: person, pass the HubSpot email + first/last name + company)
  3. 03That's it. The HubSpot writeback happens server-side once enrichment finishes — no extra step needed.
Workflow 2

Stream finished enrichments to a Google Sheet

  1. 01Trigger — ABM.dev: New Enrichment Completed
  2. 02Filter — only continue if status is completed
  3. 03Action — Google Sheets: Create Spreadsheet Row. Map entity name, company, email, LinkedIn URL, created_at.

Useful when ops wants a running ledger before anyone trusts the API enough to read from it directly.

Workflow 3

Apollo list updates → enrich → CRM

  1. 01Trigger — Apollo: New Contact Added to List
  2. 02Search — ABM.dev: Find Contact by email. Set Find or Create so a missing contact is created on the fly via Create Contact.
  3. 03Action — ABM.dev: Create Enrichment against the contact you just resolved.
  4. 04Action — your CRM: write the enriched fields back. (Or skip this — if the contact platform is HubSpot, writeback runs automatically.)

Or skip Zapier and call the API directly

Every Zapier action is a thin wrapper over the public API. If you'd rather wire this into your own code, the enrichment endpoint looks like this:

Create an enrichment
curl -X POST https://api.abm.dev/api/v2/enrichments \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "targets": [
      {
        "type": "person",
        "email": "[email protected]",
        "first_name": "Ada",
        "last_name": "Lovelace",
        "company": "Analytical Engines Ltd"
      }
    ]
  }'

Troubleshooting

Connection test fails

  • - Re-copy the key from Settings → API Keys. Leading/trailing spaces are the usual culprit.
  • - Confirm the key isn't revoked. Revoked keys 401 on /api/v2/account and Zapier shows the auth as broken.
  • - Check your workspace still has at least one active subscription — keys for cancelled workspaces are rejected with a 402.

Trigger never fires

  • - Triggers poll every 5 minutes on paid Zapier plans, 15 on Free. Be patient on the first run.
  • - Use Zapier's Replay Zap if the trigger fired but your downstream action errored — it re-runs without re-polling ABM.dev.
  • - The first sync only returns events created after the connection was set up. Historic data isn't backfilled.

Action returns 429

  • - You've hit the per-key rate limit. Add a Delay step before the ABM.dev action, or split into multiple keys.
  • - For Apollo or Clay-style bulk imports, use the platform's own bulk export → upload pattern rather than fanning out one Zap per row.

Next steps