> For the complete documentation index, see [llms.txt](https://docs.b2core.b2broker.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.b2core.b2broker.com/how-to-articles/manage-communication-platforms/how-to-integrate-activecampaign.md).

# How to integrate ActiveCampaign

Use integration with [ActiveCampaign](https://www.activecampaign.com/) to streamline your marketing efforts by automatically syncing client data from B2CORE to ActiveCampaign, managing targeted email campaigns, sending notifications, and enhancing client engagement.

Follow the instructions below to configure the ActiveCampaign connection in the B2CORE Back Office and set up the required parameters.

{% hint style="info" %}
Before proceeding with the instructions, you must have signed up for ActiveCampaign and have an active account.
{% endhint %}

## How to configure a connection to ActiveCampaign

To configure a connection to ActiveCampaign in the B2CORE Back Office:

{% stepper %}
{% step %}
Navigate to **System** > **External connections**.
{% endstep %}

{% step %}
Click **+Create** in the upper-right page corner.
{% endstep %}

{% step %}
On the **Create connection** page, fill in the following fields:

* In the **Name** field, enter a name for the connection. The name must be unique.
* In the **Caption** field, enter a caption that will be applied to the connection in the Back Office.
* In the **Provider** dropdown, select **ActiveCampaign**.
  {% endstep %}

{% step %}
Click **Save** to create the connection.

The **ActiveCampaign** connection will appear in the list of external connections.
{% endstep %}

{% step %}
Click **Edit** to enter the connection details and complete the following fields:

* In the **API URL** field, provide the API URL as specified in your ActiveCampaign account.
* In the **API Token** field, specify your ActiveCampaign API key.

Both the API URL and key can be found in your ActiveCampaign account under **Settings** > **Developer**.

<figure><img src="/files/WvzwfTLijCguhBiERUlT" alt="Locate the URL and Key fields in ActiveCampaign"><figcaption><p>Locate the URL and Key fields in ActiveCampaign</p></figcaption></figure>
{% endstep %}

{% step %}
Check the connection status.

If the connection is inactive (**No** is displayed in the **Enabled** field), activate it by setting the **Enabled** dropdown to **Yes**.
{% endstep %}

{% step %}
Click **Save** to apply the changes.
{% endstep %}
{% endstepper %}

After configuring the connection, all clients listed under **Clients** > **General** in the B2CORE Back Office will be synced with ActiveCampaign and displayed in the **Contacts** section of your ActiveCampaign account.

## Overview of client data synced with ActiveCampaign

The following required client fields are always synced from B2CORE to ActiveCampaign:

* **First name**
* **Last name**
* **Email**
* **Phone**

When the ActiveCampaign external connection is enabled in the B2CORE Back Office, any new client registration or update to an existing client's details (such as first name, last name, email, or phone number) will be automatically synced with ActiveCampaign.

## How to add more fields for syncing from B2CORE to ActiveCampaign

You can sync additional fields from B2CORE to ActiveCampaign, such as a client’s **Status**, **Country**, and **Client type**, to support client segmentation and targeted email marketing.

In **ActiveCampaign**, add these fields:

{% stepper %}
{% step %}
Sign in to your ActiveCampaign account.
{% endstep %}

{% step %}
Go to **Contacts** > **Fields**.
{% endstep %}

{% step %}
On the **Contacts** tab, Click **Add Field**.
{% endstep %}

{% step %}
Enter the field name, select the appropriate field type, and specify other parameters.
{% endstep %}

{% step %}
Click **Save** to add a new field in your ActiveCampaign account.

The image below shows the added Status, Country, Client type, Jurisdiction, and Verification level fields in ActiveCampaign:

<figure><img src="/files/FpnWrDGhWfapBk6oBIly" alt="Added fields in ActiveCampaign"><figcaption><p>Added fields in ActiveCampaign</p></figcaption></figure>
{% endstep %}
{% endstepper %}

In the **B2CORE Back Office**, set up field mapping:

{% stepper %}
{% step %}
Navigate to **System** > **External connections**.
{% endstep %}

{% step %}
Find the connection configured for ActiveCampaign and click **Edit** to open the connection details.
{% endstep %}

{% step %}
Set up the field mapping by selecting the corresponding fields created in ActiveCampaign for **Status**, **Country**, **Client type**, **Jurisdiction**, and **Verification level**.

<figure><img src="/files/grp5qTXfnGmESZm8mdRK" alt="Set up field mapping"><figcaption><p>Set up field mapping</p></figcaption></figure>
{% endstep %}

{% step %}
Click **Save** to apply the changes.
{% endstep %}
{% endstepper %}

Once the fields are added and mapped, the client’s **Status**, **Country**, **Client type**, **Jurisdiction**, and **Verification level** are automatically synced from B2CORE and shown in the client details in ActiveCampaign.

## How to sync clients from B2CORE to specific lists in ActiveCampaign

Lists in ActiveCampaign help you organize contacts so you can send them relevant information. By assigning clients to specific lists, you can target your email campaigns more effectively and deliver personalized messages to the right audience.

In **ActiveCampaign**, create one or more lists:

{% stepper %}
{% step %}
Sign in to your ActiveCampaign account.
{% endstep %}

{% step %}
Go to **Contacts** > **Lists**.
{% endstep %}

{% step %}
Click **Add a list**.
{% endstep %}

{% step %}
Enter the list name and specify other parameters. For the **Marketing Channel**, select **Email**, as it is the only supported channel for this integration.
{% endstep %}

{% step %}
Click **Save** to create the list.
{% endstep %}
{% endstepper %}

In the **B2CORE Back Office**, select the list for syncing:

{% stepper %}
{% step %}
Sign in to the B2CORE Back Office.
{% endstep %}

{% step %}
Navigate to **System** > **External connections**.
{% endstep %}

{% step %}
Find the connection configured for ActiveCampaign and click **Edit** to open the connection details.
{% endstep %}

{% step %}
In the **List** dropdown, select the desired list created in your ActiveCampaign account. This will ensure all synced clients from B2CORE are added to that list.

If no list is selected, synced clients won't be added to any list.

<figure><img src="/files/ysn2TFnEg5fe5OYVQXVO" alt="Select the ActiveCampaign list to sync clients from B2CORE"><figcaption><p>Select the ActiveCampaign list to sync clients from B2CORE</p></figcaption></figure>
{% endstep %}

{% step %}
Click **Save** to apply the changes.
{% endstep %}
{% endstepper %}

Once the list is selected and saved, all clients from B2CORE will be automatically synced to the specified list in ActiveCampaign. Any new registrations or updates to existing clients will also reflect in the same list.

## How to track client unsubscribes in B2CORE

By default, the ActiveCampaign integration is one-directional: B2CORE pushes client data to ActiveCampaign. To also capture when a client unsubscribes from (or re-subscribes to) your marketing emails, set up an ActiveCampaign webhook that notifies B2CORE whenever a contact's subscription status changes.

When the webhook is configured, B2CORE keeps each client's marketing opt-out state up to date in the client's **Marketing Data**:

* **Unsubscribe status** — indicates whether the client is currently subscribed or unsubscribed. New clients are subscribed by default.
* **Unsubscribe timestamp** — records the moment of the client's first unsubscribe. It is set once and is never overwritten afterwards.

B2CORE matches each webhook notification to a client by email address. Notifications for emails that don't match any client, and event types other than subscribe or unsubscribe, are ignored.

### Webhook endpoint

Use the following endpoint URL when creating the webhook in ActiveCampaign:

```
POST https://<b2core-host>/api/v2/my/active-campaign/webhook/<connectionName>
```

* Replace `<b2core-host>` with your B2CORE back-office/API host.
* Replace `<connectionName>` with the name of the ActiveCampaign connection you created earlier (the same connection used for the outbound client sync).

The endpoint always returns a `200 OK` response so that ActiveCampaign does not retry the delivery.

### How to configure the webhook in ActiveCampaign

{% stepper %}
{% step %}
Sign in to your ActiveCampaign account.
{% endstep %}

{% step %}
Go to **Settings** > **Developer** > **Manage Webhooks** (or attach a webhook to an automation).
{% endstep %}

{% step %}
Click **Add Webhook**.
{% endstep %}

{% step %}
In the **Name** field, enter a descriptive name, for example `B2CORE unsubscribe`.
{% endstep %}

{% step %}
In the **URL** field, enter the webhook endpoint, filling in your B2CORE host and connection name.
{% endstep %}

{% step %}
Under **Initialize from**, select your marketing list(s).
{% endstep %}

{% step %}
Under **Events**, enable **Subscribes** and **Unsubscribes**. Enabling **Subscribes** allows a re-subscribe to clear the unsubscribe status in B2CORE.
{% endstep %}

{% step %}
Click **Save**, then use ActiveCampaign's **Send test** option to confirm B2CORE responds successfully.
{% endstep %}
{% endstepper %}

### How to verify the webhook

To confirm the webhook works:

* Trigger a test unsubscribe (or use **Send test** in ActiveCampaign).
* In the B2CORE Back Office, open the client's details and check the **Marketing Data** section. The unsubscribe status should show the client as unsubscribed, and the unsubscribe timestamp should be populated.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.b2core.b2broker.com/how-to-articles/manage-communication-platforms/how-to-integrate-activecampaign.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
