What you get
Every new client and every lead-to-client conversion in RemixCRM is automatically pushed to a Constant Contact list. Same behavior as the Mailchimp integration — pick one or the other.
Prerequisites
- A Constant Contact account
- An existing contact list
- API access enabled (you'll generate an access token below)
Setup
1. Create an API access token
Constant Contact uses OAuth-style access tokens, but for this kind of server-to-server integration the simplest setup is:
- Go to app.constantcontact.com → log in
- Developer Portal (top-right, or under your name)
- My Applications → New Application
- Name it (e.g. "RemixCRM sync"), select Server type
- After creation, generate an Access Token
Access tokens expire (typically every 24 hours). RemixCRM stores the token
and a refresh_token + token_expires_at for future automatic refresh —
currently the refresh flow is a stub, so you may need to regenerate the
token manually until refresh support ships.
2. Find your List ID
- Contacts → Lists
- Click your list
- The List ID is in the URL:
/contacts/lists/<list-id>— a UUID likea1b2c3d4-e5f6-7890-abcd-ef1234567890
3. Configure in RemixCRM
- Settings → Integrations → Email Marketing
- Select Constant Contact (the provider radio)
- Under Constant Contact credentials:
- Access Token — paste the token from the developer portal
- List ID — paste the UUID
- Save
4. Test
Create a test client in RemixCRM. Within a few seconds they should appear in
your selected list. The first name, last name, and phone (if provided) are
sent via Constant Contact's sign_up_form endpoint, which honors the same
opt-in rules as your public signup forms.
How RemixCRM uses Constant Contact
| Trigger | API call |
|---|---|
| New client created | POST https://api.cc.email/v3/contacts/sign_up_form |
| Lead → client conversion | Same |
The sign_up_form endpoint:
- Upserts the contact (no error if they already exist)
- Adds them to the specified
list_memberships - Triggers any signup-form automations you have configured
Best-effort: if the call fails, the client creation in RemixCRM still succeeds.
Token expiration
Constant Contact tokens typically expire 24 hours after generation.
When the token expires, sync calls will return HTTP 401. Until automatic
refresh is implemented, you'll need to regenerate the token and update it
in Settings.
Workaround: for less-frequent client creation, this is rarely a problem — but if you do high volume, consider using outbound webhooks to push contacts via Zapier instead (Zapier handles the OAuth refresh internally).
Compliance notes
Same as Mailchimp — RemixCRM assumes consent. The sign_up_form endpoint
specifically is the consent-aware path in Constant Contact's API, so this
is the cleaner integration from a CASL/GDPR perspective.
Troubleshooting
HTTP 401
The access token expired or was revoked. Regenerate in the Constant Contact Developer Portal and update Settings.
HTTP 400 with "list_id is required"
The List ID field in Settings is blank. Fill it in.
Contact added but not in the right list
The List ID is wrong (likely from a different list). Double-check the URL when viewing the list in the Constant Contact UI.