Integration

Smoove integration

Smoove is an email, SMS and WhatsApp marketing platform. Create, update, look up, unsubscribe and resubscribe contacts, bulk-import contacts, manage mailing lists and landing pages, create and send email, SMS and WhatsApp campaigns and read their statistics and recipients, and log CRM communications. Authentication is an API key from the Smoove account settings, sent as a Bearer token in the Authorization header; each key carries roles (for example AccountAdmin or AccountMembersRead) that decide which tools it may call.

Ask it in chat

Say what should happen.
The workflow builds itself.

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

What you can do with Smoove

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, 7 operations

  • create_contactCreate contactPOSTCreates a contact and optionally adds it to lists (lists_ToSubscribe). Fails on a duplicate unless updateIfExists is true. Custom field keys come from list_contact_fields. Needs the AccountAdmin, AccountSubscriptions or AccountMembersNew role.
  • create_contact_asyncCreate contact asyncPOSTSame as create_contact but processed in the background: returns an operation uuid at once; check it with get_async_contact_status. Needs an API key with the AccountAdmin, AccountSubscriptions or AccountMembersNew role.
  • get_contactGet contactGETReturns one active contact, found by its id or by email, cell phone or external id (by). Answers 404 when no active contact matches. Needs an API key with the AccountAdmin, AccountMembersRead or AccountEcommerce role.
  • list_contactsList contactsGETLists active contacts (not deleted nor blacklisted), 100 per page at most, with field selection (fields) and q.* filters on signup age, id, email and names. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • list_list_contactsList list contactsGETLists the active contacts of one list, 100 per page at most; includeListAssociationTime adds when each joined. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • update_contactUpdate contactPUTUpdates a contact found by id, email, cell phone or external id (by). Only the fields you send change; lists_ToSubscribe and lists_ToUnsubscribe change list membership. Needs an API key with the AccountAdmin or AccountSubscriptions role.
  • update_contact_asyncUpdate contact asyncPUTSame as update_contact but processed in the background: returns an operation uuid at once; check it with get_async_contact_status. Needs an API key with the AccountAdmin or AccountSubscriptions role.

Status, 4 operations

  • get_async_campaign_statusGet async campaign statusGETReturns the status and timing of a background campaign creation started by create_campaign_async, and its result payload once done.
  • get_async_contact_statusGet async contact statusGETReturns the status and timing of a background contact create, update or bulk import, and its result in responsePayload once it succeeded.
  • get_contact_statusGet contact statusGETReturns the subscription status of one contact, found by id, email, cell phone or external id (by). Needs an API key with the AccountAdmin, AccountMembersRead or AccountEcommerce role.
  • list_contact_statusesList contact statusesGETLists the subscription status of every contact, unsubscribed ones included (id, external id, email, cell phone, status), 100 per page at most. Needs an API key with the AccountAdmin or AccountMembersRead role.

Campaign, 3 operations

  • create_campaignCreate campaignPOSTCreates an email campaign. It is saved for later unless sendNow is true (sends at once) or scheduleTo is set; send a saved one with send_campaign. Needs an API key with the AccountAdmin role.
  • create_campaign_asyncCreate campaign asyncPOSTSame as create_campaign but processed in the background: returns an operation uuid at once; check it with get_async_campaign_status. Needs an API key with the AccountAdmin role.
  • delete_campaignDelete campaignDELETEDeletes an email campaign by its campaign id or external id. Answers the text Deleted. Needs an API key with the AccountAdmin role.

List, 3 operations

  • create_listCreate listPOSTCreates a contact list, within the account's list quota, and returns it with its id. Needs an API key with the AccountAdmin role.
  • get_listGet listGETReturns one contact list by its id, with the fields chosen in fields. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • list_listsList listsGETLists the contact lists of the account (id and name by default; pick more with fields, add contactsCount with includeContactsCount). Needs an API key with the AccountAdmin or AccountMembersRead role.

Recipient, 3 operations

  • list_campaign_recipientsList campaign recipientsGETLists the recipients of an email campaign, one row per contact with its open count, click count, bounce and unsubscribe flags. Paged with page and itemsPerPage. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • list_landing_page_signupsList landing page signupsGETLists the contacts who signed up through a landing page, with the signup IP, page URL and time, 100 per page at most. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • list_sms_campaign_recipientsList sms campaign recipientsGETLists the recipients of an SMS campaign with each delivery status and response date, paged with page and itemsPerPage (at most 100). Needs an API key with the AccountAdmin or AccountMembersRead role.

Landing page, 2 operations

  • get_landing_pageGet landing pageGETReturns one active landing page (form id, title and type) by its id, as listed by list_landing_pages. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • list_landing_pagesList landing pagesGETLists the active lead-generation pages of the account (landing pages, popups, embedded forms, Facebook and mobile pages): form id, title and type. Needs an API key with the AccountAdmin or AccountMembersRead role.

Statistic, 2 operations

  • get_campaign_statisticsGet campaign statisticsGETReturns the aggregated report of an email campaign: sent, bounced (soft and hard), opened, clicked, unsubscribed, resubscribed and abuse counts. Needs an API key with the AccountAdmin or AccountMembersRead role.
  • get_whatsapp_campaign_statisticsGet whatsapp campaign statisticsGETReturns the delivery counts of a WhatsApp campaign: sent, received, read, failed and unknown, and when it was sent. Needs an API key with the AccountAdmin or AccountMembersRead role.

Campaigns template, 1 operation

  • list_campaign_templatesList campaign templatesGETLists the custom email templates of the account (id, name, preview image), whose name create_campaign accepts as templateName. Needs an API key with the AccountAdmin or AccountMembersRead role.

Communication, 1 operation

  • create_communicationCreate communicationPOSTLogs a CRM communication (a call, meeting, email, note) on a contact's timeline. It sends nothing to the contact. contact, communicator, initiator, date, time and type are all required. Needs an API key with the AccountAdmin or AccountCrm role.

Contact field, 1 operation

  • list_contact_fieldsList contact fieldsGETLists the contact fields of the account (system fields and custom fields with their keys, types and options). Read it before create_contact to know the custom field keys. Needs an API key with the AccountMembersRead or AccountAuthentication role.

Contacts blacklisted, 1 operation

  • list_blacklisted_contactsList blacklisted contactsGETLists blacklisted contacts (who can no longer receive campaigns) under blacklistContacts, with the fields chosen in fields. Needs an API key with the AccountAdmin or AccountMembersRead role.

Contacts bulk import, 1 operation

  • bulk_import_contactsBulk import contactsPOSTImports up to 500 contacts in one call into at most one list (lists_ToSubscribe), and returns an import report. Only one bulk import can run at a time; for a background job use bulk_import_contacts_async. Needs an API key with the AccountAdmin role.

Contacts unsubscriber, 1 operation

  • list_unsubscribed_contactsList unsubscribed contactsGETLists unsubscribed contacts with their unsubscribe date and reason, 100 per page at most, with field selection and q.* filters (unsubscribe date, signup age, id, email, names). Needs an API key with the AccountAdmin or AccountMembersRead role.

Create, 1 operation

  • create_whatsapp_campaignCreate whatsapp campaignPOSTCreates a WhatsApp campaign from an approved template (templateId from list_whatsapp_templates). Saved for later unless sendNow is true (sends at once) or scheduleTo is set. Needs an API key with the AccountAdmin role.

Import, 1 operation

  • bulk_import_contacts_asyncBulk import contacts asyncPOSTSame as bulk_import_contacts (500 contacts, one list, one import at a time) but in the background: returns an operation uuid; check it with get_async_contact_status. Needs an API key with the AccountAdmin role.

Message, 1 operation

  • create_sms_campaignCreate sms campaignPOSTCreates an SMS campaign (or a text-to-speech call with isTts). It is saved for later unless sendNow is true (sends at once) or scheduleTo is set. fromNumber must be verified. Needs an API key with the AccountAdmin role.

Resubscribe, 1 operation

  • resubscribe_contactResubscribe contactPOSTMoves an unsubscribed contact back so it can receive campaigns again. Only do this with the contact's consent. Answers true on success, 404 when not found. Needs an API key with the AccountAdmin or AccountSubscriptions role.

Send, 1 operation

  • send_campaignSend campaignPOSTSends a saved email campaign to its recipients now, or at scheduleTo when given. Only campaigns in the saved status can be sent. Returns an Ok text on success. Needs an API key with the Full role.

Template, 1 operation

  • list_whatsapp_templatesList whatsapp templatesGETLists the WhatsApp message templates of the account with their status, language, header, body, footer, buttons and sample parameters. Needs an API key with the AccountAdmin or AccountMembersRead role.

Unsubscribe, 1 operation

  • unsubscribe_contactUnsubscribe contactPOSTUnsubscribes a contact: it leaves its lists and stops receiving email and SMS campaigns. Fails with 400 when already blacklisted. Needs the AccountAdmin, AccountSubscriptions or AccountMembersUnsubscribe role.

Use Smoove from Claude Code, Cursor or Codex

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

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Smoove once

    Add your Smoove 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.

Smoove integration FAQ

What can you do with the Smoove integration?

LiveContext exposes 37 operations on Smoove, covering contact, status, campaign and list.

Popular integrations

Browse the whole catalog