Integration

CampaignHQ integration

CampaignHQ is an email marketing platform. With this API an agent can manage contact lists and their contacts (add or update one contact, or upload a CSV file and import it with a column mapping), create email campaigns, set their content, sender and schedule, send a test, start, pause, resume or unschedule them, send transactional emails from a template, manage verified senders (domains or addresses) and partner entities (sub-accounts used to group lists, campaigns and senders). Every route the vendor documents is exposed. Authentication is an API key created in CampaignHQ under Settings, Integrations, API Keys, sent as a Bearer token in the Authorization header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in CampaignHQ.Built from the 25 CampaignHQ tools below, on the connection you add once.

What you can do with CampaignHQ

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Campaign, 5 operations

  • create_campaignCreate campaignPOSTCreates a draft email campaign with only a name. Returns it with its id; then set content, sender, lists and schedule with update_campaign before start_campaign.
  • delete_campaignDelete campaignDELETEDeletes a campaign. Returns success and a message.
  • get_campaignGet campaignGETGets one campaign: content, sender, schedule, aasmState, target lists and delivery statistics (rates and counts).
  • list_campaignsList campaignsGETLists the email campaigns (paged: data, total, page, perPage, totalPages), filterable by partner_entity_id. The vendor documents only id and name per item: use get_campaign for content, state, schedule and statistics.
  • update_campaignUpdate campaignPUTSets a campaign's content, sender, tracking, schedule and target lists. subject, from_email, from_name and html_body are required on every call: read them with get_campaign and send them back with your change.

Contact file, 2 operations

  • get_contact_file_statusGet contact file statusGETGets the import status of an uploaded contacts file: aasmState (pending, processing, completed), totalRecords, processedRecords, failedRecords and pctComplete.
  • upload_contact_fileUpload contact filePOSTUploads a contacts file (CSV with a header row) to a list without importing it yet. Returns the file id and firstRow; then call start_contact_file_import with a header_mapping.

List, 2 operations

  • create_listCreate listPOSTCreates a contact list and returns it with its id (pass as list_id to the contact and file tools).
  • list_listsList listsGETLists the contact lists of the account (paged: data, total, page, perPage, totalPages). Filter by partner_entity_id to get one sub-account's lists.

Partner entity, 2 operations

  • create_partner_entityCreate partner entityPOSTCreates a partner entity (a sub-account). Returns it with its id, to pass as partner_entity_id to the list, campaign and sender tools.
  • list_partner_entitiesList partner entitiesGETLists the partner entities (sub-accounts used to group lists, campaigns and senders) of the account, paged: data, total, page, perPage, totalPages.

Transactional campaign, 2 operations

  • create_transactional_campaignCreate transactional campaignPOSTCreates a transactional campaign, a group for transactional emails. Returns it with its id, to pass as transactional_campaign_id to send_transactional_email.
  • get_transactional_campaignGet transactional campaignGETGets a transactional campaign (a group under which transactional emails are reported) with its open, click, delivery, bounce and complaint rates.

Verified sender, 2 operations

  • create_verified_senderCreate verified senderPOSTAdds a sender domain or email address to verify. Returns it with status pending and, for a domain, the DNS records (DKIM, SPF, DMARC) to add; then call verify_sender.
  • list_verified_sendersList verified sendersGETLists the verified senders (domains or email addresses) with their status and, for a domain, the DNS records to add. Filter by partner_entity_id.

Contact, 1 operation

  • list_contactsList contactsGETLists the contacts of one list (paged: data, total, page, perPage, totalPages), each with email, names, company, subscribed and custom fields.

Create or update, 1 operation

  • create_or_update_contactCreate or update contactPOSTAdds a contact to a list, or updates it when it already exists there. Returns the contact. custom_fields is an object of field name to value.

Import, 1 operation

  • start_contact_file_importStart contact file importPOSTStarts importing an uploaded contacts file into the list. Returns the file with aasmState processing; poll get_contact_file_status until aasmState is completed.

Pause, 1 operation

  • pause_campaignPause campaignPUTPauses a campaign that is sending. Returns the campaign; resume it with resume_campaign.

Resume, 1 operation

  • resume_campaignResume campaignPUTResumes a paused campaign. Returns the campaign.

Start, 1 operation

  • start_campaignStart campaignPOSTStarts the campaign: it sends to its lists now, or at the schedule set with update_campaign (schedule_date, schedule_time, timezone). Returns the campaign with its new aasmState.

Test, 1 operation

  • send_campaign_testSend campaign testPOSTSends one test email of the campaign to the address given in to_email. Returns success and a message.

Transactional email, 1 operation

  • send_transactional_emailSend transactional emailPOSTSends a transactional email from a template to one or more recipients now. Returns success and, per recipient, contactEmail, emailId and status (such as processed) or a reason.

Unschedule, 1 operation

  • unschedule_campaignUnschedule campaignPUTCancels the schedule of a scheduled campaign so it does not send. Returns the campaign.

Verify, 1 operation

  • verify_senderVerify senderPOSTChecks a sender's verification again (for a domain, whether its DNS records are in place). Returns the sender with its status and per-record status.

Use CampaignHQ from Claude Code, Cursor or Codex

Connect CampaignHQ in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its CampaignHQ operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect CampaignHQ

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect CampaignHQ once

    Add your CampaignHQ connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

CampaignHQ integration FAQ

What can you do with the CampaignHQ integration?

LiveContext exposes 25 operations on CampaignHQ, covering campaign, contact file, list and partner entity.

Popular integrations

Browse the whole catalog