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

# Connect ActiveCampaign for Email Engagement Signals

> Send ActiveCampaign email opens, clicks, replies, and form submissions into Stairoids as engagement signals to trigger cross-channel automations.

The ActiveCampaign integration transforms email engagement data into actionable signals in Stairoids. Every open, click, reply, and form submission your contacts send becomes a scored event that Stairoids can act on — routing high-intent contacts to HeyReach sequences, updating CRM records, or triggering notifications without any manual filtering. You can also push contacts back into ActiveCampaign via outgoing actions, closing the loop between signal and nurture.

## Prerequisites

Before connecting, make sure you have:

* An ActiveCampaign account (API access is available on all plans, including Lite)
* Your ActiveCampaign **API URL** and **API Key** (found under **Settings → Developer** in ActiveCampaign)
* Admin access in your Stairoids workspace

## Connect ActiveCampaign

<Steps>
  <Step title="Copy your API credentials from ActiveCampaign">
    In ActiveCampaign, go to **Settings → Developer**. Copy both the **API URL** (e.g., `https://youraccountname.api-us1.com`) and the **API Key**.
  </Step>

  <Step title="Open Integration Settings in Stairoids">
    Navigate to **Settings → Integrations** and click **Add Integration**.
  </Step>

  <Step title="Select ActiveCampaign">
    Choose **ActiveCampaign** from the integration catalog. Enter your API URL and API Key, then click **Connect**.
  </Step>

  <Step title="Select campaign events to track">
    Stairoids will load a list of your ActiveCampaign campaigns and lists. Toggle on the events you want to convert into signals. You can filter by campaign or list to avoid importing events from unrelated nurture sequences.
  </Step>

  <Step title="Verify the connection">
    Stairoids validates your credentials and registers the necessary webhooks in ActiveCampaign. You'll see a confirmation once the connection is live. New engagement events will begin flowing into your **Signal Feed** within minutes.
  </Step>
</Steps>

## Supported signal types

| Signal type        | Trigger                                | Key properties                                                |
| ------------------ | -------------------------------------- | ------------------------------------------------------------- |
| `email_open`       | Contact opens an email                 | `contact_email`, `campaign_id`, `campaign_name`, `opened_at`  |
| `email_click`      | Contact clicks a tracked link          | `contact_email`, `link_url`, `campaign_id`, `clicked_at`      |
| `email_reply`      | Contact replies to a campaign email    | `contact_email`, `campaign_id`, `reply_subject`, `replied_at` |
| `form_submit`      | Contact submits an ActiveCampaign form | `contact_email`, `form_id`, `form_name`, `submitted_at`       |
| `list_subscribe`   | Contact subscribes to a list           | `contact_email`, `list_id`, `list_name`, `subscribed_at`      |
| `list_unsubscribe` | Contact unsubscribes from a list       | `contact_email`, `list_id`, `list_name`, `unsubscribed_at`    |

## Contact matching

When an ActiveCampaign signal arrives, Stairoids matches it to an existing contact using the `contact_email` field. If a contact with that email address exists in your Stairoids workspace, the signal is attached to them automatically. If no match is found, Stairoids creates a new contact record using the email address and any additional fields provided by the ActiveCampaign event (first name, last name, phone if present).

## Supported outgoing actions

When a Stairoids automation targets ActiveCampaign, it can perform the following actions:

* **Add contact to list** — subscribe a contact to a specific ActiveCampaign list
* **Add tag** — apply a tag to a contact record
* **Send campaign** — trigger a one-time email campaign send to a contact
* **Update custom field** — write a value to any ActiveCampaign contact custom field

<Tip>
  Use `email_reply` signals to trigger your highest-priority automations. A reply is one of the strongest buying signals you can capture from email — it indicates active engagement and an open conversation. Consider using it to immediately notify an account owner in Slack, update a deal stage in Pipedrive, or start a targeted HeyReach LinkedIn sequence.
</Tip>

## Troubleshooting

<Accordion title="Events not flowing into Stairoids">
  1. Go to **Settings → Integrations → ActiveCampaign** and confirm the connection status is **Active**.
  2. Check ActiveCampaign's **Settings → Developer → Event Tracking** to confirm Stairoids' webhooks are registered. If they're missing, disconnect and reconnect the integration.
  3. Verify that the relevant event types (e.g., `email_open`, `email_click`) are toggled on in the Stairoids ActiveCampaign configuration panel.
  4. Confirm the campaigns you're monitoring are in **Active** or **Sent** status in ActiveCampaign. Paused or draft campaigns do not fire engagement events.
  5. Some ActiveCampaign plans throttle webhook delivery under high volume. If you're running large broadcast campaigns, allow a few extra minutes for events to arrive.
</Accordion>

<Accordion title="Contact not matched in Stairoids">
  1. Confirm the ActiveCampaign event includes a valid email address. Events from contacts who opted out of email tracking or whose email was masked will not contain a usable address.
  2. Check whether the contact already exists in Stairoids under a different email address. If so, add the ActiveCampaign email as a secondary email on the Stairoids contact record.
  3. If automatic contact creation is disabled in your workspace settings (**Settings → Contacts → Auto-create from signals**), unmatched signals will queue without creating new contacts. Enable auto-creation or manually create the contact and the queued signals will attach retroactively.
</Accordion>
