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

# Zapier, Make and Pabbly Connect

> Connect InstantCampaign to thousands of apps with no-code workflow tools, using your API key for actions and webhooks for triggers.

Zapier, Make (formerly Integromat) and Pabbly Connect can call InstantCampaign and react to what happens in it. Nothing needs to be installed or authorised on the InstantCampaign side. These tools use the same [API keys](/guides/developers/api-keys) and [webhooks](/guides/developers/webhooks) as any other integration.

You'll find the three tools on **Settings → Developers → Integrations** under **Automation & Workflow Tools**. Each card is marked **Ready** and has **Get API Key** and **Docs** buttons. Click **Show available triggers & actions** for a summary.

<Note>
  These tools need the **Pro** or **Enterprise** plan. The **Get API Key** button is shown to anyone who can create API keys: that needs the **API keys: manage** permission (Owners, Admins, or a custom role that grants it). Adding webhooks needs an Owner or Admin, so the link to **Webhooks** under **Show available triggers & actions** is only shown to them.
</Note>

## How the pieces fit

| In your workflow tool                       | Uses                                   | Example                                         |
| ------------------------------------------- | -------------------------------------- | ----------------------------------------------- |
| **Action**: do something in InstantCampaign | An HTTP request with your API key      | Add a contact when someone fills in a Typeform. |
| **Search**: look something up               | An HTTP request with your API key      | Find a contact by email before updating them.   |
| **Trigger**: react to InstantCampaign       | A webhook, or a REST hook subscription | Post in Slack when someone unsubscribes.        |

## Set up actions

<Steps>
  <Step title="Create an API key">
    Click **Get API Key**, or go to **Settings → Developers → API Keys**. Create a key named after the tool, for example "Zapier", and give it only the scopes it needs, such as **Contacts — write** or **Transactional — send**.
  </Step>

  <Step title="Add an HTTP step">
    In Zapier use **Webhooks by Zapier**, in Make the **HTTP** module, and in Pabbly the **API** action. Send the key in the header `Authorization: Bearer ic_…`.
  </Step>

  <Step title="Call an endpoint">
    Pick the endpoint for the job from the list below.
  </Step>
</Steps>

Commonly used endpoints:

| Purpose                           | Request                              |
| --------------------------------- | ------------------------------------ |
| Create or update a contact        | `POST /api/v1/contacts`              |
| Subscribe a contact to a list     | `POST /api/v1/lists/:id/subscribe`   |
| Unsubscribe a contact from a list | `POST /api/v1/lists/:id/unsubscribe` |
| Send a transactional email        | `POST /api/v1/transactional/send`    |
| Find a contact by email           | `GET /api/v1/contacts/search`        |
| List contacts                     | `GET /api/v1/contacts`               |
| List your contact lists           | `GET /api/v1/lists`                  |

See the [API reference](/api-reference/introduction) for request and response formats.

## Set up triggers

There are two ways to get events into a workflow.

<Tabs>
  <Tab title="Webhook (any tool)">
    1. In your tool, create a "catch hook" or custom webhook trigger and copy its URL.
    2. In InstantCampaign, go to **Settings → Developers → Webhooks**, add that URL, and tick the events you want.
    3. Send a test from the webhook's row and map the fields in your tool.

    These deliveries can be signed, and they are retried if the tool doesn't respond. See [Webhooks](/guides/developers/webhooks).
  </Tab>

  <Tab title="REST hook subscription">
    Tools that manage their own subscriptions can register and remove them through the API with a key that has **Webhooks — manage**:

    * `POST /api/v1/webhooks/subscribe` with `{ "event": "CONTACT_CREATED", "targetUrl": "https://…" }`
    * `DELETE /api/v1/webhooks/:id` to remove it

    REST hook deliveries are sent without a signature and retried on the same schedule as dashboard webhooks (about 34 hours, 10 attempts). If the target URL answers `410 Gone`, the subscription is removed.
  </Tab>
</Tabs>

The trigger list on the card shows every event a webhook or REST hook can subscribe to, with the count in its heading. See [Webhooks](/guides/developers/webhooks#events) for what each event means.

## Tips

* Give each tool its own API key, so you can revoke one without breaking the others.
* Use the **API log** under **Settings → Developers** to see the requests your workflows make and why any failed. See [API request log](/guides/developers/api-request-log).
* API keys are rate limited. For bulk loads, import a CSV instead of running one workflow step per contact.
