> ## Documentation Index
> Fetch the complete documentation index at: https://docs.harbinge.rs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zapier Integration

> Trigger Zaps from Forager attestation events — no proxy or code required

Forager ships a private Zapier app with two instant triggers: **New Attestation** and **Mismatch Detected**. Unlike the [custom CMDB webhooks](/dashboard/webhook-settings), this path needs no proxy server, no code, and no payload template — you connect Zapier to Forager with an API key and build Zaps directly in Zapier's editor.

**Choose this approach if** you want to react to Forager events in Zapier without standing up your own endpoint — for example, posting to Slack, filing a row in Google Sheets, or creating a ticket in a tool Forager doesn't natively integrate with.

## What the integration does

Forager's Zapier app exposes two **instant** triggers (delivered via REST hooks, not polling):

| Trigger               | Fires on                                                                                                 |
| --------------------- | -------------------------------------------------------------------------------------------------------- |
| **New Attestation**   | Every attestation Forager records — `match`, `mismatch_confirmed`, `mismatch_dismissed`, and `new_asset` |
| **Mismatch Detected** | Only `mismatch_confirmed` attestations — a tech found an asset in a different location than recorded     |

Both triggers fire within seconds of the scan, the same as Forager's CMDB webhooks.

***

## Step 1 — Generate an API key

1. Go to **Dashboard → Settings → API Keys & Zapier**
2. Click **Generate Key**
3. Copy the key immediately — it is **shown only once** and cannot be retrieved again after you leave the page

<Warning>
  If you lose the key, you'll need to generate a new one and reconnect your Zaps. Store it in a password manager if you're not connecting Zapier right away.
</Warning>

The same panel lists your active Zapier subscriptions (one per Zap trigger you've turned on) and lets you revoke the key entirely.

***

## Step 2 — Accept the private app invite

Forager's Zapier app is currently unlisted (private). Your Forager administrator will provide an invite link to the private app — accepting it adds "Forager" as an available app in your Zapier account. You only need to do this once per Zapier account.

***

## Step 3 — Build a Zap

1. In Zapier, create a new Zap and search for **Forager** as the trigger app
2. Choose **New Attestation** or **Mismatch Detected** as the trigger event
3. Click **Connect Account** and paste the API key from Step 1
4. Click **Test trigger** — Zapier pulls a handful of recent attestations (or mismatches) as sample data so you can map fields into the rest of your Zap
5. Add your action steps (Slack message, Google Sheets row, ticket creation, etc.) and turn the Zap on

Once the Zap is on, Forager registers a subscription and pushes matching events to Zapier in real time — no polling delay.

***

## Payload field reference

Every trigger delivers the same shape, regardless of which of the two triggers fired:

| Field           | Example value                                                            | Notes                                                                                                    |
| --------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| `id`            | `"a1b2c3d4-..."`                                                         | Unique ID of the attestation record                                                                      |
| `event`         | `"attestation.created"` or `"mismatch.detected"`                         | Which trigger delivered this event                                                                       |
| `asset_tag`     | `"BIO-4721"`                                                             | Barcode of the scanned device                                                                            |
| `type`          | `"match"`, `"mismatch_confirmed"`, `"mismatch_dismissed"`, `"new_asset"` | Attestation outcome                                                                                      |
| `location_path` | `"Memorial Hospital / Floor 3 / Biomedical Storage"`                     | Full location breadcrumb                                                                                 |
| `room`          | `"Biomedical Storage"`                                                   | Last segment of `location_path`                                                                          |
| `confirmed_by`  | `"Maria Ortega"`                                                         | Display name of the tech who recorded the attestation                                                    |
| `confirmed_at`  | `"2026-06-07T14:23:11Z"`                                                 | ISO 8601 UTC timestamp                                                                                   |
| `source`        | `"manual"`, `"raven"`, `"forager_client"`                                | How the attestation was captured — manual scan, Raven beacon, or the self-reporting Forager Client agent |

<Note>
  **Mismatch Detected** only ever delivers `type: "mismatch_confirmed"` — it's a pre-filtered feed of the **New Attestation** trigger. Use it when you only care about location discrepancies and don't want to add a Zapier filter step.
</Note>

***

## Revoking access

Revoking the API key (Settings → API Keys & Zapier → **Revoke**) immediately deletes all Zapier subscriptions tied to it. Any Zaps using that connection stop receiving events right away — you'll need to generate a new key and reconnect before they'll fire again.

***

## Troubleshooting

| Symptom                                | Likely cause                                                                | Fix                                                                                     |
| -------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| Zapier shows `401` when connecting     | Key was revoked, mistyped, or belongs to a different Forager company        | Generate a new key in Settings → API Keys & Zapier and reconnect the account in Zapier  |
| "Test trigger" returns no sample data  | No attestations recorded yet                                                | Perform a test scan in the Forager app, then retry the test in Zapier                   |
| Zap was working, now silent            | Key was revoked (deletes subscriptions), or the Zap was turned off          | Check Settings → API Keys & Zapier for an active subscription; reconnect if missing     |
| Only some attestations trigger the Zap | You're on **Mismatch Detected**, which filters to `mismatch_confirmed` only | Switch to **New Attestation** if you need every event, then filter downstream in Zapier |

***

## See also

<CardGroup cols={2}>
  <Card title="Make.com Integration" icon="diagram-project" href="/integrations/make">
    Reuse Forager's existing CMDB webhooks to trigger Make scenarios
  </Card>

  <Card title="Webhook Reference" icon="webhook" href="/integrations/webhook-reference">
    Schema and delivery behavior for Forager's custom CMDB webhooks
  </Card>
</CardGroup>
