> For the complete documentation index, see [llms.txt](https://docs.anedot.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.anedot.com/integrations/email-marketing-communication/activecampaign.md).

# Active Campaign

Connect Anedot to ActiveCampaign to sync donor contact data from fundraising pages for email engagement.

ActiveCampaign is a customer experience automation platform that combines email marketing, automation, and CRM tools to help organizations of any size streamline donor communication and engagement.

Anedot’s integration with ActiveCampaign allows donor contact information to be automatically passed into your ActiveCampaign account, simplifying list management and follow-up workflows.

## Connect Anedot to Active Campaign

To set up the integration between Anedot and ActiveCampaign, follow the steps below:

1. Go to the **Settings → Integrations → Directory** tab in your Anedot fundraising account.
2. Click the blue **+ New Connection** button in the upper-right corner of the Directory.
3. Choose **Active Campaign** from the Directory list.
4. Select which Action Pages you want to sync with ActiveCampaign. *By default, all pages are included.*
   * To exclude specific pages, enter a comma-separated list of Action Page IDs.
   * Optionally, you can scope the integration by Team, so only data from a selected Team is sent.
5. Enter your **Active Campaign URL**.
6. Enter your **Active Campaign List ID**.
7. Enter your **Active Campaign API Key**.
8. Click **Save**.

Once saved, your integration will be active. The Action Pages, Teams, and credentials can be updated at any time.

## Data Relays

* Anedot sends relays for both financial and non-financial pages.
  * **Note:** Custom field data is not included in relays at this time.
* If five consecutive relay attempts fail, the integration is marked as "inactive" and will no longer send data until reactivated.
* When a relay is successful:
  * A new contact will be added, or an existing contact will be updated, within the selected ActiveCampaign list.
  * These contacts can be viewed in the **Contacts** section of your ActiveCampaign account.

## Field Mapping

### List Payload

| Anedot Field                                  | Active Campaign Field |
| --------------------------------------------- | --------------------- |
| list\_id (see step 5 from setup instructions) | list                  |
| "1"                                           | status                |
| contact\_id (from Active Campaign)            | contact               |

### Contact Payload

| Anedot Field | Active Campaign Field |
| ------------ | --------------------- |
| email        | email                 |
| phone        | phone                 |
| lastName     | lastName              |
| firstName    | firstName             |

## Payload Data

### Request Headers

```
{}
```

### Request Body

```json
{  "list_payload": {    "contactList": {      "list": "1",      "status": 1,      "contact": "25"    }  },  "contact_payload": {    "contact": {      "email": "admin@anedot.com",      "phone": "2252501301",      "lastName": "Dot",      "firstName": "Annie"    }  }}
```

### Response Body

```json
{  "contactList": {    "id": "25",    "form": null,    "list": "1",    "sync": "0",    "links": {      "form": "https://anedot.activehosted.com/api/3/contactLists/25/form",      "list": "https://anedot.activehosted.com/api/3/contactLists/25/list",      "contact": "https://anedot.activehosted.com/api/3/contactLists/25/contact",      "message": "https://anedot.activehosted.com/api/3/contactLists/25/message",      "campaign": "https://anedot.activehosted.com/api/3/contactLists/25/campaign",      "automation": "https://anedot.activehosted.com/api/3/contactLists/25/automation",      "autosyncLog": "https://anedot.activehosted.com/api/3/contactLists/25/autosyncLog",      "unsubscribeAutomation": "https://anedot.activehosted.com/api/3/contactLists/25/unsubscribeAutomation"    },    "sdate": "2019-07-01T13:24:24-05:00",    "udate": null,    "ip4Sub": "0",    "status": 1,    "contact": "25",    "message": null,    "campaign": null,    "ip4Unsub": "0",    "ip4_last": "0",    "seriesid": "0",    "sourceid": "3",    "last_name": "Dot",    "responder": "1",    "automation": null,    "created_by": "0",    "first_name": "Annie",    "updated_by": "0",    "autosyncLog": null,    "unsubreason": "",    "created_timestamp": "2019-08-31 11:58:14",    "updated_timestamp": "2019-08-31 11:58:14",    "unsubscribeAutomation": null  }}
```

### Response Status

```
200
```


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.anedot.com/integrations/email-marketing-communication/activecampaign.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
