Constant Contact for AI agents

Constant Contact is an email marketing platform built for small businesses, handling campaigns, contact lists, and event promotion in one place. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

MarketingOAuth 2.0MCP + RESTconstantcontact.com
AUDIT LOG · CONSTANT CONTACTPOLICY: acme-support
09:41:07 · claude · u_8f2read
constant_contact.list_events
List Events✓ allowed · 212ms
09:41:08 · claude · u_8f2read
constant_contact.get_event
Get Event✓ allowed · 164ms
09:41:09 · claude · u_8f2write
constant_contact.create_event
Create Event✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
constant_contact.delete_contact
Delete contact✕ blocked · policy: deny
EVERY CONSTANT CONTACT CALL, ON THE RECORD
01 · USE CASES

What agents do in Constant Contact.

01

Create an email campaign

Create a new email campaign ready to send to a segmented contact list.

02

Add a contact to a list

Add a new contact to a list and tag them for future segmentation.

03

Confirm before deleting a contact list

Confirm before deleting a contact list, since every subscriber on it loses that association.

02 · ACTIONS

93 Constant Contact actions, graded by risk.

Every Constant Contact action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

50

Look things up. Allowed by default.

  • constant_contact.get_event
    Get Event
  • constant_contact.get_contact
    Get contact
  • constant_contact.get_segment
    Get Segment
  • constant_contact.list_events
    List Events
  • constant_contact.list_contacts
    List contacts
  • constant_contact.list_segments
    List Segments
  • constant_contact.get_contact_tag
    Get contact tag details
  • constant_contact.get_contact_list
    Get Contact List
  • constant_contact.get_custom_field
    Get custom field
  • constant_contact.get_list_id_xrefs
    Get list ID cross-references
  • constant_contact.list_contact_tags
    List contact tags
  • constant_contact.get_email_campaign
    Get email campaign details
  • constant_contact.list_contact_lists
    List Contact Lists
  • constant_contact.list_custom_fields
    List contact custom fields
  • constant_contact.get_account_summary
    Get account summary
  • constant_contact.get_activity_status
    Get activity status
+ 34 MORE

write

30

Create and change things. Allow, or ask the user first.

  • constant_contact.create_event
    Create Event
  • constant_contact.update_event
    Update Event
  • constant_contact.create_contact
    Create Contact
  • constant_contact.update_contact
    Update Contact
  • constant_contact.update_segment
    Update Segment
  • constant_contact.create_contact_tag
    Create contact tag
  • constant_contact.create_social_post
    Create Social Post
  • constant_contact.update_contact_tag
    Update Contact Tag
  • constant_contact.create_contact_list
    Create Contact List
  • constant_contact.create_custom_field
    Create Custom Field
  • constant_contact.update_contact_list
    Update Contact List
  • constant_contact.update_custom_field
    Update Custom Field
  • constant_contact.add_contact_taggings
    Add Contact Taggings
  • constant_contact.add_list_memberships
    Add list memberships
  • constant_contact.create_email_campaign
    Create Email Campaign
  • constant_contact.update_account_details
    Update Account Details
+ 14 MORE

destructive

13

Delete, cancel or archive. Ask first, or deny outright.

  • constant_contact.delete_contact
    Delete contact
  • constant_contact.delete_segment
    Delete Segment
  • constant_contact.delete_contact_tag
    Delete contact tag
  • constant_contact.delete_contact_list
    Delete Contact List
  • constant_contact.delete_contact_tags
    Delete contact tags
  • constant_contact.delete_custom_field
    Delete custom field
  • constant_contact.delete_custom_fields
    Delete custom fields
  • constant_contact.delete_list_activity
    Delete contact list activity
  • constant_contact.delete_email_campaign
    Delete Email Campaign
  • constant_contact.remove_contact_tagging
    Remove Contact Tagging
  • constant_contact.remove_contact_taggings
    Remove Tags from Contacts
  • constant_contact.remove_list_memberships
    Remove contacts from lists
  • constant_contact.delete_contacts_activity
    Create contact delete activity
03 · HOW IT WORKS

Constant Contact in three steps.

  1. 01Your users connect Constant ContactThey sign in to Constant Contact on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 02You set the rulesReads run, writes like “create Event” can wait for the user, and “delete contact” can be denied outright.
  3. 03Any agent can actYour agent calls Constant Contact through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('constant_contact', {
  read: 'allow',
  write: 'ask',        // create_event
  destructive: 'deny',  // delete_contact
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Constant Contact connects.

Users sign in to Constant Contact on Arc0 Connect and approve the scopes you request. Build with Arc0’s Constant Contact OAuth app, or bring your own so the Constant Contact consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

The same Constant Contact connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
OAuth 2.0
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Constant Contact from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Constant Contact and Arc0, answered.

Q01

Can I use Constant Contact with Claude, ChatGPT or Cursor?

Yes. Connect Constant Contact to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Constant Contact actions you allow.

Q02

How do users connect Constant Contact?

Users sign in to Constant Contact on Arc0 Connect and approve the scopes you request. Build with Arc0’s Constant Contact OAuth app, or bring your own so the Constant Contact consent screen names you. Tokens refresh automatically, and you can export them whenever you want.

Q03

Which Constant Contact actions can my agent take?

93 in total: 50 read, 30 write and 13 destructive, such as “create Event”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Constant Contact?

Yes. Actions like “delete contact” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Constant Contact too?

Yes. The same Constant Contact connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Constant Contact into your agent.

Your users connect Constant Contact once, under your brand. Your agent gets 93 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan