Skip to content

Marketing Automation

Constant Contact
API integration

Ship Marketing Automation features without building the integration. Full Constant Contact API access via Proxy, normalized data through Unified APIs, and 130+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Constant Contact

Use Cases

Why integrate with Constant Contact

Common scenarios for SaaS companies building Constant Contact integrations for their customers.

01

Sync donor data into Constant Contact for automated thank-you campaigns

Non-profit CRMs can push donor contact records, donation amounts via custom fields, and segmentation tags into Constant Contact so their users can trigger personalized stewardship email sequences without manual CSV uploads.

02

Route new leads into Constant Contact lists to trigger welcome drips

Form builders, ad platforms, and lead-capture tools can instantly push opt-ins into specific Constant Contact lists, allowing their SMB users to fire pre-built welcome email automations the moment a lead comes in.

03

Tag contacts based on in-app behavior for micro-segmented campaigns

SaaS platforms can apply dynamic tags in Constant Contact based on user actions — like event attendance, purchase history, or appointment status — enabling their customers to build targeted automations without creating a new list for every segment.

04

Keep CRM contact records and Constant Contact in bi-directional sync

Industry-specific CRMs can ensure that opt-in statuses, custom field values, and list memberships stay consistent between their platform and Constant Contact, reducing compliance risk and eliminating duplicate manual entry for their users.

05

Map organizational roles and sub-accounts for multi-location businesses

Franchise and brokerage software platforms can use user and role data to ensure contacts are routed to the correct regional sub-account in Constant Contact, preserving organizational hierarchy and permission boundaries.

What You Can Build

Ship these features with Truto + Constant Contact

Concrete product features your team can ship faster by leveraging Truto’s Constant Contact integration instead of building from scratch.

01

One-click Constant Contact list mapping

Let your users select which Constant Contact list their app data syncs to — such as mapping 'New Leads' to a specific list — so automations fire immediately on contact creation.

02

Automated behavioral tagging engine

Apply and remove Constant Contact tags on contacts in real time based on events in your product, like booking an appointment, making a purchase, or attending a webinar.

03

Custom field pass-through for dynamic email personalization

Map your product's data fields — like next appointment date, donation total, or ticket type — to Constant Contact custom fields so end users can use merge tags in their email templates.

04

Bulk contact import on first connect

When a user connects their Constant Contact account, automatically sync their existing contact base into your platform or push your platform's contacts into Constant Contact in bulk.

05

Lapsed-user win-back workflow trigger

Detect inactivity in your product (e.g., no booking in 6 months), then remove the contact from an active list and apply a lapsed-client tag to trigger a win-back campaign in Constant Contact.

06

Role-aware contact routing for multi-user accounts

Use Constant Contact user and role data to route synced contacts to the correct sub-account owner, ensuring agents or regional managers only see their own leads.

SuperAI

Constant Contact AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_constant_contact_contacts

List Constant Contact contacts. Returns each contact's contact_id, email_address, first_name, last_name, created_at, list_memberships, and notes; use the include query parameter to add sub-resources such as custom_fields, taggings, phone_numbers, street_addresses, and sms_channel.

get_single_constant_contact_contact_by_id

Get a single Constant Contact contact by id (the contact's contact_id UUID). Returns: contact_id, email_address, first_name, last_name, job_title, company_name, birthday_month, birthday_day, anniversary, created_at, updated_at, custom_fields, phone_numbers, street_addresses, list_memberships, notes, sms_channel, and 4 more. Required: id.

create_a_constant_contact_contact

Create a new Constant Contact contact. Returns the created contact including contact_id, email_address, first_name, last_name, and list_memberships. Required: email_address, create_source. Up to 25 notes per contact.

update_a_constant_contact_contact_by_id

Update an existing Constant Contact contact by id (full replace: omitted fields such as list_memberships or phone_numbers are cleared). Returns the updated contact. Required: id, email_address, update_source.

delete_a_constant_contact_contact_by_id

Delete a Constant Contact contact by id. Returns an empty 204 response on success. Required: id.

constant_contact_contacts_upsert

Create or update a Constant Contact contact from sign-up form data without first checking whether the contact already exists. Returns: contact_id, action. Requires email_address with list_memberships, or sms_channel for SMS-only contacts. Only use when the contact gave explicit permission to be emailed, such as via a sign-up form.

list_all_constant_contact_contact_lists

List all Constant Contact contact lists. Returns each list's list_id, name, description, favorite, created_at, updated_at, deleted_at, and membership_count.

get_single_constant_contact_contact_list_by_id

Get details about a specific Constant Contact contact list by id (list_id). Returns: list_id, name, description, favorite, created_at, updated_at, deleted_at. Required: id.

create_a_constant_contact_contact_list

Create a new Constant Contact contact list. Returns the created list including list_id, name, description, favorite, created_at, and updated_at. Requires name (max 255 characters) and favorite.

update_a_constant_contact_contact_list_by_id

Update an existing Constant Contact contact list specified by id (list_id). Returns the updated list including list_id, name, description, favorite, created_at, and updated_at. Requires name and favorite.

delete_a_constant_contact_contact_list_by_id

Delete a Constant Contact contact list by id. The delete runs as an asynchronous activity — Returns: activity_id, state, created_at, updated_at, percent_done, activity_errors, _links. Required: id.

list_all_constant_contact_contact_tags

List all contact tags in the Constant Contact account. Returns each tag with: tag_id, name, contacts_count, created_at, updated_at, and tag_source.

get_single_constant_contact_contact_tag_by_id

Get details for a single contact tag by id. Returns: tag_id, name, contacts_count, created_at, updated_at, tag_source. Required: id (tag_id).

create_a_constant_contact_contact_tag

Create a new contact tag in Constant Contact with a unique name. Returns the created tag with: tag_id, name, contacts_count, created_at, updated_at, and tag_source. Required: name.

update_a_constant_contact_contact_tag_by_id

Rename an existing contact tag by id. Returns the updated tag with: tag_id, name, contacts_count, created_at, updated_at, and tag_source. Required: id, name. Tag name max length is 255 characters.

delete_a_constant_contact_contact_tag_by_id

Delete a contact tag by id; asynchronously un-assigns the tag from all contacts and then deletes it. Returns: activity_id, state, created_at, updated_at, percent_done, activity_errors, _links. Required: id.

list_all_constant_contact_users

List the email addresses on your Constant Contact account. Returns each address's email_address, email_id, confirm_status, confirm_time, confirm_source_type, roles, and pending_roles; only addresses with a confirmed status can be used to send email campaigns.

create_a_constant_contact_user

Add an email address to a Constant Contact account. Returns: email_address, email_id, confirm_status.

list_all_constant_contact_account_summary

Get a summary of account details for a Constant Contact user account, including the organization name and account contact information. Returns: encoded_account_id, organization_name, contact_email, contact_phone, organization_phone, first_name, last_name, country_code, state_code, time_zone_id, website, physical_address, company_logo.

constant_contact_account_summary_bulk_update

Update the account details for a Constant Contact account, such as contact, organization, and location information. Returns: contact_email, contact_phone, country_code, encoded_account_id, first_name, last_name, organization_name, organization_phone, state_code, time_zone_id, website.

list_all_constant_contact_activities

List bulk activity statuses in Constant Contact. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, source_file_name, percent_done, activity_errors, status, _links. Max 500 results per page.

get_single_constant_contact_activity_by_id

Get the status report for a single bulk activity in Constant Contact by id. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, source_file_name, percent_done, activity_errors, status, _links. Required: id.

constant_contact_summary_company_logos_bulk_update

Update the company logo for the Constant Contact account. Returns the CompanyLogo object including url, external_url, and internal_id. The logo references either a MyLibrary image (internal_id) or an external image (external_url).

list_all_constant_contact_summary_company_logos

Get the company logo for the Constant Contact account. Returns the CompanyLogo object including url, external_url, and internal_id, or an empty 204 response when no logo is set for the account.

constant_contact_summary_physical_addreses_bulk_update

Update the physical address of a ConstantContact account. Returns: address_line1, address_line2, address_line3, city, state_code, state_name, postal_code, country_code. Required: address_line1, city, country_code. Use state_code for US/CA addresses and state_name for all other countries.

create_a_constant_contact_summary_physical_addrese

Create the physical address for a ConstantContact account. Returns: address_line1, address_line2, address_line3, city, state_code, state_name, postal_code, country_code. Required: address_line1, city, country_code. Use state_code for US/CA addresses and state_name for all other countries.

list_all_constant_contact_summary_physical_addreses

Get the physical address on record for a ConstantContact account; it displays in the footer of every email sent from the account. Returns: address_line1, address_line2, address_line3, city, state_code, state_name, postal_code, country_code.

list_all_constant_contact_user_privileges

List the user privileges associated with your Constant Contact access token as an array of privilege objects. Returns: privilege_id, privilege_name. Includes all privileges, even ones the V3 API does not currently use.

create_a_constant_contact_default

Create a new Constant Contact event with default settings, a registration form, and a landing page; it is created in DRAFT status. Returns: description, title, name, event_id, campaign_id, event_start, registration_url, status, and 29 more. No required parameters — name, start_time, end_time, and placeholder_campaign_id have defaults if omitted.

create_a_constant_contact_event_copy

Create a deep copy of an existing Constant Contact event, including its settings, registration forms, and landing pages; the copy is created in DRAFT status. Returns the new event object including event_id, name, status, event_start, event_end, and registration_url. Required: event_id, target_event_name. DELETED events cannot be copied.

get_single_constant_contact_event_by_id

Get details for a single ConstantContact event by id. Returns the event object including event_id, title, description, event_start, event_end, status, and registration_url. Required: id, event_id.

list_all_constant_contact_events

List ConstantContact events with event details. Returns: name, event_id, event_start, event_end, status, registration_url. Max 100 per page.

update_a_constant_contact_event_by_id

Update an event in Constant Contact by id, partially applying only the fields provided in the body (event_settings, location_type). Only events in DRAFT or ACTIVE status can be updated; COMPLETE, CANCELED, and DELETED events cannot. Returns an empty 204 response on success. Required: id, event_start, event_end.

create_a_constant_contact_check_in_ticket

Check in one or more order tickets for a Constant Contact event by marking them as checked in. Returns an empty 204 response on success. Required: event_id, order_ticket_keys. The event must be in ACTIVE or COMPLETE status; CANCELLED tickets cannot be checked in.

constant_contact_registrations_payment_status_bulk_update

Update the payment status for one or more event track registrations in Constant Contact. Returns an empty 200 response on success; a 207 reports per-registration results when some fail. Required: event_id, track_id, registration_ids, payment_status. Only registrations with a payment method (PAYPAL, WEPAY, STRIPE, DOOR, CHECK) are processed. Only applies to registrations with a paid ticket; free registrations are rejected.

constant_contact_track_registrations_bulk_update

Update the registration status for one or more registrations in a Constant Contact event track. On success returns a 200 with no body; when some registrations fail to update, returns 207 with failed_registration_ids. Required: event_id, track_id, registration_ids, registration_status.

get_single_constant_contact_track_registration_by_id

Get registration details for a specific event track in Constant Contact. Returns: registration_id, contact_id, checkedIn_tickets, checkin_status, eligible_checkin_tickets, registration_date, registration_status, display_physical_tickets, contact, tickets, order_summary. Required: id, event_id, track_id, registration_id.

list_all_constant_contact_track_registrations

List registrations for a Constant Contact event track. Returns per registration: registration_id, first_name, last_name, email_address, registration_status, payment_status, tickets, total, and check-in details. Required: event_id, track_id.

create_a_constant_contact_undo_check_in_ticket

Undo check-in for one or more tickets of a Constant Contact event, marking them as not checked in; the event must be in ACTIVE or COMPLETE status. Returns an empty 204 response on success. Required: event_id, order_ticket_keys.

constant_contact_segment_names_bulk_update

Rename an existing Constant Contact segment by updating its name. Returns: name, segment_criteria, criteria, segment_id, created_at, edited_at. Required: segment_id and name.

create_a_constant_contact_segment

Create a new Constant Contact segment targeting a subset of contacts for a marketing campaign. Returns: name, segment_criteria, criteria, and 3 more fields. Required: name, segment_criteria. Requires name (must be unique) and segment_criteria as a JSON object; do not exceed 500 email campaigns or a 1825-day date range in the criteria.

delete_a_constant_contact_segment_by_id

Delete a segment from ConstantContact by id. Returns an empty 204 response on success. Verify the segment is not associated with a scheduled campaign before deleting. Required: id.

get_single_constant_contact_segment_by_id

Get a Constant Contact segment by id, including its contact-selection criteria. Returns: name, segment_criteria, criteria, segment_id, created_at, edited_at. Required: id. Details for deleted segments can also be retrieved.

list_all_constant_contact_segments

List all Constant Contact segments in the account, sortable by name ascending or most recently updated first. Returns: name, segment_criteria, criteria, segment_id, created_at, edited_at. Deleted segments are excluded from the results.

update_a_constant_contact_segment_by_id

Update a Constant Contact segment's name or contact-selection criteria by id. Returns: name, segment_criteria, criteria, segment_id, created_at, edited_at. Requires id, name, and segment_criteria — both body fields must be sent even if only one changes. Required: id, name, segment_criteria.

create_a_constant_contact_contact_custom_field

Create a custom field in Constant Contact to store extra contact data such as preferences or interests. Returns the created field with custom_field_id, label, name, type, metadata, version, choices, created_at, and updated_at. Requires label and type. Accounts support up to 100 custom fields.

delete_a_constant_contact_contact_custom_field_by_id

Delete a custom field from a ConstantContact account by id. Returns an empty 204 response on success. Required: id.

get_single_constant_contact_contact_custom_field_by_id

Get details for a single custom field in Constant Contact by id. Returns: custom_field_id, label, name, type, metadata, version, choices, updated_at, created_at. Required: id.

list_all_constant_contact_contact_custom_fields

List all custom fields defined in the Constant Contact account. Returns each field with custom_field_id, label, name, type, metadata, version, choices, created_at, and updated_at. Max 100 per page.

update_a_constant_contact_contact_custom_field_by_id

Update an existing custom field in Constant Contact by id. Returns the updated field with custom_field_id, label, name, type, metadata, version, choices, created_at, and updated_at. Requires label and choices; any omitted properties are overwritten with null. Required: id.

get_single_constant_contact_contact_export_by_id

Retrieve Exported Contacts File. Required: id. The id is the file id from the export activity's _links.results.href (/v3/contact_exports/{id}), not the activity_id.

list_all_constant_contact_contacts_contact_id_xrefs

List cross-referenced V2 and V3 contact IDs in Constant Contact. Returns: sequence_id, contact_id. Migration-only endpoint for V2-to-V3 migration, not intended for regular or repeated use. Required: sequence_ids.

create_a_constant_contact_activities_add_list_membership

Create a bulk activity in Constant Contact that adds contacts to one or more lists. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, percent_done, and 3 more fields. Required: source, list_ids. Requires source and list_ids. Each contact can join up to 50 lists; activities are queued and processed asynchronously.

create_a_constant_contact_activities_contact_delete

Bulk delete Constant Contact contacts by contact_ids (up to 500) or list_ids (up to 50; all list members are deleted). Returns the queued activity's activity_id, state, percent_done, and activity_errors. Processes asynchronously.

create_a_constant_contact_activities_contact_export

Create a Constant Contact contact-export activity that writes contacts and their details to a CSV file. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, percent_done, activity_errors, status, _links. Requires a JSON body specifying which contacts and fields to export.

create_a_constant_contact_activities_contacts_file_import

Import Constant Contact contacts from a CSV file as an asynchronous background job that adds or updates them. Returns: activity_id, state, started_at, completed_at, source_file_name, percent_done, and 5 more. Required: file, list_ids. CSV max 40,000 lines / 4 MB; set sms_permission_to_send (not_set or explicit) when importing SMS numbers.

create_a_constant_contact_activities_remove_list_membership

Remove contacts from one or more Constant Contact lists by creating a bulk remove-contacts activity. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, percent_done, activity_errors, status, _links. Required: source, list_ids. The activity is queued for asynchronous processing.

create_a_constant_contact_activities_contacts_json_import

Import Constant Contact contacts from a JSON payload as an asynchronous background job that adds new or updates existing contacts. Returns the queued activity: activity_id, state, percent_done, activity_errors, and status. Required: import_data, list_ids. Payload capped at 4 MB.

create_a_constant_contact_activities_contacts_taggings_add

Create an asynchronous Constant Contact activity that adds tags to contacts matching your source filter. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, percent_done, activity_errors, status, _links. Required: source, tag_ids. Use the returned activity link to check status.

create_a_constant_contact_activities_contacts_taggings_remove

Create an asynchronous Constant Contact activity that removes one or more tags from contacts matching your source filter. Returns: activity_id, state, started_at, completed_at, created_at, percent_done, status, _links, and 2 more. Required: source, tag_ids. Source types are mutually exclusive; use the returned activity link to poll status.

create_a_constant_contact_activities_contacts_tags_delete

Create an asynchronous Constant Contact bulk activity that deletes up to 500 tags; deleted tags are automatically removed from tagged contacts. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, percent_done, activity_errors, status, _links. Required: tag_ids.

create_a_constant_contact_activities_custom_fields_delete

Delete up to 100 custom fields in a Constant Contact account by submitting their ids. Returns: activity_id, state, started_at, completed_at, created_at, updated_at, percent_done, activity_errors, _links. Required: custom_field_ids. The delete activity is queued and processed asynchronously.

create_a_constant_contact_activities_list_delete

Delete up to 100 contact lists in a Constant Contact account by queueing a bulk activity. Returns the queued activity with activity_id, state, percent_done, and activity_errors. Required: list_ids. Processing is asynchronous.

list_all_constant_contact_hashtags_groups

List saved hashtag groups in Constant Contact, the reusable hashtag collections users organize for social posts. Returns: _links, hashtag_groups, page. Max 5 per page; pages are 0-based.

list_all_constant_contact_social_connections

List all social network accounts connected to the Constant Contact account, with support for multiple accounts per network. Returns the connections array; each connection includes account_info (display_name, username, network, image_url, account_url) and connection_status (is_active_user, has_token, token_is_valid, rate_limited, error, status).

create_a_constant_contact_social_post

Create a ConstantContact social media post targeting one or more social profiles, saved as DRAFT or scheduled via status. Returns: campaign_id, name, profile_posts, scheduled_time, status. Required: status, profile_posts. SCHEDULED posts require scheduled_time in ISO-8601 format.

list_all_constant_contact_social_profiles

List all social media profiles connected to the Constant Contact account, such as Facebook Business Pages, LinkedIn Company Pages, and Instagram Business accounts. Returns: accessible, account_info, connected, handle, image_url, name, network, network_profile_id, network_user_id, profile_id, settings, url, oauth2_implicit.

constant_contact_activitie_abtests_bulk_delete

Delete the A/B test on a Constant Contact email campaign activity. Only A/B tests with a current_status of Draft can be deleted; deleting reverts the activity type from A/B Test back to NewsLetter and uses the original subject line. Returns an empty 204 response on success. Required: campaign_activity_id.

create_a_constant_contact_activitie_abtest

Create an A/B test for a Constant Contact email campaign activity. Returns: alternative_subject, test_size, winner_wait_duration. Requires campaign_activity_id, alternative_subject, test_size, and winner_wait_duration; the campaign must be a DRAFT, with test_size from 5–50 and winner_wait_duration of 6, 12, 24, or 48 hours. Required:…

get_single_constant_contact_activitie_abtest_by_id

Get the A/B test details for a Constant Contact email campaign activity. Returns: alternative_subject, test_size, winner_wait_duration. Currently A/B tests support subject lines only. Required: id.

create_a_constant_contact_activitie_non_opener_resend

Create a resend to non-openers campaign activity for a Constant Contact email campaign. Returns: resend_subject, delay_days, delay_minutes, resend_date, resend_request_id. Required: campaign_activity_id, resend_subject. Only one resend per campaign; delay_days and delay_minutes are mutually exclusive (resend 12 hours to 10 days after send).

delete_a_constant_contact_activitie_non_opener_resend_by_id

Delete (unschedule) a resend to non openers activity for a Constant Contact email campaign. Returns an empty 204 response on success. Required: id, campaign_activity_id, resend_request_id.

list_all_constant_contact_activitie_non_opener_resends

Get details about a resend to non-openers campaign activity in Constant Contact. Returns: resend_subject, delay_days, delay_minutes, resend_date, resend_request_id, resend_status. Required: campaign_activity_id. An empty list is returned when no resend activity exists for the campaign.

list_all_constant_contact_activitie_previews

Get the HTML preview of a Constant Contact email campaign activity to verify how it looks before sending. Returns: campaign_activity_id, from_email, from_name, preheader, preview_html_content, preview_text_content, subject, and 2 more. Required: campaign_activity_id. The preview HTML is a JSON-encoded string that must be decoded before use.

constant_contact_activitie_schedules_bulk_delete

Delete the schedule of an email campaign activity in Constant Contact to unschedule it. Returns an empty 204 response on success. Required: campaign_activity_id. Only activities in SCHEDULED status can be unscheduled; unscheduling reverts the activity to the status it held prior to scheduling.

create_a_constant_contact_activitie_schedule

Schedule a Constant Contact email campaign activity to send immediately (set scheduled_date to "0") or on a specific date. Returns: scheduled_date. Required: campaign_activity_id, scheduled_date. Only primary_email activities in DRAFT, DONE, or ERROR status can be scheduled.

list_all_constant_contact_activitie_schedules

Get the current schedule for a Constant Contact email campaign activity by id. Returns the schedule record with its scheduled_date — the date Constant Contact will send the activity to contacts; an empty array is returned when the activity is not in SCHEDULED status. Required: campaign_activity_id.

get_single_constant_contact_activitie_send_history_by_id

Get the send history of an email campaign activity in ConstantContact. Returns one entry per send with send_id, contact_list_ids, segment_ids, count, run_date, send_status, and reason_code, in ascending order by send date. Required: id. Works only for primary_email and resend role activities.

create_a_constant_contact_activitie_test

Send a test email for a Constant Contact email campaign activity to verify how it will look before sending it to contacts. Returns an empty 204 response on success. Required: campaign_activity_id, email_addresses. Test emails do not process dynamic content; up to 50 test emails per day and 5 recipients per send.

create_a_constant_contact_automations_workflow

Create a new Constant Contact automation workflow by defining its trigger (for example, contacts joining a list or a contact birthday). Simplest trigger: {"type":"ListJoin"}. Returns: id, name, description, structured_tags, status, active_definition, draft_definition, name_explicitly_set, oauth2_implicit.

get_single_constant_contact_automations_workflow_by_id

Get a single Constant Contact automation workflow by id. Returns: id, name, description, structured_tags, status, active_definition, draft_definition, name_explicitly_set, oauth2_implicit. Required: id.

list_all_constant_contact_automations_workflows

List all Constant Contact automation workflows available on the account. Returns workflow records with id, name, description, status, structured_tags, and their active and draft definitions.

update_a_constant_contact_automations_workflow_by_id

Update a Constant Contact automation workflow by id. Returns: id, name, description, structured_tags, status, active_definition, draft_definition, name_explicitly_set, oauth2_implicit. Required: id.

list_all_constant_contact_campaign_detail_p_contact_opens

List each time a contact opens a link on a Constant Contact landing page campaign, with contact details reported most recent activity first. Returns: tracking_activities, _links. Required: campaign_activity_id. Max 500 results per page.

list_all_constant_contact_campaign_detail_p_unique_contact_adds

List the contacts added to a Constant Contact account from a specific landing page, ordered with the most recent activity first. Returns: tracking_activities, _links. Required: campaign_activity_id. Max 500 per page.

list_all_campaign_detail_p_unique_contact_clicks

List unique contacts that clicked a link on a Constant Contact landing page, most recent first. Returns: tracking_activities, _links, oauth2_implicit. Required: campaign_activity_id. Max 500 per page; a contact may appear more than once.

list_all_constant_contact_campaign_detail_p_unique_contact_opens

List unique contact opens for a ConstantContact landing page, one record per contact that opened a link on the campaign activity, most recent activity first. Returns tracking_activities with contact_id, email_address, device_type, created_time, and sms_channel, plus _links.next pagination. Required: campaign_activity_id. Max 500 per page.

list_all_campaign_detail_p_unique_contact_sms_optins

List Constant Contact landing page contacts that clicked a link to opt in to SMS text messages, most recent activity first. Returns per contact: contact_id, tracking_activity_type, email_address, first_name, created_time, and sms_channel details. Required: campaign_activity_id. Max 500 per page.

list_all_campaign_detail_p_unique_contact_updates

List contacts that updated their contact data via a Constant Contact landing page, with the most recent activity first. Returns: tracking_activities, _links. Required: campaign_activity_id. Max 500 per page.

list_all_constant_contact_contact_lists_list_id_xrefs

List cross-referenced V2 and V3 contact list IDs in Constant Contact for V2-to-V3 migration. Returns: xrefs, oauth2_implicit. Required: sequence_ids (comma delimited, max 500 ids). Migration-only endpoint — use sparingly, as Constant Contact will deprecate it.

list_all_constant_contact_contact_report_activity_details

Get tracking activity details for a single Constant Contact contact, sorted in descending activity date order. Returns: tracking_activities, _links. Required: contact_id. Specify either tracking_activities_list or tracking_activity_type (mutually exclusive); max 100 per page.

get_contact_report_activity_summary_by_id

Get the Constant Contact activity summary for a contact: the recent campaign activities (emails) sent to that contact and the actions the contact took on each email, covering the most recent 200 campaigns. Returns: contact_id, campaign_activities, _links. Required: id, start, end, contact_id.

list_all_constant_contact_contact_report_open_and_click_rates

Get the average open and click rates for bulk email sends to a Constant Contact contact over a date range. Returns: contact_id, included_activities_count, average_open_rate, average_click_rate. Required: contact_id, start, end. The date range cannot exceed 5 years.

list_all_constant_contact_contacts_counts

Get the total contacts count for a Constant Contact account along with contact-consent counts for each consent state. Returns: total, explicit, implicit, pending, unsubscribed, new_subscriber.

update_a_constant_contact_contacts_resubscribe_by_id

Send a confirmation resubscribe email to an unsubscribed Constant Contact contact and add them to the contact lists you specify; the contact is not resubscribed until they confirm, and the resubscribe email can only be sent once per contact. Returns a success response with no body. Required: id, list_ids.

get_contacts_sms_engagement_history_by_id

Get SMS engagement history for a contact in ConstantContact, including SMS consent and advertising frequency details. Returns: contact_id, sms_channel_id, sms_channel_history_id, insert_time, history_details. Required: id.

list_all_constant_contact_email_report_links

Get the Constant Contact email links report for an email campaign activity, showing the number of unique contacts that clicked each link and the click-segmentation action for each link. Returns: campaign_activity_id, link_click_counts, oauth2_implicit. Required: campaign_activity_id.

list_all_constant_contact_email_reports_campaign_performances

List campaign performance statistics for email campaigns in Constant Contact for a given date range. Returns: errors, top, bottom.

create_a_constant_contact_email

Create a new Constant Contact email campaign. Returns the created campaign including campaign_activities, campaign_id, name, current_status, created_at, updated_at, type, and type_code. from_email must be verified; custom HTML must include [[trackingImage]]. Required: name, email_campaign_activities.

delete_a_constant_contact_email_by_id

Delete an email campaign in Constant Contact by id, including its associated email campaign activities. Returns an empty 204 response on success. Required: id. Campaigns with a Scheduled status cannot be deleted; deleted campaigns are restorable in the Constant Contact UI.

get_single_constant_contact_email_by_id

Get details about a single Constant Contact email campaign by id, including its campaign activities. Returns: campaign_activities, campaign_id, created_at, current_status, name, type, type_code, updated_at. Required: id.

list_all_constant_contact_emails

List Constant Contact email campaigns, including deleted ones by default. Returns campaigns with campaign_id, name, current_status, type, type_code, created_at, and updated_at. Does not include campaign activity details.

update_a_constant_contact_email_by_id

Rename a Constant Contact email campaign by id. Returns: campaign_activities, campaign_id, created_at, current_status, name, type, type_code, updated_at. Cannot rename campaigns with a Removed status. Required: id, name.

get_single_constant_contact_emails_activity_by_id

Get a single Constant Contact email campaign activity by id, including its email content, metadata, and styling. Returns: campaign_activity_id, campaign_id, role, contact_list_ids, current_status, format_type, from_email, from_name, subject, and 11 more. Activities with a REMOVED status cannot be retrieved. Required: id, campaign_activity_id.

update_a_constant_contact_emails_activity_by_id

Update a Constant Contact email campaign activity by sending the full activity with your changes. Returns: campaign_activity_id, current_status, format_type, from_email, and 16 more. Required: id, from_email, from_name, reply_to_email, subject. Only DRAFT or Done primary_email activities can be updated; PUT overwrites missing top-level properties.

list_all_constant_contact_emails_campaign_id_xrefs

Look up the V3 campaign_id and campaign_activity_id for each V2 email campaign ID in Constant Contact to migrate locally stored V2 data to the V3 format. Returns an xrefs array with the V3 identifiers. Migration-only endpoint; not for regular or repeated use. Required: v2_email_campaign_ids.

list_all_constant_contact_stats_email_campaign_activities

Get performance tracking statistics for up to ten Constant Contact email campaign activities. Returns results with campaign_id, campaign_activity_id, stats counts (em_sends, em_opens, em_clicks, em_bounces and more), and last_refresh_time, plus errors for activities with no stats. Required: campaign_activity_ids (max 10).

list_all_constant_contact_stats_email_campaigns

Get Constant Contact email campaign performance stats for one or more campaigns. Returns results with campaign_id, stats (em_opens, em_clicks, em_sends), percents (open, click, bounce), and last_refresh_time, plus errors for any partial failures. Required: campaign_ids. A 404 is returned for all campaigns if any id is invalid.

list_all_summary_reports_email_campaign_summaries

List Constant Contact email campaign summary reports with aggregate interaction statistics for up to 500 campaigns, sorted by last_sent_date descending. Returns: bulk_email_campaign_summaries, aggregate_percents, _links. Max 500 per page.

list_all_constant_contact_tracking_bounces

List the email bounces report for a Constant Contact email campaign activity, most recent bounces first. Returns: tracking_activities, _links. Required: campaign_activity_id. Max 500 per page.

list_all_constant_contact_tracking_clicks

List email click tracking activities for a Constant Contact email campaign — each contact link click with its date, time, and device type, sorted most recent first. Returns: tracking_activities, _links. Required: campaign_activity_id. Max 500 per page.

list_all_constant_contact_tracking_didnotopens

List Constant Contact contacts that were sent a specific email campaign activity but did not open it. Returns tracking_activities items with contact_id, campaign_activity_id, tracking_activity_type, email_address, first_name, last_name, created_time, and deleted_at, plus _links for pagination. Required: campaign_activity_id. Most recent activity…

list_all_constant_contact_tracking_forwards

List each time a contact forwarded a Constant Contact email campaign activity using the forwarding link in the email footer. Returns: tracking_activities, _links, oauth2_implicit. Required: campaign_activity_id. Sorted most recent first; max 500 per page.

list_all_constant_contact_tracking_opens

List each time a contact opened a specific email campaign activity in Constant Contact, with the most recent activity first. Returns open activities with contact_id, email_address, device_type, tracking_activity_type, and created_time. Required: campaign_activity_id. Max 500 per page.

list_all_constant_contact_tracking_optouts

List the Constant Contact contacts that clicked an email campaign activity's unsubscribe link to opt out of future emails. Returns the report page with tracking_activities entries (contact email address, unique ID, opt-out date/time) and _links. Required: campaign_activity_id. Max 500 per page, most recent opt-outs first.

list_all_constant_contact_tracking_sends

List the contacts that a Constant Contact email campaign activity was sent to, most recent first. Returns: tracking_activities, _links. Required: campaign_activity_id. Max 500 per page.

list_all_constant_contact_tracking_unique_opens

Get the unique opens report for an email campaign activity in Constant Contact — the last time each contact opened it, most recent first. Returns tracking_activities with contact_id, email_address, first_name, last_name, device_type, and created_time, plus _links.next for pagination. Required: campaign_activity_id. Max 500 per page.

create_a_constant_contact_account_operations_sync

Send a Constant Contact v3 API request on behalf of a managed client account in your partnership. The request body defines the proxied call (URL, HTTP method, payload, query parameters, path parameters, and headers), so non-partner v3 API methods can be used this way. Returns the response body of the proxied v3 request, which varies with the….…

constant_contact_account_plans_bulk_update

Update the billing plan details for a client's Constant Contact account under your partner account. Returns: plan_type, current_tiers, billing_status, billing_day_of_month. Required: encoded_account_id.

get_single_constant_contact_account_plan_by_id

Get the billing plan details for a client's Constant Contact account. Returns: plan_type, current_tiers, billing_status, billing_day_of_month. Required: id.

create_a_constant_contact_contacts_unsubscribe

Unsubscribe contacts from a Constant Contact partner client account. Returns: unsubscribed_count. Required: encoded_account_id, update_source. Max 500 email_addresses per call; global_unsubscribe accepts only one address.

create_a_constant_contact_partner_account

Create a new Constant Contact client account under your partner account, set up its billing plan, and add the client to the default contact list. Returns: encoded_account_id, provision_uuid. Requires contact_email, country_code, state_code, and login_name. New accounts are free trials for up to 60 days. Required: contact_email, country_code,…

list_all_constant_contact_partner_accounts

List all Constant Contact client accounts under your partner account, filterable by account_type (all/managed/unmanaged). Returns site_owner_list records with encoded_account_id, organization_name, site_owner_name, billing_status, subscriber_count, and last_login_date, plus _links.next for paging. Max 50 per page; limit outside 10–50 is ignored.

constant_contact_status_cancels_bulk_update

Cancel the billing plan for a client Constant Contact account under your partner account. Returns: reason_id, effective_date. Required: encoded_account_id.

create_a_constant_contact_subscription_test

Trigger a test webhook notification to validate a Constant Contact partner webhook subscription; Constant Contact then POSTs example data to the topic's callback URI. Returns: topic_id, hook_uri, topic_name, topic_description, and 2 more. Required: topic_id.

list_all_constant_contact_summary_reports_sms_campaign_summaries

List Constant Contact SMS campaign summary details, including how many contacts uniquely interacted with each campaign and aggregate tracking stats, sorted by last_sent_date descending. Returns: campaign_id, campaign_name, last_sent_date, unique_counts, campaign_type. Max 50 per page. Required: start_at.

list_all_constant_contact_webhooks_subscriptions

List Constant Contact partner webhook topic subscriptions used to receive billing event notifications. Returns: topic_id, hook_uri, topic_name, topic_description.

get_single_constant_contact_webhooks_subscription_by_id

Get a Constant Contact partner webhook topic subscription by id. Topics: 1 (billing tier upgrade), 2 (tier downgrade), 3 (account cancelled), 4 (account disabled). Returns: topic_id, hook_uri, topic_name, topic_description. Required: id.

update_a_constant_contact_webhooks_subscription_by_id

Subscribe a Constant Contact application to a webhook topic or update its callback URI by id. Failed notifications retry for up to an hour. Returns: topic_id, hook_uri. Required: id.

delete_a_constant_contact_webhooks_subscription_by_id

Unsubscribe a Constant Contact partner application from webhook event notifications by deleting a topic subscription. Returns an empty 204 response on success. Required: id.

create_a_constant_contact_users_sso

Create a new SSO-enabled user under a Constant Contact partner client account. Returns an empty 201 response on success. The client account must have the Single Sign On for all users…. Required: encoded_account_id, first_name, last_name, role_name, contact_email, login_name, external_id, external_provider.

Why Truto

Why use Truto’s MCP server for Constant Contact

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 950+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Constant Contact

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified Marketing Automation API

Contacts

The contact represent a contact in the remote system.

View Docs

Lists

The list represent a list of contacts in the remote system.

View Docs

Tags

The tags on a contact in the remote system.

View Docs

Unified User Directory API

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Start with Constant Contact in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.

01

Link your customer’s Constant Contact account

Use Truto’s frontend SDK to connect your customer’s Constant Contact account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Constant Contact

Truto’s Proxy API is a 1-to-1 mapping of the Constant Contact API. You call us, we call Constant Contact, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Constant Contact’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Constant Contact on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does Constant Contact use?

Constant Contact uses OAuth 2.0 for authentication. Truto handles the full OAuth flow, token storage, and automatic refresh so your team never manages credentials directly.

Which Unified APIs does Truto support for Constant Contact?

Truto maps Constant Contact to the Unified Marketing Automation API (covering Contacts, Lists, and Tags) and the Unified User Directory API (covering Users and Roles). Specific tools for Constant Contact are built on request.

Can I sync custom fields between my product and Constant Contact?

Yes. Constant Contact's API v3 supports custom fields on contacts. You can create and map custom fields — such as donation amounts, appointment dates, or ticket types — so your users can leverage them as merge tags in their email templates.

How does Constant Contact handle rate limits?

Constant Contact's API v3 enforces rate limits (typically 10,000 requests per day and 4 requests per second). Truto manages retries and backoff automatically, so your integration stays within limits without manual throttling logic.

Does the integration support bulk contact operations?

Yes. Constant Contact's API v3 supports bulk JSON imports for contacts, which is critical for initial onboarding syncs and large list updates. Truto can orchestrate these bulk operations through the Unified Marketing Automation API.

How are opt-in and permission states handled to maintain deliverability?

Constant Contact strictly tracks opt-in source and permission status on every contact. When creating or updating contacts through the integration, you must correctly set these fields to protect your end user's sender reputation and comply with CAN-SPAM and GDPR.

Constant Contact

Get Constant Contact integrated into your app

Our team understands what it takes to make a Constant Contact integration successful. A short, crisp 30 minute call with folks who understand the problem.