Skip to main content

Mailchimp

This connector captures data from a Mailchimp account.

Three data resources are supported, each of which is mapped to a Flow collection: lists, campaigns, and email activity.

It is available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-mailchimp:dev provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.

Prerequisites

There are two ways to authenticate with MailChimp when capturing data: using OAuth2, and manually, with an API key. Their prerequisites differ.

OAuth is recommended for simplicity in the Flow web app; the API key method is the only supported method using the command line.

Using OAuth2 to authenticate with Mailchimp in the Flow web app

  • A Mailchimp account

Configuring the connector specification manually

  • A Mailchimp account

  • A Mailchimp API key

Configuration

You configure connectors either in the Flow web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Mailchimp source connector.

Properties

Endpoint

The following properties reflect the API Key authentication method.

PropertyTitleDescriptionTypeRequired/Default
/credentialsAuthenticationAuthentication Type and DetailsobjectRequired
/credentials/auth_typeAuthentication TypeAuthentication type. Set to apikey.stringRequired
/credentials/apikeyAPI KeyYour Mailchimp API keystringRequired

Bindings

PropertyTitleDescriptionTypeRequired/Default
/streamResourceMailchimp lists, campaigns, or email_activitystringRequired
/syncModeSync ModeConnection method. Always set to incremental.stringRequired

Sample

captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-mailchimp:dev
config:
credentials:
auth_type: apikey
apikey: <secret>
bindings:
- resource:
stream: lists
syncMode: incremental
target: ${PREFIX}/${COLLECTION_NAME}

- resource:
stream: campaigns
syncMode: incremental
target: ${PREFIX}/${COLLECTION_NAME}

- resource:
stream: email_activity
syncMode: incremental
target: ${PREFIX}/${COLLECTION_NAME}

Learn more about capture definitions.