Skip to content

Integration · Email

constantcontact.com

Connect Claude & ChatGPT to Constant Contact

Ask your AI how last month's newsletter performed, or to put together a draft campaign for your list. It searches and updates contacts, manages lists, tags and segments, creates draft emails, sends test copies and schedules campaigns. It also reads sends, opens, clicks, bounces and unsubscribes for the campaigns you have sent.

Connect Constant Contact free

Free plan, no credit card. Takes about a minute.

Try asking

  • “How did our last three newsletters perform?”

    The AI lists your sent campaigns with sends, opens, clicks, bounces and unsubscribes.

  • “Add [email protected] to the Customers list.”

    It searches for the contact first, then creates or updates her and adds her to the list.

  • “Draft a campaign announcing our spring sale for the Newsletter list.”

    It creates a draft email with subject, sender and HTML content. Nothing is sent.

What your AI can do

Contacts and lists

Search, create, update and delete contacts, manage lists, tags and segments, and add or remove contacts in bulk.

Email campaigns

Create draft emails, edit subject, sender and content, send test copies and schedule campaigns.

Reports

Read sends, opens, clicks, bounces and unsubscribes for sent campaigns, and compare open and click rates.

  • “Send a test of that email to me and Peter.”

    It sends a test copy to up to 5 addresses so you can check it in your inbox.

  • “Schedule it for Thursday at 9:00.”

    It schedules the email. At that time it goes to every contact on its lists.

  • “Tag everyone on the Webinar list with 'webinar-2026'.”

    It creates the tag if needed and adds it to the contacts on the list. The job runs in the background, and the AI checks when it is done.

117 tools for Constant Contact

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_contacts_to_listsChanges dataAdd contacts to lists (list_ids). Choose who in `source`: contact_ids, list_ids, tag_ids or segment_id. Runs in the background; check with get_activity.
  • add_tags_to_contactsChanges dataAdd tags (tag_ids) to contacts chosen in `source` (contact_ids, list_ids or tag_ids). Runs in the background.
  • create_addressChanges dataCreate a new address. Required: address line1, city or country code. API summary: POST the Physical Address for the Account.
  • create_contactChanges dataCreate a contact with email_address {address, permission_to_send}, first_name, last_name, list_memberships and create_source ('Account'). Search first to avoid duplicates.
  • create_contact_2Changes dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Export Contacts to a File.
  • create_contact_custom_fieldChanges dataCreate a new contact custom field. API summary: POST (create) a customfield.
  • create_contact_listChanges dataCreate a contact list with a name and optional description.
  • create_contacts_tags_deleteChanges dataCreate a new contacts tags delete. Required: tag ids. API summary: Delete Tags.
  • create_custom_fields_deleteChanges dataCreate a new custom fields delete. Required: custom field ids. API summary: Delete Custom Fields.
  • create_defaultChanges dataCreate a new default. API summary: POST (create) a new event.
  • create_email_campaignVisible to othersCreate a draft email campaign: name and one email_campaign_activities item with format_type 5, from_name, from_email, reply_to_email, subject and html_content. Nothing is sent.
  • create_messageVisible to othersCreate a new message. Has effects visible outside this system. API summary: POST Add an Account Email Address.
  • create_or_update_a_contactChanges dataCreate a new contact. Required: list memberships. Search contacts first to avoid duplicates. API summary: Create or Update a Contact.
  • create_pageChanges dataCreate a new page. Required: profile posts or status. API summary: POST (create) a social media post.
  • create_segmentChanges dataCreate a new segment. Required: name or segment criteria. API summary: POST (create) a Segment.
  • create_tagChanges dataCreate a contact tag with a name.
  • create_task_abtestVisible to othersCreate a new abtest for a task. Required: alternative subject, test size or winner wait duration. Has effects visible outside this system. API summary: POST (Create) an A/B Test for an Email Campaign Activity.
  • create_task_non_opener_resendVisible to othersCreate a new non opener resend for a task. Required: resend subject. Has effects visible outside this system. API summary: POST a Resend to Non-openers Campaign Activity.
  • create_ticketChanges dataCreate a new ticket. Required: order ticket keys. API summary: Check in event tickets.
  • create_ticket_undo_check_in_ticketsChanges dataCreate a new ticket. Required: order ticket keys. API summary: Undo event ticket check-in.
  • create_workflowChanges dataCreate a new workflow. Search workflows first to avoid duplicates. API summary: Create an Automation.
  • delete_a_listDeletesPermanently delete a contact by list id. Destructive action; may require approval. API summary: DELETE a List.
  • delete_contactDeletesDelete a contact by contact_id. They are removed from all lists.
  • delete_contact_custom_fieldDeletesPermanently delete a contact custom field by custom field id. Destructive action; may require approval. API summary: DELETE a customfield.
  • delete_contact_tagDeletesPermanently delete a contact tag by tag id. Destructive action; may require approval. API summary: DELETE a Tag.
  • delete_contacts_in_bulkChanges dataCreate a new contact. Search contacts first to avoid duplicates. API summary: Delete Contacts in Bulk.
  • delete_messageDeletesPermanently delete a message by campaign id. Destructive action; may require approval. API summary: DELETE an Email Campaign.
  • delete_segmentDeletesPermanently delete a segment by segment id. Destructive action; may require approval.
  • delete_task_abtestsMoves moneyPermanently delete a abtest by campaign activity id. Financial or irreversible action; may require approval. API summary: DELETE an A/B Test for an Email Campaign Activity.
  • delete_task_messagesMoves moneyPermanently delete a message by campaign activity id. Financial or irreversible action; may require approval. API summary: DELETE an Email Campaign Activity Schedule.
  • delete_task_non_opener_resendDeletesPermanently delete a non opener resend by resend request id. Destructive action; may require approval. API summary: DELETE a Resend to Non Openers Activity.
  • get_a_contacts_opens_landing_page_reportList contacts for a campaign detail. Optional filters: contacts filter. Results are paginated. API summary: GET a Contacts Opens Landing Page Report.
  • get_a_unique_contacts_adds_landing_page_reportList contacts for a campaign detail. Optional filters: contacts filter. Results are paginated. API summary: GET a Unique Contacts Adds Landing Page Report.
  • get_a_unique_contacts_opens_landing_page_reportList contacts for a campaign detail. Optional filters: contacts filter. Results are paginated. API summary: GET a Unique Contacts Opens Landing Page Report.
  • get_a_unique_contacts_updates_landing_page_reportList contacts for a campaign detail. Optional filters: contacts filter. Results are paginated. API summary: GET a Unique Contacts Updates Landing Page Report.
  • get_accountGet the Constant Contact account summary: organization name, contact email, time zone and address.
  • get_activityCheck the status of a background job (add to list, tagging) by its activity ID (pass as task_id).
  • get_an_email_campaign_activity_stats_reportGet one task by campaign activity ids. API summary: GET an Email Campaign Activity Stats Report.
  • get_average_open_and_click_ratesList contacts for a contact report. Optional filters: start or end. API summary: GET Average Open and Click Rates.
  • get_campaign_statsGet open, click and bounce rates for one or more campaigns by campaign_ids (comma-separated).
  • get_contactGet one contact by contact_id, with email, name, phone, list memberships and tags.
  • get_contact_2Get one contact by file export id. API summary: Retrieve Exported Contacts File.
  • get_contact_action_summaryList contacts for a contact report. Optional filters: start or end. API summary: GET Contact Action Summary.
  • get_contact_consent_countsList contacts. API summary: GET Contact Consent Counts.
  • get_contact_custom_fieldGet one contact custom field by custom field id. API summary: GET a customfield.
  • get_contact_listGet one contact list by list_id.
  • get_contact_tagGet one contact tag by tag id. API summary: GET Tag Details.
  • get_email_campaignGet one email campaign by campaign_id, including its campaign activity IDs.
  • get_email_campaign_activityGet a campaign activity (the email itself) by campaign_activity_id: subject, sender, content and contact lists.
  • get_eventGet one event by event id. API summary: GET details for a single event.
  • get_segmentGet one segment by segment id. API summary: GET a Segment's Details.
  • get_sms_engagement_historyGet one sms engagement history by contact id. API summary: GET SMS Engagement History for a Contact.
  • get_track_registrationGet one registration for a track by registration id. API summary: Get registration details for an event.
  • get_workflowGet one workflow by automation flow id. API summary: Retrieve an Automation.
  • import_contacts_using_a_json_payloadVisible to othersCreate a new contact. Required: import data or list ids. Search contacts first to avoid duplicates. Has effects visible outside this system. API summary: Import Contacts using a JSON Payload.
  • list_addressesList addresses. API summary: GET the Physical Address for the Account.
  • list_bouncesList bounces. Optional filters: bounce code. Results are paginated. API summary: GET an Email Bounces Report.
  • list_campaign_detail_contactsList contacts for a campaign detail. Optional filters: contacts filter. Results are paginated. API summary: GET a Unique Contacts Clicks Landing Page Report.
  • list_campaign_detail_contacts_get_unique_contact_sms_opt_insList contacts for a campaign detail. Optional filters: contacts filter. Results are paginated. API summary: GET a Unique Contacts SMS Opt-In Landing Page Report.
  • list_campaign_id_xrefsList campaign id xrefs. Optional filters: v2 email campaign ids. API summary: GET a Collection of V2 and V3 API Email Campaign Identifiers.
  • list_campaign_summariesVisible to othersList sent email campaigns with their totals (sends, opens, clicks, bounces, unsubscribes).
  • list_clicksList clicks. Optional filters: url id. Results are paginated. API summary: GET an Email Clicks Report.
  • list_companiesList companies. API summary: GET the Company Logo for the Account.
  • list_connectionsList connections. API summary: GET social network connections.
  • list_contact_custom_fieldsList contact custom fields. Results are paginated. API summary: GET customfields Collection.
  • list_contact_listsList contact lists, with include_membership_count to see sizes.
  • list_contact_report_contactsList contacts for a contact report. Optional filters: tracking activities list, tracking activity type or include campaign activity names. Results are paginated. API summary: GET Contact Activity Details.
  • list_contactsList contacts. Optional filters: sequence ids. API summary: GET a collection of V2 and V3 API contact IDs.
  • list_contacts_id_xrefsList contacts. Optional filters: sequence ids. API summary: GET a collection of V2 and V3 API List IDs.
  • list_didnotopensList didnotopens. Results are paginated. API summary: GET an Email Did Not Opens Report.
  • list_email_campaignsList email campaigns, filtered by after_date and before_date.
  • list_email_report_linksList links for a email report. Optional filters: no clicks. API summary: GET an Email Links Report.
  • list_forwardsList forwards. Results are paginated. API summary: GET an Email Forwards Report.
  • list_groupsList groups. Results are paginated. API summary: GET hashtag groups.
  • list_messagesList messages. Optional filters: confirm status, role code or email address. API summary: GET a Collection of Account Email Addresses.
  • list_opensList opens. Results are paginated. API summary: GET an Email Opens Report.
  • list_optoutsList optouts. Results are paginated. API summary: GET an Email Opt-outs Report.
  • list_profilesList profiles. API summary: GET social media profiles.
  • list_segmentsList segments (saved contact filters).
  • list_sendsList sends. Results are paginated. API summary: GET an Email Sends Report.
  • list_sms_campaign_summariesList sms campaign summaries. Optional filters: start at or end at. Results are paginated. API summary: GET an SMS Campaigns Summary Report.
  • list_tagsList contact tags.
  • list_task_abtestsList abtests for a task. API summary: GET A/B Test Details for an Email Campaign Activity.
  • list_task_messagesList messages for a task. API summary: GET an Email Campaign Activity Schedule.
  • list_task_messages_retrieve_email_campaign_activity_preview_usinList messages for a task. API summary: GET the HTML Preview of an Email Campaign Activity.
  • list_task_non_opener_resendsList non opener resends for a task. API summary: GET Details for a Resend to Non-openers Campaign Activity.
  • list_tasksList tasks. Optional filters: state. Results are paginated. API summary: GET Activity Status Collection.
  • list_tasks_deleteChanges dataList tasks. API summary: Delete Contact Lists.
  • list_unique_opensList unique opens. Results are paginated. API summary: GET an Email Unique Opens Report.
  • list_usersList users. API summary: GET User Privileges.
  • remove_contacts_from_listsDeletesRemove contacts from lists (list_ids). Choose who in `source`: contact_ids, list_ids or tag_ids. Contacts are not deleted.
  • remove_tags_from_contactsChanges dataCreate a new contact. Required: source or tag ids. Search contacts first to avoid duplicates. API summary: Remove Tags from Contacts.
  • schedule_email_campaignVisible to othersSchedule an email by campaign_activity_id to send at scheduled_date (ISO-8601). It will be emailed to every contact on its lists.
  • search_campaign_performancesSearch campaign performances by start at, end at or filter. Use this to find existing campaign performances before creating a new campaign performance. Results are paginated. API summary: GET Campaign Performance Statistics.
  • search_contactsSearch contacts by email, lists, tags, segment_id or status (active, unsubscribed, ...). Use to find a contact ID.
  • search_eventsSearch events by event status, search text, sort by, sort order or prev. Use this to find existing events before creating a new event. Results are paginated. API summary: GET a collection of events.
  • search_track_registrationsSearch registrations for a track by registration status, payment status, search text, sort by, sort order or prev. Use this to find existing registrations before creating a new registration. Results are paginated. API summary: Get a list of registrations for an event.
  • search_workflowsSearch workflows by channel, sort direction, created from, goals or name. Use this to find existing workflows before creating a new workflow. API summary: List All Automations.
  • send_task_historyVisible to othersSend a task (campaign activity id). Has effects visible outside this system. API summary: GET the Send History of an Email Campaign Activity.
  • send_test_emailVisible to othersSend a test copy of an email by campaign_activity_id to up to 5 email_addresses.
  • submit_eventVisible to othersCopy a event (event id). Has effects visible outside this system. API summary: POST (copy) an existing event.
  • update_addressesVisible to othersUpdate an existing address. Has effects visible outside this system. API summary: PUT (update) the Physical Address for an Account.
  • update_companiesVisible to othersUpdate an existing company. Has effects visible outside this system. API summary: PUT (update) the Company Logo for the Account.
  • update_contactChanges dataUpdate a contact by contact_id with update_source ('Account'). This replaces the contact, so include email_address, list_memberships and other fields you want to keep.
  • update_contact_custom_fieldChanges dataUpdate an existing contact custom field identified by custom field id. API summary: Update a custom field.
  • update_contact_put_listChanges dataUpdate an existing contact identified by list id. API summary: PUT (update) a List.
  • update_contact_resubscribe_contactChanges dataUpdate an existing contact identified by contact id. API summary: PUT Resubscribe a Contact.
  • update_contact_tagChanges dataUpdate an existing contact tag identified by tag id. API summary: PUT (Update) a Tag.
  • update_customersVisible to othersUpdate an existing customer. Has effects visible outside this system. API summary: PUT (update) Account Details.
  • update_email_campaign_activityVisible to othersUpdate a draft email by campaign_activity_id: subject, from_name, from_email, reply_to_email, html_content, contact_list_ids. Replaces the activity, so pass all fields.
  • update_eventChanges dataUpdate an existing event identified by event id. Only the fields you pass are changed. API summary: PATCH (update) an event.
  • update_messageVisible to othersUpdate an existing message identified by campaign id. Only the fields you pass are changed. Has effects visible outside this system. API summary: PATCH (Update) an Email Campaign Name.
  • update_paymentsVisible to othersUpdate an existing payment identified by track id. Has effects visible outside this system. API summary: Update payment status for event registrations.
  • update_segmentChanges dataUpdate an existing segment identified by segment id. API summary: PUT (update) a Segment.
  • update_segment_namesVisible to othersUpdate an existing name identified by segment id. Only the fields you pass are changed. Has effects visible outside this system. API summary: PATCH (rename) a Segment.
  • update_track_registrationsVisible to othersUpdate an existing registration identified by track id. Has effects visible outside this system. API summary: Update status for event registrations.
  • update_workflowChanges dataUpdate an existing workflow identified by automation flow id. API summary: Update an Automation.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Constant Contact from the app list.

  2. 2

    Paste your key

    Paste the API key (client ID) and client secret from your own Constant Contact app, then sign in once. Log in to the Constant Contact developer portal, click New Application and choose Authorization Code Flow with Rotating or Long Lived refresh tokens. Click Edit on the app, add the redirect URI https://heymyapps.com/oauth/callback, click Generate Client Secret and copy the API key and secret (the secret is shown only once), then click Save. This is an OAuth connection, so it needs the HeyMyApps Pro plan.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Constant Contact?

It can read your account summary, contacts, lists, tags, segments, email campaigns and campaign reports. It can create, update and delete contacts, create lists and tags, add contacts to lists and tags or remove them from lists, create and edit draft emails, send test copies and schedule campaigns.

Does the AI see my Constant Contact credentials?

No. Your Constant Contact credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with contacts and reports read-only. A scheduled campaign is emailed to everyone on its lists and a deleted contact is removed from all lists, so those tools can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

Constant Contact connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Constant Contact account.

Can the AI send a campaign to my whole list?

Only by scheduling it, and only if you switch on the scheduling tool. New campaigns are created as drafts, and test copies go to at most 5 addresses you choose. A scheduled email goes to every contact on its lists, so you can require your approval before anything is scheduled.

Let your AI work in Constant Contact today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Constant Contact free

HeyMyApps is not affiliated with Constant Contact. Product names are trademarks of their owners.