Constant Contact

Connect & Ingest data from Constant Contact

Constant Contact is an email marketing and digital marketing platform that helps businesses create email campaigns, manage contacts, and track engagement. The Sling Constant Contact connector extracts data from the Constant Contact V3 API, supporting contacts, contact lists, tags, segments, custom fields, email campaigns, and reporting data.

circle-check

Setup

The following credentials and inputs are accepted:

Secrets:

  • client_id (required) -> Your Constant Contact OAuth2 Application Client ID

  • client_secret (required) -> Your Constant Contact OAuth2 Application Client Secret

Inputs:

  • anchor_date (optional) -> The starting date for historical data extraction (default: 1 year ago). Format: YYYY-MM-DD

Getting Your Credentials

Constant Contact uses OAuth2 Authorization Code flow for API authentication:

  1. Sign in or create a developer account

  2. Click My Applications > New Application

  3. Give your app a name (e.g., "Sling Integration")

  4. Set the Redirect URI to https://localhost

  5. Select Authorization Code Flow and enable Long Lived Refresh Tokens

  6. Add the following Scopes:

    • contact_data - Access to contacts, lists, tags, segments, and custom fields

    • campaign_data - Access to email campaigns and reporting

    • account_read - Access to account information

    • offline_access - Required for refresh token support

  7. Click Save and then Generate Secret

  8. Copy your Client ID (API Key) and Client Secret

circle-exclamation

Using sling conns

Environment Variable

See here to learn more about the .env.sling file.

Sling Env File YAML

See here to learn more about the sling env.yaml file.

With anchor date for historical data:

Replication

Here's an example replication configuration to sync Constant Contact data to a PostgreSQL database:

Sync all endpoints:

Endpoints

Contacts & Lists

Endpoint
Description
Incremental

contacts

Contact records with email, phone, address, custom fields, list memberships, and tags

Yes

contact_lists

Contact list definitions with membership counts

No

contact_tags

Tag definitions with contact counts

No

segments

Saved contact segments

No

custom_fields

Custom field definitions

No

Email Campaigns

Endpoint
Description
Incremental

email_campaigns

Email campaign metadata (name, status, dates)

Yes

email_campaign_summaries

Aggregate campaign statistics (sends, opens, clicks, bounces)

No

Account

Endpoint
Description
Incremental

account_summary

Account and organization details

No

To discover available endpoints:

Incremental Sync

The Constant Contact connector supports time-based incremental sync for:

  • contacts - Uses updated_after parameter to fetch only recently modified contacts

  • email_campaigns - Uses after_date parameter to fetch campaigns created or updated after the last sync

First run: Fetches records from anchor_date (default: 1 year ago) to present. Subsequent runs: Only fetches records modified after the last sync timestamp.

Rate Limiting

The Constant Contact V3 API has rate limits:

  • 10,000 requests per day

  • 4 requests per second

The connector automatically:

  • Uses conservative rate limiting (3 requests/second)

  • Retries with exponential backoff on 429 (rate limit) responses

OAuth2 Authorization

On first connection, Sling will open a browser window to authorize the application with Constant Contact. After authorizing, you'll be redirected to https://localhost with an authorization code. Sling captures this code and exchanges it for access and refresh tokens automatically.

Tokens are stored locally and refreshed automatically. No manual token management is needed after initial setup.

If you are facing issues connecting, please reach out to us at [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?