> 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/email-octopus.md).

# Email Octopus

Connect Anedot with Email Octopus to send donation and lead data to your email lists, enabling automated subscriber updates with UTM and source tracking.

Connect Anedot with Email Octopus to send donation and lead data to your email lists, enabling automated subscriber updates with UTM and source tracking.

Email Octopus is an email marketing platform offering automation, analytics, and custom campaigns for both nonprofits and for-profit organizations.

## Connecting Anedot to Email Octopus

To set up the integration:

1. Go to **Settings → Integrations → Directory** in your Anedot fundraising account.
2. Click **+ New Connection** in the top-right corner.
3. Select **Email Octopus** from the directory list.
4. Choose which **Action Pages** to sync:
   * By default, *all* pages are selected.
   * To exclude pages, enter Action Page IDs (comma-separated).
5. *(Optional)* Limit the sync to a specific **Team**.
6. Enter your **Email Octopus List ID**.
7. Enter your **Email Octopus API Key**.
8. Click **Save** to complete the connection.

*You can update Action Pages, Team settings, and credentials at any time.*

## Data Relays

* Anedot sends relays from both **Donation Pages** and **Lead Pages**.
* **UTM parameters** and **Source Codes** are included in relays.
* **Custom field**data is *not* supported.

### Relay Behavior

* If a relay is successful, a new or updated contact will appear in your Email Octopus **List's Contacts tab**.
* To locate **Contacts** in Email Octopus:
  1. Navigate to the **Lists** tab
  2. Click on the **Contacts** tab
  3. Search for or select your desired contact

### Push Unsent Option

You can push failed or historical data *(via date range)* for all Action Pages, regardless of type.

* If a relay fails 5 times in a row, the integration is marked **Inactive** and will stop attempting to relay data.

## Field Mapping

| Anedot Field                 | Email Octopus Field |
| ---------------------------- | ------------------- |
| address {postal\_code}       | Zip                 |
| address {city}               | City                |
| created\_at                  | Date                |
| “Anedot: Donation Completed” | Event               |
| phone                        | Phone               |
| address {region}             | State               |
| amount (x100)                | Amount              |
| address {line1}              | Street              |
| address {line2}              | Street 2            |
| \*\*utmCodes {term}          | UTM Term            |
| lastName                     | Last Name           |
| referrer                     | Referrer            |
| firstName                    | First Name          |
| \*\*utmCodes {medium}        | UTM Medium          |
| \*\*utmCodes {source}        | UTM Source          |
| source\_code                 | Source Code         |
| \*\*utmCodes {content}       | UTM Content         |
| \*\*utmCodes {campaign}      | UTM Campaign        |
| EmailOctopus api\_key        | api\_key            |
| email                        | email\_address      |

*\*\*UTM fields can be added to the Page URL.*

## Payload Data

### Request Headers

```
{}
```

### Request Body

```json
{  "fields": {    "Zip": "70113",    "City": "New Orleans",    "Date": "2023-03-17T14:13:27.466-04:00",    "Event": "Anedot: Donation Completed",    "Phone": "2252501301",    "State": "LA",    "Amount": 100.0,    "Street": "1340 Poydras Street",    "Street2": null,    "UTMTerm": null,    "LastName": "Dot",    "Referrer": "https://secure.anedot-sandbox.com/09388ffc-9f3f-43ee-855a-1f70c7a9b764/e36d4264-b96b-4b77-9e01-3dac28e9914a?utm_content=gala&utm_medium=web&source_code=2023",    "FirstName": "Annie",    "UTMMedium": "web",    "UTMSource": null,    "SourceCode": "2023",    "UTMContent": "gala",    "UTMCampaign": null  },  "api_key": "[REDACTED]",  "email_address": "admin@anedot.com"}
```

### Response Body (Success)

```json
{  "id": "095634e4-bd3e-11e9-9307-06b4694bee2a",  "fields": {    "Phone": "2252501301",    "State": "LA",    "LastName": "Dot",    "FirstName": "Annie"  },  "status": "SUBSCRIBED",  "created_at": "2019-08-12T20:16:15+00:00",  "email_address": "admin@anedot.com"}
```

### Response Body (Failure)

```json
{  "error": {    "code": "API_KEY_INVALID",    "message": "Your API key is invalid."  }}
```

### Response Status (Success)

```
200
```

### Response Status (Failure)

```
403
```


---

# 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/email-octopus.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.
