Integration

Flexmail integration

Flexmail is a Belgian email marketing platform; its REST API covers contact management. Create, look up, update, replace and unsubscribe contacts, bulk-import contacts, subscribe contacts to interests (mailing topics) and manage those interests and their translations, send double opt-in confirmation mails through an opt-in form, read custom fields, sources, segments and contact languages, and manage webhooks. Sending campaigns and building messages are not part of this API (Flexmail serves them through separate SOAP services), the deprecated routes (preferences, interest labels, the old way to start an import) and the API info route are left out, and webhook verification tokens are not returned. Authentication is HTTP Basic with the Flexmail account ID as username and a personal access token (Settings > API > Personal access tokens) as password.

Ask it in chat

Say what should happen.
The workflow builds itself.

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

What you can do with Flexmail

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

  • create_contactCreate contactPOSTCreates a contact. Email, language and the source the contact comes from (from list_sources) are required; first name, name and custom field values keyed by placeholder are optional. Returns the new contact id; an existing email answers 409.
  • get_contactGet contactGETReturns one contact by its numeric id: email, first name, name, language and custom field values keyed by placeholder.
  • list_contactsList contactsGETList (a slice of) the collection of all contacts. The collection can be filtered by an email address to find its corresponding contact, or by a single interest id to only return contacts actively subscribed to that interest.
  • replace_contactReplace contactPUTCompletely replaces a contact's data instead of updating it partially: first_name, name and language are required, custom_fields optional. The email address is not changed.
  • update_contactUpdate contactPATCHUpdates only the fields sent (first_name, name, language, custom_fields), at least one of them. The email address cannot be changed here.

Interest, 5 operations

  • create_interestCreate interestPOSTCreates an interest (a topic contacts subscribe to) with a unique internal name (no commas, at most 50 characters) and a visibility; label and description are the texts contacts see. Returns the new interest id.
  • delete_interestDelete interestDELETEDeletion of an interest is rejected when contacts are subscribed to it, it is referenced by opt-in forms, or is used to segment contacts.
  • get_interestGet interestGETFetch a single interest by its identifier.
  • list_interestsList interestsGETList (a slice of) the collection of all available interests.
  • update_interestUpdate interestPATCHUpdates an interest's name, visibility, label or description. Only the fields sent change; the others keep their current values.

Webhook, 5 operations

  • create_webhookCreate webhookPOSTSubscribes an HTTPS target URL to an event from list_webhook_events (at most 10 webhooks per event). Flexmail first POSTs to the URL, which must answer 200 or 204 echoing the Flexmail-Webhook-Token header, else creation fails (400).
  • delete_webhookDelete webhookDELETEDeletes a webhook, which stops its deliveries. A disabled webhook is removed this way and recreated with create_webhook.
  • get_webhookGet webhookGETReturns one webhook: its event name, target URL and whether it is still enabled (Flexmail disables a webhook after a 3xx answer or 10 failed delivery attempts).
  • list_webhooksList webhooksGETLists the account's webhooks, each with its id, event name, target URL and whether it is still enabled.
  • update_webhookUpdate webhookPATCHChanges the target URL of a webhook. Flexmail verifies the new URL as on creation: it must answer 200 or 204 echoing the Flexmail-Webhook-Token header.

Interest subscription, 3 operations

  • list_contact_interest_subscriptionsList contact interest subscriptionsGETLists the interests a contact is subscribed to, each with the interest's id, name and visibility.
  • subscribe_contact_to_interestSubscribe contact to interestPOSTAdd a contact to an interest. If the contact itself has unsubscribed from this interest then this operation is refused with a `HTTP 403` response.
  • unsubscribe_contact_from_interestUnsubscribe contact from interestDELETERemoves a contact from an interest (ends its subscription to that topic).

Source, 3 operations

  • get_sourceGet sourceGETReturns one contact source (a label for where contacts came from) by its numeric id: its id and name.
  • list_contact_sourcesList contact sourcesGETLists the sources a contact is linked to (where the contact came from), each with its numeric id and name.
  • list_sourcesList sourcesGETLists the account's contact sources (labels for where contacts came from), each with its numeric id and name. create_contact and bulk import records need a source id from here.

Import, 2 operations

  • create_contact_importCreate contact importPOSTCreates an empty bulk import of contacts under a new UUID you choose (id). Add records with add_contact_import_records, then start it with start_contact_import; existing contacts are updated and new ones created.
  • get_contact_importGet contact importGETReturns a bulk import's status (idle, queued, processing, completed, rejected or failed) and, once it is completed, its report: contacts added, updated and ignored (blacklisted emails).

Opt in form, 2 operations

  • get_opt_in_formGet opt in formGETFetch the details of an opt-in form. The language of the form will be used as the communication language for the confirmation mail that is sent when an opt-in is submitted for this form.
  • list_opt_in_formsList opt in formsGETList the collection of all of the account's active opt-in forms.

Translation, 2 operations

  • get_interest_translationsGet interest translationsGETFetch the label and description translations for an interest. Translations are keyed by the language codes of the account's configured contact languages.
  • replace_interest_translationsReplace interest translationsPUTReplace all label and description translations for an interest. Translations are keyed by the language codes of the account's configured contact languages.

Account contact language, 1 operation

  • list_account_contact_languagesList account contact languagesGETFetch the configured contact languages for the account. These are the languages in which you will communicate with your contacts and they are configured during the onboarding of the account.

Custom field, 1 operation

  • list_custom_fieldsList custom fieldsGETList the collection of all available custom fields.

Opt in, 1 operation

  • submit_opt_inSubmit opt inPOSTInitiate the double opt-in process by submitting an optin for a specified email address. A confirmation mail containing instructions on how to confirm the opt-in will be sent to this address.

Record, 1 operation

  • add_contact_import_recordsAdd contact import recordsPOSTAdd records of contact data to a bulk import of contacts. After the necessary records are added, the bulk import can be started. We advise to keep the number of contact records in 1 request below 100.000 records.

Segment, 1 operation

  • list_segmentsList segmentsGETList the collection of all of the account's valid and active segments.

Start, 1 operation

  • start_contact_importStart contact importPOSTStarts a bulk import that holds records. Only one import may run at a time (409 otherwise). Processing can take a while: follow it with get_contact_import (Flexmail also emails when it is done).

Unsubscribe, 1 operation

  • unsubscribe_contactUnsubscribe contactPOSTUnsubscribe a contact from your communication. If a contact is unsubscribed, it can only be resubscribed via opt-in.

Webhook event, 1 operation

  • list_webhook_eventsList webhook eventsGETLists the event names a webhook can subscribe to on this account (such as contact.created, contact.updated, contact.unsubscribed, opt_in.confirmed); the set depends on the account plan.

Use Flexmail from Claude Code, Cursor or Codex

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

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Flexmail once

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

Flexmail integration FAQ

What can you do with the Flexmail integration?

LiveContext exposes 35 operations on Flexmail, covering contact, interest, webhook and interest subscription.

Popular integrations

Browse the whole catalog