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

# Zapier integration

> Connect Loops to thousands of apps to manage contacts and send email.

<Info>
  Our Zapier integration lets you:

  * Create, find and update contacts
  * Send events to trigger workflows
  * Send transactional email
  * Trigger Zaps based on activity in your Loops account
</Info>

Zapier lets you connect thousands of other platforms to Loops.

We have created Zapier Actions for managing contacts, sending events and sending transactional emails and Zapier Triggers based on contact updates and email sending.

## Creating a new Zap

To create a new Zap—for example, to connect Tally and Loops—you can either type out what you want to create.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-start.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=6e2b8942278cc2422df9f9f512da4842" alt="Create a new Zap" width="2280" height="1178" data-path="images/zapier-start.png" />

Alternatively, click the **+ Create** button. Select Tally as the **Trigger** (using the "New Submission" event) and Loops as the **Action** (selecting "Add Contact" as the event). This would send new Tally submissions directly into Loops!

<img src="https://mintcdn.com/loops/K9TRANbphBauR0pJ/images/create-zapier.png?fit=max&auto=format&n=K9TRANbphBauR0pJ&q=85&s=5e44ef05d1c5def2938cb0bdfe13c132" alt="A new Zap" width="2280" height="1661" data-path="images/create-zapier.png" />

### Authentication

To be able to use Loops Actions, you need to connect to your Loops account. From the **Account** tab, click **Sign in**.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-sign-in-loops.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=57d92c4753c574e79e46bb270d02386c" alt="Sign in to Loops" width="2280" height="1164" data-path="images/zapier-sign-in-loops.png" />

Create or copy an API key from your Loops [API settings page](https://app.loops.so/settings?page=api) and paste it into the **API Key** field.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-api-key.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=8e02fc5f4ba0f2f46a3b9bf485aca70c" alt="Add API key into Zapier" width="2280" height="1178" data-path="images/zapier-api-key.png" />

If you want to remove or edit your Zapier connections to Loops, go to [Apps -> Loops](https://zapier.com/app/connections/loops).

<Tip>
  You can create connections to multiple Loops accounts from a single Zapier account.
</Tip>

## Triggers

There are a number of Loops triggers available in Zapier:

* Contact created
* Contact unsubscribed
* Contact deleted
* Contact subscribed to mailing list
* Contact unsubscribed from mailing list
* Campaign email sent
* Loops email sent
* Transactional email sent

<Tip>
  The "Email sent" triggers will fire for every individual email sent. If you send a campaign to 1,000 contacts, it will be triggered 1,000 times.
</Tip>

Accompanying data is sent with each trigger. You can see the data available for each trigger by looking up the corresponding [webhook events](/webhooks).

<Info>
  Loops were renamed to Workflows on May 6, 2026. Zapier trigger bodies still
  use webhook `loop` names for compatibility, including `loop.email.sent`,
  `loopId`, `loopName`, and `sourceType: "loop"`.
</Info>

You can use the `contactIdentity` object to identify the contact that triggered each event.

For example, the "Contact subscribed to mailing list" trigger will fire when a contact is subscribed to a mailing list and contains the following data:

```json theme={"dark"}
{
  "eventName": "contact.mailingList.subscribed",
  "eventTime": 1734425918,
  "webhookSchemaVersion": "1.0.0",
  "contactIdentity": {
    "id": "cm4ittmhq0011ow9h6fb460yw",
    "email": "test@example.com",
    "userId": null
  },
  "mailingList": {
    "id": "cm4ittp2k000l12j3lgrzvlxt",
    "name": "test mailing list",
    "description": null,
    "isPublic": true
  }
}
```

## Actions

### Add a contact

This action adds new contacts to your Loops audience. If the email address already exists, it will return an error.

All default [contact properties](/contacts/properties) are available, plus [mailing lists](/contacts/mailing-lists) and any custom contact properties added to your Loops account.

Only the **Email** field is required. The **Source** field defaults to “Zapier” but you can update this to whatever value you like.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-add-contact.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=49803fad1943233ad8dfd22801db9dc2" alt="Add a contact" width="2280" height="2478" data-path="images/zapier-add-contact.png" />

### Update a contact

<Tip>
  The "Update a contact" action will create a contact if a matching contact does not already exist, making it useful if you don't know in advance if a contact exists in Loops.
</Tip>

This action supports the same fields as "Add a contact".

Only the **Email** field is required.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-update-contact.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=024de14804f3da533a1e09c4d78896b1" alt="Update a contact" width="2280" height="2478" data-path="images/zapier-update-contact.png" />

### Find a contact

This action supports searching your contact list for a specific email address.

You also have the option to create a new user if one is not found.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-find-contact.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=ed0d74c12cf8013931baf3510bf9f0ef" alt="Find a contact" width="2280" height="1670" data-path="images/zapier-find-contact.png" />

### Delete a contact

This action will delete a contact by email address.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-delete-contact.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=f2db5c4e84354cb08c3ffa1eaefed476" alt="Delete a contact" width="2280" height="1328" data-path="images/zapier-delete-contact.png" />

### Send an event

This event will send an event in Loops. You need to specify an **Email** or **User ID** value to identify the contact, plus an **Event Name**.

The action also supports [event properties](/events/properties) and [mailing lists](/contacts/mailing-lists).

The **Email**/**User ID** and **Event Name** fields are required.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-send-event.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=4ff655321e6d81672d67cf1dd6c36d84" alt="Send an event" width="2280" height="2478" data-path="images/zapier-send-event.png" />

### Send a transactional email

This action sends a transactional email and can optionally add a contact to your audience.

The **Transactional Id**, **Email** and **Data Variables** fields are required.

<img src="https://mintcdn.com/loops/1DdZd7QTRR4Srm-l/images/zapier-transactional.png?fit=max&auto=format&n=1DdZd7QTRR4Srm-l&q=85&s=a45b1342c9d148ab245c73dc0809f60a" alt="Send a transactional email" width="2280" height="2478" data-path="images/zapier-transactional.png" />
