Moosend
Manage mailing lists and trigger email automation campaigns via the Moosend Web API v3.
A single InTouch tool that branches on an operation input. Standard-library
Python only (no external packages) — it talks to https://api.moosend.com/v3
directly.
What it does
| Operation | Method & endpoint | Description |
|---|---|---|
list-lists |
GET /v3/lists.json |
List all active mailing lists in the account |
get-list |
GET /v3/lists/{listId}/details.json |
Get details for a single mailing list |
subscribe |
POST /v3/subscribers/{listId}/subscribe.json |
Add or update a contact on a list |
trigger-campaign |
POST /v3/campaigns/{campaignId}/send.json |
Trigger sending of a campaign |
Every call returns:
- result — the raw Moosend response body (a JSON string)
- status — the HTTP status code as a string
The tool never raises on a 4xx/5xx from Moosend; it returns the status and the error body so a calling job can inspect it. Only a transport failure (DNS, connection refused, timeout) marks the step FAILED.
API key setup
Moosend authenticates with an API key passed as the apikey query-string
parameter on every request — there is no header or Bearer token.
- Log in to your Moosend account.
- Go to Settings → API Key.
- Copy the existing key or generate a new one.
- Pass it as the
apiKeyinput to this tool.
The tool URL-encodes the key and appends it as ?apikey=... automatically.
Examples
List all mailing lists:
{
"apiKey": "YOUR_MOOSEND_API_KEY",
"operation": "list-lists"
}
Get one list's details:
{
"apiKey": "YOUR_MOOSEND_API_KEY",
"operation": "get-list",
"listId": "8b3c5d2e-1a2b-3c4d-5e6f-7a8b9c0d1e2f"
}
Add / update a contact (with optional custom fields):
{
"apiKey": "YOUR_MOOSEND_API_KEY",
"operation": "subscribe",
"listId": "8b3c5d2e-1a2b-3c4d-5e6f-7a8b9c0d1e2f",
"email": "[email protected]",
"name": "Jane Doe",
"hasExternalDoubleOptIn": "true",
"customFields": "{\"Country\":\"US\"}"
}
Trigger a campaign send:
{
"apiKey": "YOUR_MOOSEND_API_KEY",
"operation": "trigger-campaign",
"campaignId": "1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f"
}
Notes
- Moosend list and campaign IDs are GUIDs — copy them from the Moosend UI or
from a prior
list-listscall. customFieldsmust be a JSON object string; the tool parses it and sends it as theCustomFieldspayload field.- Response bodies are capped at 5 MB.