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.
Say what should happen.
The workflow builds itself.
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 mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Benchmark Email
- Create your workspace
Sign up free. Nothing to install.
- 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.
- 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.
