SendFox integration
SendFox is an email marketing platform for creators. Manage contacts, lists, contact tags and custom contact fields, import contacts in batches, create, schedule, send and measure email campaigns, build signup forms and automations, manage sender domains, and send transactional emails. The Free plan gets a limited set of endpoints (reading the account, lists, tags, contact fields, campaigns and their stats, saved templates and sections, automations and forms; creating contacts, adding them to a list and tagging them; transactional email; and sending domains on accounts with transactional access); any other call answers HTTP 402 on Free. Requests are limited to 60 per minute per account, and transactional sends to 5 per second and 300 per minute. Authentication is a personal access token created in the SendFox account settings, sent as a Bearer token in the Authorization header.
Say what should happen.
The workflow builds itself.
What you can do with SendFox
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, 8 operations
create_campaignCreate campaignPOSTCreates a campaign as a draft. To send it, use the send endpoint or provide scheduled_at. Subject lines cannot start with "RE:" or "FWD:".delete_campaignDelete campaignDELETEOnly draft campaigns (not yet sent) can be deleted. Uses soft delete.get_campaignGet campaignGETReturns one campaign by id: title, subject, preview text, HTML body, sender, schedule and sent time.list_campaignsList campaignsGETReturns a paginated list of campaigns (100 per page)resend_campaignResend campaignPOSTCreates a new draft with the original's content, sender, and exclusions, aimed at the chosen slice of the original audience. Omit scheduled_at to leave it as a draft.send_campaignSend campaignPOSTSchedules a draft campaign for immediate sending.send_test_campaignSend test campaignPOSTDelivers the rendered campaign to the addresses given so it can be checked in a real inbox.update_campaignUpdate campaignPATCHOnly draft campaigns (not yet sent) can be updated. All fields are optional.
Contact, 8 operations
batch_import_contactsBatch import contactsPOSTImport up to 1,000 contacts in a single request. Creates new contacts or updates existing ones.create_contactCreate contactPOSTCreates a contact from an email address, with optional first and last name, IP address, custom field values and the lists to add it to. Available on the Free plan.delete_contactDelete contactDELETESoft-deletes a contact and cancels any scheduled deliverablesget_contactGet contactGETReturns one contact by id: email, first and last name, IP address, unsubscribe time and timestamps.list_contactsList contactsGETReturns a page of contacts (100 per page, max 1000 with per_page), filtered by search, email, unsubscribe state, engagement or creation dates (AND-ed); count_only true gives only the count. No list or tag filter: see list_contacts_in_list.unsubscribe_contactUnsubscribe contactPATCHUnsubscribes a contact from all your emails (account-wide), by email address. To stop only one list, use unsubscribe_contact_from_list.unsubscribe_contact_from_listUnsubscribe contact from listPATCHUnsubscribes a contact from one list only, by email address. Their other lists and their account-wide status stay as they are, and re-adding them to the list later does not start sending again. There is no matching resubscribe tool.update_contactUpdate contactPATCHUpdate contact details including name, list memberships, and custom fields
Contact tag, 8 operations
attach_contact_tagAttach contact tagPOSTIdempotent. Returns the contact's tags after the change.create_contact_tagCreate contact tagPOSTCreates a tag. A brand color is auto-assigned when none is provided. Tag names are unique per account.delete_contact_tagDelete contact tagDELETEDeletes the tag. Tagged contacts are kept, only the tag and its attachments (including campaign audience use) are removed.detach_contact_tagDetach contact tagDELETERemoves a tag from a contact and returns the contact's remaining tags.get_contact_tagGet contact tagGETReturns one contact tag by id with its name, color and number of tagged contacts.list_contact_tagsList contact tagsGETLists the account's contact tags, newest first, each with its contact count.list_contact_tags_for_contactList contact tags for contactGETLists the tags carried by one contact.update_contact_tagUpdate contact tagPATCHRenames a contact tag or changes its color. Tag names are unique per account.
Automation, 5 operations
create_automationCreate automationPOSTCreates an automation with a title and, optionally, the trigger that starts it (a contact joining a list, being given a tag, or opening or clicking a campaign) and whether it is switched on. Add its emails with create_automation_email.delete_automationDelete automationDELETESoft-deletes the automation and cancels all scheduled deliverablesget_automationGet automationGETReturns automation with triggers, items, and campaign statslist_automationsList automationsGETLists the account's automations, each with its title, active flag, triggers and steps.update_automationUpdate automationPATCHUpdate title, trigger, or active status. Activating reschedules stale deliverables.
Contact field, 5 operations
create_contact_fieldCreate contact fieldPOSTCreates a custom field for contacts. The `name` is auto-generated from the `label` as a slug.delete_contact_fieldDelete contact fieldDELETEPermanently deletes the contact fieldget_contact_fieldGet contact fieldGETReturns one custom contact field by id with its label, machine name and type (text, number or date).list_contact_fieldsList contact fieldsGETReturns custom contact fields defined by the user (20 per page)update_contact_fieldUpdate contact fieldPATCHUpdates the label and auto-regenerates the name slug. Note: `contact_field_type_id` is immutable and cannot be changed after creation.
Contact list, 5 operations
create_contact_listCreate contact listPOSTCreates a contact list with the given name.delete_contact_listDelete contact listDELETESoft-deletes a list. Returns 409 if the list is used by forms, landing pages, or automations.get_contact_listGet contact listGETReturns list details including average open and click rateslist_contact_listsList contact listsGETLists the account's contact lists with their subscribed and unsubscribed contact counts, optionally filtered by a search query. Available on the Free plan.update_contact_listUpdate contact listPATCHRenames a contact list; the new name is required.
Domain, 5 operations
create_domainCreate domainPOSTAdds a new sender domain and creates the corresponding SendGrid whitelabel domain. Requires a provisioned SendGrid subuser; accounts get one shortly after signup.delete_domainDelete domainDELETERemoves the domain from SendGrid and soft-deletes locallyget_domainGet domainGETReturns domain details including DNS records needed for verificationlist_domainsList domainsGETReturns a paginated list of the user's whitelabel/sender domains. Sending domains are shared by marketing campaigns and transactional email.validate_domainValidate domainPOSTTriggers DNS validation for the domain via SendGrid. Returns whether validation passed and any errors for specific DNS records.
Form, 5 operations
create_formCreate formPOSTCreates a subscription form linked to one or more lists. Free users are limited to 1 form.delete_formDelete formDELETEDeletes a signup form (a soft delete).get_formGet formGETReturns one signup form by id with its title, redirect URL, GDPR consent setting and public subscribe URL.list_formsList formsGETLists the account's signup forms, optionally filtered by a search query.update_formUpdate formPATCHChanges a signup form's title, redirect URL or GDPR consent setting, or replaces the lists it subscribes people to.
Transactional email, 4 operations
get_transactional_emailGet transactional emailGETThe message without its bodies, plus its event timeline.list_transactional_emailsList transactional emailsGETLists the transactional emails sent by the account, newest first, without their bodies, optionally filtered by delivery status, tag, first recipient address and live or test mode. Paginated with page and per_page.send_transactional_emailSend transactional emailPOSTQueues one email. The response is immediate; delivery happens in the background and is reported through `get_transactional_email` and your webhook.send_transactional_email_batchSend transactional email batchPOSTQueues up to 100 emails in one request and reports a result per item.
Automation email, 3 operations
create_automation_emailCreate automation emailPOSTAdds an email step to an automation: subject, HTML body, sender, and the hours to wait before it is sent (24 by default, 0 for the first email).delete_automation_emailDelete automation emailDELETERemoves an email step from an automation.update_automation_emailUpdate automation emailPATCHChanges an email step of an automation: its subject, HTML body, sender, the hours to wait before it is sent, or its position in its flow. Only email steps can be changed this way; conditions are built in the SendFox app.
List member, 3 operations
add_contact_to_listAdd contact to listPOSTAdds an existing contact to a list. If the contact is already in the list, no duplicate is created.list_contacts_in_listList contacts in listGETReturns the members of one contact list. Membership is not subscription: a contact who unsubscribed from the list is still a member and is still returned; set status to subscribed or unsubscribed to narrow it.remove_contact_from_listRemove contact from listDELETERemoves a contact from one list, by list id and contact id.
Bulk contact action, 2 operations
create_bulk_contact_actionCreate bulk contact actionPOSTQueues one action (add or remove a tag or list) on every contact the filter matches, in the background; poll get_bulk_contact_action with the returned id. Run with dry_run true first (counts only): bulk writes are final. Empty filter: dry_run only.get_bulk_contact_actionGet bulk contact actionGETFor a dry run, matched_count is the answer and nothing was modified. A run whose match set exceeds the per-request ceiling fails without applying anything.
Campaign section, 2 operations
get_campaign_sectionGet campaign sectionGETReturns one saved campaign section by id, including its HTML. Only sections owned by the account are returned.list_campaign_sectionsList campaign sectionsGETLists the account's saved campaign sections with their HTML, newest first, 20 per page, optionally filtered by name. Shared gallery content is not included.
Campaign stats, 2 operations
get_campaign_statsGet campaign statsGETReturns sent count and open/click/bounce/unsubscribe/spam counts and rates, all read from stored counters.list_campaign_statsList campaign statsGETReturns the stored counts and rates of 1 to 100 campaigns at once, in request order. The whole request fails if any id is missing, deleted or belongs to another account. Unlike get_campaign_stats, it never includes link stats.
Campaign template, 2 operations
get_campaign_templateGet campaign templateGETReturns one saved campaign template by id, including its HTML. Only templates owned by the account are returned.list_campaign_templatesList campaign templatesGETLists the account's saved campaign templates with their HTML, newest first, 20 per page, optionally filtered by name. Shared gallery content is not included.
Account, 1 operation
get_current_userGet current userGETReturns the authenticated SendFox account: id, name, email, number of contacts and contact limit.
Campaign engagement, 1 operation
list_campaign_engagementList campaign engagementGETReturns the contacts in one of a sent campaign's engagement groups.
Contact activity, 1 operation
get_contact_activityGet contact activityGETReturns paginated email deliverables and contact-level engagement summary
List unsubscribe, 1 operation
list_contact_list_unsubscribesList contact list unsubscribesGETLists the members who no longer receive one contact list, and when they stopped. list_unsubscribed_at is the time they left this list only; unsubscribed_at is the account-wide opt-out; unsubscribed_scope says which applies.
Unsubscribed contact, 1 operation
list_unsubscribed_contactsList unsubscribed contactsGETLists unsubscribed contacts, optionally filtered by a search query.
Use SendFox from Claude Code, Cursor or Codex
Connect SendFox in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its SendFox 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 SendFox
- Create your workspace
Sign up free. Nothing to install.
- Connect SendFox once
Add your SendFox 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.
SendFox integration FAQ
What can you do with the SendFox integration?
LiveContext exposes 72 operations on SendFox, covering campaign, contact, contact tag and automation.
