Integration

Benchmark Email integration

Benchmark Email is an email marketing service. Manage contact lists, contacts and segments, create, copy, test and schedule email campaigns, read campaign reports (opens, clicks, bounces, unsubscribes, forwards, per link, per hour, per country), and read automations, A/B tests, signup forms, surveys and polls with their results. Writes act on the real account: schedule_email and send_test_email send real emails, and every email sent counts against the plan's monthly send limit (Free: 1,000 emails a month; paid plans: 10 times their contact limit). add_contact must only be used for people who agreed to receive your emails. Not exposed: sub-accounts, agency and partner accounts, plan and billing, security PIN, password and email reset, API token routes, webhooks, third-party integrations, image and video galleries, CSV imports and file downloads, list cleaning, inbox checker, archive and community pages, help tickets, segment criteria, engagement lists, RSS scheduling, and the editing of automations, A/B tests, surveys, polls and signup forms. Not returned: contact custom field values (address, phone and other custom fields), contact IP addresses, the sender postal address, share and community links, and signup form embed code. Errors can arrive as HTTP 200 with Response.Status -1. Limits: 500 calls per 2 minutes and 60,000 per day; every account type includes free API use. Authentication: the Admin API Token from your Benchmark Email account (its Integrate page), sent as the AuthToken header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Benchmark Email.Built from the 64 Benchmark Email tools below, on the connection you add once.

What you can do with Benchmark Email

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.

Contact, 11 operations

  • add_contactAdd contactPOSTAdds a contact to a list for real. Only add people who agreed to receive your emails: EmailPerm must be 1. List automations can then email the contact. Check Response.Status: -1 means it failed, even on HTTP 200.
  • count_active_contactsCount active contactsGETCounts the active contacts in the whole account. Check Response.Status: -1 means it failed, even on HTTP 200.
  • count_contactsCount contactsGETCounts the contacts in a set of lists and segments, optionally excluding other lists and segments. Check Response.Status: -1 means it failed, even on HTTP 200.
  • count_unique_contactsCount unique contactsGETCounts the unique contacts in the whole account. Check Response.Status: -1 means it failed, even on HTTP 200.
  • get_contactGet contactGETGets one contact of a list: email, names, permission and opt-in values. Custom field values (address, phone and others) are not returned. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_contactsList contactsGETLists the contacts of a list (id, email, names, dates), one page at a time, optionally filtered by search value or by unsubscribed or hard bounced state. Check Response.Status: -1 means it failed, even on HTTP 200.
  • move_contactsMove contactsPOSTMoves contacts from one list to another list for real (comma-separated contact ids). Check Response.Status: -1 means it failed, even on HTTP 200.
  • remove_contact_from_listRemove contact from listDELETERemoves a contact from one list for real. Benchmark Email does not let you delete a subscriber within 7 days of a campaign sent to it. Check Response.Status: -1 means it failed, even on HTTP 200.
  • search_contactsSearch contactsGETFinds every list entry for an email address across all lists, with the contact id and list name of each. Check Response.Status: -1 means it failed, even on HTTP 200.
  • unsubscribe_contactUnsubscribe contactDELETEMoves contacts to the do not contact (master unsubscribe) list for real, so no campaign reaches them again. Check Response.Status: -1 means it failed, even on HTTP 200.
  • update_contactUpdate contactPATCHUpdates a contact for real (email or names). Only the fields you send change: the vendor example keeps every field left out. Check Response.Status: -1 means it failed, even on HTTP 200.

Email, 8 operations

  • copy_emailCopy emailPOSTCopies an email campaign into a new draft for real, under a new name. Returns the new email. Check Response.Status: -1 means it failed, even on HTTP 200.
  • create_emailCreate emailPOSTCreates an email campaign draft for real (name, subject, sender, lists). Nothing is sent until schedule_email. The docs list no content field. Check Response.Status: -1 means it failed, even on HTTP 200.
  • delete_emailDelete emailDELETEDeletes an email campaign for real (it goes to the trash in Benchmark Email). Check Response.Status: -1 means it failed, even on HTTP 200.
  • get_emailGet emailGETGets one email campaign: name, subject, sender, status, lists, schedule and plain text content. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_emailsList emailsGETLists the email campaigns of the account (id, name, subject, sender, status, lists, schedule), one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.
  • schedule_emailSchedule emailPOSTSENDS a campaign for real to every contact of its lists at ScheduleDate in TimeZone; a time that is now or past may send it at once. Uses the plan's monthly send allowance. Check Response.Status: -1 means it failed, even on HTTP 200.
  • send_test_emailSend test emailPOSTSends a test of a campaign for real to the comma-separated addresses in Emails, with a message. Only send to addresses that agreed to receive it. Check Response.Status: -1 means it failed, even on HTTP 200.
  • update_emailUpdate emailPATCHUpdates the name, subject or sender of an email campaign, for real. Only the fields you send change. Check Response.Status: -1 means it failed, even on HTTP 200.

Segment, 6 operations

  • create_segment_from_contactsCreate segment from contactsPOSTCreates a segment for real from a list of contact ids in one contact list. Returns the new segment id in Response.Data. Check Response.Status: -1 means it failed, even on HTTP 200.
  • delete_segmentDelete segmentDELETEDeletes a segment for real. The contacts stay in their list. Check Response.Status: -1 means it failed, even on HTTP 200.
  • get_segmentGet segmentGETGets one segment: name, description, base list, contact count and dates. Its criteria are not returned. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_contact_list_segmentsList contact list segmentsGETLists the segments built on one contact list. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_segmentsList segmentsGETLists the segments of the account with their ids, names, base list and contact counts. PageSize, Filter, OrderBy and SortOrder are required by the vendor. Check Response.Status: -1 means it failed, even on HTTP 200.
  • update_segmentUpdate segmentPATCHChanges the description of a segment, for real. Check Response.Status: -1 means it failed, even on HTTP 200.

Contact list, 5 operations

  • create_contact_listCreate contact listPOSTCreates a new contact list for real, with a name and optional description. Returns the list with its ID. Check Response.Status: -1 means it failed, even on HTTP 200.
  • delete_contact_listDelete contact listDELETEDeletes a contact list for real. Benchmark Email does not let you delete a subscriber within 7 days of a campaign sent to it. Check Response.Status: -1 means it failed, even on HTTP 200.
  • get_contact_listGet contact listGETGets one contact list: name, description, contact counts and the labels and types of its 24 custom fields. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_contact_listsList contact listsGETLists the contact lists of the account with their ids, names and contact counts, one page at a time (PageNumber, PageSize). Check Response.Status: -1 means it failed, even on HTTP 200.
  • update_contact_listUpdate contact listPATCHRenames a contact list or changes its description, for real. Only the fields you send change. Check Response.Status: -1 means it failed, even on HTTP 200.

Automation, 3 operations

  • delete_automationDelete automationDELETEDeletes an automation for real; its emails stop being sent. Check Response.Status: -1 means it failed, even on HTTP 200.
  • get_automationGet automationGETGets one automation: target list, sender, trigger type and field, status and header settings. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_automationsList automationsGETLists the automations (autoresponders) with their ids, target list, sender, email count and status, one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.

Ab test, 2 operations

  • get_ab_testGet ab testGETGets one A/B test: lists, test percent, schedule, variants and the winner settings. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_ab_testsList ab testsGETLists the A/B tests with their ids, names, lists, test percent, dates and status, one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.

Automation report, 2 operations

  • get_automation_reportGet automation reportGETGets the report of an automation: sends, opens, clicks, bounces, complaints and unsubscribes for each of its emails. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_automation_reportsList automation reportsGETLists automations for reporting, with their target list, email count and status. Check Response.Status: -1 means it failed, even on HTTP 200.

Email report, 2 operations

  • get_email_reportGet email reportGETGets the summary report of one campaign: sent, opens, unopens, clicks, bounces, unsubscribes, forwards, complaints. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_email_reportsList email reportsGETLists sent campaigns with their totals: sent, opens, unopens, clicks, bounces, unsubscribes, forwards and complaints. Check Response.Status: -1 means it failed, even on HTTP 200.

Signup form, 2 operations

  • get_signup_formGet signup formGETGets one signup form: title, fields, lists, success and confirmation pages and welcome email. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_signup_formsList signup formsGETLists the signup forms with their ids, names and the lists they feed, one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.

Survey report, 2 operations

  • get_survey_reportGet survey reportGETGets the report of a survey: each question with its answers and response counts. Check Response.Status: -1 means it failed, even on HTTP 200.
  • list_survey_reportsList survey reportsGETLists surveys for reporting, with their response counts. Check Response.Status: -1 means it failed, even on HTTP 200.

Ab test report, 1 operation

  • list_ab_test_reportsList ab test reportsGETLists A/B test reports: test id, email, list and status of each. Check Response.Status: -1 means it failed, even on HTTP 200.

Ab test result, 1 operation

  • get_ab_test_resultsGet ab test resultsGETGets the results of an A/B test: sent, opens, clicks, bounces and unsubscribes per variant and for the final send. Check Response.Status: -1 means it failed, even on HTTP 200.

Contact history, 1 operation

  • get_contact_email_historyGet contact email historyGETLists the campaigns sent to an email address with its opens, clicks and forwards per campaign. Check Response.Status: -1 means it failed, even on HTTP 200.

Contact list field, 1 operation

  • list_contact_list_fieldsList contact list fieldsGETLists the field names of a contact list (email, name fields, then the custom field labels). Check Response.Status: -1 means it failed, even on HTTP 200.

Contact list summary, 1 operation

  • get_contact_list_summaryGet contact list summaryGETGets the contact counts of a list by state: active, bounced, hard and soft bounced, opted in or not, unsubscribed. Check Response.Status: -1 means it failed, even on HTTP 200.

Email bounce, 1 operation

  • list_email_bouncesList email bouncesGETLists the contacts whose copy of a campaign bounced, with the date and bounce type. Check Response.Status: -1 means it failed, even on HTTP 200.

Email click, 1 operation

  • list_email_clicksList email clicksGETLists the contacts who clicked in a campaign, with the date. Check Response.Status: -1 means it failed, even on HTTP 200.

Email country open, 1 operation

  • get_email_opens_by_countryGet email opens by countryGETGets the number of opens of a campaign per country. Check Response.Status: -1 means it failed, even on HTTP 200.

Email forward, 1 operation

  • list_email_forwardsList email forwardsGETLists the contacts who forwarded a campaign, with the date. Check Response.Status: -1 means it failed, even on HTTP 200.

Email hourly open, 1 operation

  • get_email_hourly_opensGet email hourly opensGETGets the opens and clicks of a campaign hour by hour. Check Response.Status: -1 means it failed, even on HTTP 200.

Email link click, 1 operation

  • get_email_click_performanceGet email click performanceGETGets the clicks per link of a campaign: unique and total clicks for each URL. Check Response.Status: -1 means it failed, even on HTTP 200.

Email open, 1 operation

  • list_email_opensList email opensGETLists the contacts who opened a campaign, with date and device, one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.

Email recipient, 1 operation

  • get_email_recipient_countGet email recipient countGETCounts the contacts an email campaign would be sent to. Check Response.Status: -1 means it failed, even on HTTP 200.

Email send history, 1 operation

  • get_email_send_historyGet email send historyGETGets the send history of a campaign: date and number of emails of each send. Check Response.Status: -1 means it failed, even on HTTP 200.

Email unopen, 1 operation

  • list_email_unopensList email unopensGETLists the contacts who did not open a campaign. Check Response.Status: -1 means it failed, even on HTTP 200.

Email unsubscribe, 1 operation

  • list_email_unsubscribesList email unsubscribesGETLists the contacts who unsubscribed from a campaign, with date and reason, plus a count per reason. Check Response.Status: -1 means it failed, even on HTTP 200.

Poll, 1 operation

  • list_pollsList pollsGETLists the polls with their question, options, response count and status. PageNumber, PageSize and OrderBy are required by the vendor. Check Response.Status: -1 means it failed, even on HTTP 200.

Poll result, 1 operation

  • get_poll_resultsGet poll resultsGETGets the vote results of a poll: votes per option. Check Response.Status: -1 means it failed, even on HTTP 200.

Segment contact, 1 operation

  • list_segment_contactsList segment contactsGETLists the contacts of a segment (id, email, list id, modified date), one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.

Sender email, 1 operation

  • list_confirmed_sender_emailsList confirmed sender emailsGETLists the confirmed sender addresses of the account, the values create_email accepts as FromEmail. Check Response.Status: -1 means it failed, even on HTTP 200.

Survey, 1 operation

  • list_surveysList surveysGETLists the surveys with their ids, names, question counts and status, one page at a time. Check Response.Status: -1 means it failed, even on HTTP 200.

Use Benchmark Email from Claude Code, Cursor or Codex

Connect Benchmark Email in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Benchmark Email 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 Benchmark Email

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Benchmark Email once

    Add your Benchmark Email 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.

Benchmark Email integration FAQ

What can you do with the Benchmark Email integration?

LiveContext exposes 64 operations on Benchmark Email, covering contact, email, segment and contact list.

Popular integrations

Browse the whole catalog