> 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/constant-contact.md).

# Constant Contact

Anedot integrates with Constant Contact to sync donation and lead data, making it easy to manage contacts and campaigns across both platforms.

Anedot integrates with Constant Contact to sync donation and lead data, making it easy to manage contacts and campaigns across both platforms.

**Constant Contact** is an email marketing and online survey platform that helps organizations create and manage campaigns, grow their subscriber lists, and engage effectively with contacts.

## Connecting Anedot to Constant Contact

To set up the integration:

1. **Go to Settings → Integrations → Directory** in your Anedot account.
2. Click **+ New Connection** in the top-right corner.
3. Select **Constant Contact** from the list.
4. Choose which **Action Pages** to sync:
   * All pages are selected by default.
   * To exclude pages, enter their Action Page IDs *(comma-separated)*.
5. *(Optional)* Limit the connection to a specific **Team**.
6. *(Optional)* Add a **List ID** to send contacts to a specific Constant Contact list. [Find your List ID here](https://knowledgebase.constantcontact.com/email-digital-marketing/articles/KnowledgeBase/5892-obtain-a-list-ID-for-apis?lang=en_US).
7. Click **Save**.
8. You'll be redirected to **log in to Constant Contact** and click **Allow Access**, this will complete the connection.

*You can update Action Pages, Team scope, or credentials anytime.*

## Data Relays

Anedot sends data relays for both **Donation Pages** and **Lead Pages** to Constant Contact.

### Relay Behavior and Data Visibility

* Once a relay is successfully sent, contact and campaign statistics are automatically updated in Constant Contact.
* If specific **List IDs** were provided during setup, new contacts will populate those lists.
* Contact activity and metrics can be viewed in two areas:
  * **Performance Tab** on your Constant Contact dashboard – for overall contact and campaign stats.
  * **Contacts Tab** – to view contacts either in a specific list or across all lists.

## Field Mapping

### Contact Fields

| Anedot Field                                                                                              | Constant Contact Field                                                                                                              |
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| create\_source (integration-specific field, always "Account")                                             | Contacts → Contacts → "Source"                                                                                                      |
| email "implicit"                                                                                          | email\_address {address permission\_to\_send} (may correspond to Contacts → Contacts → "Email status", otherwise not visible on UI) |
| first\_name                                                                                               | Contacts → Contacts → "First name"                                                                                                  |
| last\_name                                                                                                | Contacts → Contacts → "Last name"                                                                                                   |
| list\_memberships (integration-specific field (corresponds to List ID if specified in integration setup)) | Adds contact to corresponding list in Contacts → Lists → (specific list)                                                            |

## Payload Data

### Request Headers

```
{}
```

### Request Body (No List IDs Setup/sent)

```json
{  "last_name": "Dot",  "first_name": "Annie",  "create_source": "Account",  "email_address": {    "address": "annie@anedot.com",    "permission_to_send": "implicit"  }}
```

### Request Body (List IDs Setup/sent)

```json
{   "last_name": "Dot",   "first_name": "Annie",   "create_source": "Account",   "email_address": {     "address": "annie@anedot.com",     "permission_to_send": "implicit"    "list_memberships": ["9938af78-151f-11ee-9414-fa163ed70180"]   }}
```

### Response Body (Success, No List IDs Setup/sent)

```json
{  "last_name": "Dot",  "contact_id": "b8976f38-2ee5-11ed-b1b3-fa163e3c5d75",  "created_at": "2022-09-07T19:46:09Z",  "first_name": "Annie",  "updated_at": "2022-09-07T19:46:09Z",  "create_source": "Account",  "email_address": {    "address": "annie@anedot.com",    "created_at": "2022-09-07T19:46:09Z",    "updated_at": "2022-09-07T19:46:09Z",    "opt_in_date": "2022-09-07T19:46:09+00:00",    "opt_in_source": "Account",    "confirm_status": "off",    "permission_to_send": "implicit"  }}
```

### Response Body (Success, List ID Setup/sent)

```json
{  "last_name": "Dot",  "contact_id": "b8976f38-2ee5-11ed-b1b3-fa163e3c5d75",  "created_at": "2022-09-07T19:46:09Z",  "first_name": "Annie",  "updated_at": "2022-09-07T19:46:09Z",  "create_source": "Account",  "email_address": {    "address": "annie@anedot.com",    "created_at": "2022-09-07T19:46:09Z",    "updated_at": "2022-09-07T19:46:09Z",    "opt_in_date": "2022-09-07T19:46:09+00:00",    "opt_in_source": "Account",    "confirm_status": "off",    "permission_to_send": "implicit"  },   "list_memberships": ["9938af78-151f-11ee-9414-fa163ed70180"]}
```

### Response Body (Failure)

```json
[{  "errorKey": "contacts.api.validation.error",  "errorMessage": "email_address[address] is empty"}]
```

or

```json
[{  "errorKey": "contacts.api.conflict",  "errorMessage": "Validation failed: Email already exists for contact fd9000d8-a587-11ec-a30f-fa163e7b09ec"}]
```

### Response Status (Success)

```
201
```

### Response Status (Failure)

```
401
```


---

# 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/constant-contact.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.
