# Constant Contact setup for PopMCP

You paste the API Key (client ID) and a generated client secret of an app you create in Constant Contact's V3 developer portal, then sign in to Constant Contact and approve access.

- Auth: OAuth authorization
- Setup time: 5 min
- API base URL: https://api.cc.email/v3
- Credentials screen: https://app.constantcontact.com/pages/dma/portal
- Provider docs: https://developer.constantcontact.com/api_guide/oauth2-authorization/server-flow

## Approval required before this works

A new Constant Contact V3 app is private: only the Constant Contact user who created it can authorize it. Connecting your own account works the moment the app exists, but Constant Contact must approve the app before any other account can sign in through it.

- Typical wait: Not published. Constant Contact's developer guide says only to contact support to start the approval process and gives no timeframe, so treat any figure you see elsewhere as unofficial.
- Cost: Constant Contact's developer guide lists no fee for creating an app or for its approval. You need a Constant Contact account to sign in to the developer portal.
- Blocked until approved: Signing in any Constant Contact account other than the one that created the app. Your own account is not blocked. An agency that wants to connect several client accounts through one app is blocked until approval, and a sign-in with any other account fails.
- Works meanwhile: Everything for your own account: create the app, add PopMCP's Redirect URI, generate the client secret and connect. Every tool works straight away for the account that created the app. Other accounts can each create their own app and connect without waiting for approval.

## Before you begin

- A Constant Contact account you can sign in to. Create the app while signed in to the account you want to connect: until Constant Contact approves an app, only the user who created it can authorize it.
- PopMCP's Redirect URI from the connect form: https://app.popmcp.com/api/providers/constant-contact/callback
- A user role that can reach the data you want. Constant Contact limits some user roles regardless of the permissions an app asks for.

## Get your credentials

### 1. Open My Applications

Go to app.constantcontact.com/pages/dma/portal and sign in with the Constant Contact account you want to connect. The My Applications page lists your apps. Click New Application.

Screen: https://app.constantcontact.com/pages/dma/portal

### 2. Create the application

Enter a name your users will recognize, such as `PopMCP`: Constant Contact shows it when asking for access. Choose Authorization Code Flow and Implicit Flow, choose Long Lived Refresh Tokens (Rotating Refresh works too), and click Create.

Screen: https://app.constantcontact.com/pages/dma/portal

### 3. Add PopMCP's Redirect URI

Back on My Applications, click edit next to the new app. In the Redirect URI section add `https://app.popmcp.com/api/providers/constant-contact/callback` exactly as PopMCP shows it, then click Save.

Screen: https://app.constantcontact.com/pages/dma/portal

### 4. Copy the API Key and generate a client secret

On the app's Details view, copy the API Key. Click Generate Client Secret and copy the secret straight away: Constant Contact shows it once, and generating another one replaces it. Click Save.

Screen: https://app.constantcontact.com/pages/dma/portal

### 5. Paste both into PopMCP and sign in

Paste the API Key into API key (client ID) and the secret into Client secret, then click Sign in with Constant Contact. Sign in with the same account that created the app and approve access.

## Fields PopMCP asks for

- API key (client ID) (clientId) [required]: Only needed to use your own app. In Constant Contact's developer portal (app.constantcontact.com/pages/dma/portal) choose New Application, pick "Authorization Code Flow and Implicit Flow" and "Long Lived Refresh Tokens", add the redirect URI shown here, then copy the API Key and generate a client secret.
- Client secret (clientSecret) [required]: Generate it on the app's page (Constant Contact shows it once). Stored encrypted and used only on our server.

## Callback URL to register

https://app.popmcp.com/api/providers/constant-contact/callback

## Scopes requested

- account_read
- contact_data
- campaign_data
- offline_access
- account_update

## Verify

PopMCP shows Constant Contact as Connected under your organization name, and constant_contact_get_account_summary returns that account's organization_name and contact_email.

## Troubleshooting

### "Constant Contact did not accept the app's API key and client secret"

Cause: Constant Contact answered invalid_client: the API Key or secret was mistyped, or a newer secret was generated after you copied this one.

Fix: Open the app on **My Applications**, click **Generate Client Secret**, click **Save**, and paste the new secret and the **API Key** into PopMCP again.

### Constant Contact shows a redirect_uri error instead of the sign-in page

Cause: PopMCP's callback is not registered under **Redirect URI** on the app, or differs by a character.

Fix: Add `https://app.popmcp.com/api/providers/constant-contact/callback` under **Redirect URI**, click **Save**, and connect again.

### "Constant Contact signed in but refused to read the account"

Cause: You signed in with an account other than the one that created the app, and Constant Contact has not approved the app yet, or not every permission was approved.

Fix: Sign in with the account that created the app and approve every permission. To connect other accounts through this app, call Constant Contact support on 866-289-2101 to start the approval process.

### "Constant Contact's authorization code expired before it could be used"

Cause: Authorization codes last 5 minutes and work once.

Fix: Start the connection again and finish the sign-in without leaving the page open.

### "Constant Contact signed in but issued no refresh token"

Cause: The sign-in did not grant offline_access, so the connection would stop within a day.

Fix: Connect again and approve every permission on the consent screen.

### 429 with quota_exceeded or throttled

Cause: Your app's API key used its 10,000 requests for the day (quota_exceeded) or went over 4 requests a second (throttled). Every account connected through the app shares the same budget.

Fix: Wait for the daily reset at 00:00 UTC, or spread calls out. Bulk tools such as import_contacts_json and export_contacts_csv do in one request what would take hundreds of single calls.

### "Constant Contact no longer accepts this sign-in"

Cause: Access was revoked, the app or its secret changed, or the refresh token expired after 180 days unused.

Fix: Reconnect Constant Contact to sign in again.

---

Source: https://www.docs.popmcp.com/docs/integrations/constant-contact/