Create or Update Subscriber
mailerlite.upsert_subscriber
ActionEmailconnection required
Calls the MailerLite API with the connection's credentials.
Create a subscriber, or update the existing one with the same email address.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- Bearer token
- Providers
- MailerLite
- Secret shape
- the API token, or {"api_key": "…"}
- Config it needs
- base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
5 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
email The subscriber's email address; it is the identity MailerLite matches on. | string | Yes | — | email format | dummy@example.com |
fields Custom field values keyed by field name, such as name or company. | object | No | — | — | — |
groups Group ids to add the subscriber to, as a JSON array of strings; omitting a group here never removes the subscriber from it. | array | No | — | array of string | — |
status The state to set; MailerLite defaults new subscribers to active. | string | No | — | one of "active", "unsubscribed", "unconfirmed", "bounced", "junk" | — |
resubscribe Re-activate the address if it had previously unsubscribed. | boolean | No | false | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"email": "dummy@example.com",
"resubscribe": false
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id MailerLite's id for this subscriber. | string | — |
email The subscriber's email address. | string | — |
status One of active, unsubscribed, unconfirmed, bounced or junk. | string | — |
source How the subscriber entered the account, such as api or import. | string | — |
sent How many campaigns have been sent to this subscriber. | number | — |
opens_count How many of those campaigns the subscriber opened. | number | — |
clicks_count How many links the subscriber has clicked. | number | — |
open_rate Share of sent campaigns opened, as MailerLite reports it. | number | — |
click_rate Share of sent campaigns clicked, as MailerLite reports it. | number | — |
ip_address The IP address the subscription was recorded from. | string | — |
subscribed_at When the subscriber was subscribed, as a MailerLite date. | string | — |
unsubscribed_at When the subscriber unsubscribed, or null. | string | — |
created_at When the subscriber record was created. | string | — |
updated_at When the subscriber record was last changed. | string | — |
fields Custom field values, keyed by the field's name. | object | — |
groups The groups this subscriber belongs to, when they were included. | array | — |
opted_in_at When double opt-in was confirmed, or null. | string | — |
optin_ip The IP address the opt-in was confirmed from, or null. | string | — |
{
"click_rate": 0,
"clicks_count": 0,
"created_at": "",
"email": "",
"fields": {},
"groups": [],
"id": "",
"ip_address": "",
"open_rate": 0,
"opens_count": 0,
"opted_in_at": "",
"optin_ip": "",
"sent": 0,
"source": "",
"status": "",
"subscribed_at": "",
"unsubscribed_at": "",
"updated_at": ""
}Notes
- This one endpoint both creates and updates: MailerLite answers 201 for a new address and 200 for an existing one, and returns the subscriber either way, so the node cannot tell you which happened.
See Create or Update Subscriber run in a workflow.
In a technical demo we add the MailerLite connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.