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.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials and inputs are accepted:
Secrets:
client_id(required) -> Your Constant Contact OAuth2 Application Client IDclient_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:
Go to the Constant Contact Developer Portal
Sign in or create a developer account
Click My Applications > New Application
Give your app a name (e.g., "Sling Integration")
Set the Redirect URI to
https://localhostSelect Authorization Code Flow and enable Long Lived Refresh Tokens
Add the following Scopes:
contact_data- Access to contacts, lists, tags, segments, and custom fieldscampaign_data- Access to email campaigns and reportingaccount_read- Access to account informationoffline_access- Required for refresh token support
Click Save and then Generate Secret
Copy your Client ID (API Key) and Client Secret
Important: Store your Client Secret securely. It is only shown once when generated.
Using sling conns
sling connsEnvironment 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
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
email_campaigns
Email campaign metadata (name, status, dates)
Yes
email_campaign_summaries
Aggregate campaign statistics (sends, opens, clicks, bounces)
No
Account
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_afterparameter to fetch only recently modified contactsemail_campaigns - Uses
after_dateparameter 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], on discord or open a Github Issue here.
Last updated
Was this helpful?