Sender
App · 20 actions
Manage your Sender email marketing audience: add, update and delete subscribers, organise them in groups, create custom fields, draft campaigns and start people on automation workflows.
Actions
| Action | What it does |
|---|---|
| Add subscribers to group | Add existing subscribers to a group by email. |
| Create campaign | Create a draft email campaign from HTML or plain text for groups or segments. |
| Create field | Create a custom subscriber field of text, number or date. |
| Create group | Create a group to collect subscribers in. |
| Create subscriber | Add a subscriber with their name, phone, groups and custom fields. |
| Delete group | Delete a group. |
| Delete subscribers | Delete subscribers by email. |
| Get campaign | Get one campaign with its content, recipients and results. |
| Get subscriber | Look up a subscriber by email, phone or id, with their statuses, groups and field values. |
| List campaigns | List email campaigns with their status, subject, sender and results. |
| List fields | List the subscriber fields, built-in and custom, with the field_name to use in a subscriber's custom fields. |
| List group subscribers | List the subscribers in one group, a page at a time. |
| List groups | List the account's groups with their subscriber counts. |
| List segments | List the account's segments with their subscriber counts. |
| List subscribers | List the account's subscribers, newest first, a page at a time. |
| List workflows | List the account's automation workflows with their status. |
| Remove subscribers from group | Take subscribers out of a group by email. |
| Rename group | Give a group a new name. |
| Start workflow | Start someone on an active automation workflow by email. |
| Update subscriber | Change a subscriber's name, phone, groups, custom fields or email statuses. |
Add subscribers to group
Add existing subscribers to a group by email. Emails Sender does not know are listed in 'not_found'.
Inputs
- Group
group_idtextRequired - The group.
- Subscriber emails
emailslistRequired - The subscribers' email addresses. Type several separated by commas, or pass a list from an earlier step.
- Start automations
trigger_automationtrue/false - Let workflows that start on this change run. Turn off to make the change quietly.Default:
true.
Outputs
addedlist- Who was added
group_idtext- The group
not_foundlist- Emails that are not subscribers
warningslist- Anything to know
Example output
{
"added": [
"jo@example.com"
],
"group_id": "eZVD4w",
"not_found": [],
"warnings": []
}Create campaign
Create a draft email campaign from HTML or plain text for groups or segments. It is not scheduled or sent; review and send it from Sender.
Inputs
- Subject
subjecttextRequired - The email's subject line.
- From name
sender_nametextRequired - The sender name subscribers see.
- Reply-to email
reply_totextRequired - The address shown as the sender. It must be on a domain you have verified in Sender.
- Content type
content_typetextRequired - Whether the content is HTML or plain text.One of:
html,text(Plain text). Default:html. - Content
contenttext - The email body. Personalise with {{ firstname }} and {{ email }}; older {$firstname} tags are converted.
- Add unsubscribe link
add_unsubscribe_linktrue/false - Add an unsubscribe link at the end when the content has none ({{ unsubscribe_link }}).Default:
true. - Campaign name
titletext - A name for the campaign in Sender's reports.
- Preview text
preheadertext - The text inboxes show after the subject.
- Groups
groupslist - Groups the campaign will go to.
- Segments
segmentslist - Segments the campaign will go to.
- Google Analytics tracking
google_analyticstrue/false - Add Google Analytics tracking to the campaign's links.
Outputs
campaignobject- The new draft campaign
Example output
{
"campaign": {
"campaign_groups": [
"eZVD4w"
],
"created": "2026-10-10 10:00:00",
"from": "Acme",
"html": {
"has_preview": false,
"id": "x1",
"thumbnail_url": null
},
"id": "aMeL1Y",
"last_action": "api",
"modified": "2026-10-10 10:00:00",
"preheader": "Three things",
"reply_to": "hello@acme.example",
"segments": [],
"status": "DRAFT",
"subject": "What's new in October",
"title": "October newsletter"
}
}Create field
Create a custom subscriber field of text, number or date.
Inputs
- Field name
titletextRequired - The new field's name, as shown in Sender.
- Type
field_typetextRequired - What the field holds.One of:
text,number,datetime(Date and time). Default:text.
Outputs
fieldobject- The new field
Example output
{
"field": {
"created": "2026-09-01 10:00:00",
"default": false,
"field_name": "{$company}",
"id": "o2lk68Y",
"modified": "2026-09-01 10:00:00",
"position": 5,
"show": true,
"title": "Company",
"type": "text"
}
}Create group
Create a group to collect subscribers in.
Inputs
- Name
titletextRequired - The group's name.
Outputs
groupobject- The new group
Example output
{
"group": {
"active_subscribers": 118,
"bounced_count": 0,
"created": "2026-09-01 10:00:00",
"id": "eZVD4w",
"modified": "2026-10-01 10:00:00",
"recipient_count": 120,
"title": "Newsletter",
"unsubscribed_count": 2
}
}Create subscriber
Add a subscriber with their name, phone, groups and custom fields. Workflows that start when someone subscribes run unless 'Start automations' is off.
Inputs
- Email
emailtextRequired - The subscriber's email address.
- First name
first_nametext - The subscriber's first name.
- Last name
last_nametext - The subscriber's last name.
- Phone
phonetext - Their phone number with the country code, like +37060000000 or 0037060000000.
- Groups
groupslist - Groups to put the subscriber in.
- Custom fields
fieldsobject - Values for custom fields, keyed by the field name 'List fields' shows in field_name (company or {$company} both work).
- Start automations
trigger_automationtrue/false - Let workflows that start on this change run. Turn off to make the change quietly.Default:
true.
Outputs
subscriberobject- The subscriber
Example output
{
"subscriber": {
"columns": [],
"created": "2026-10-01 10:00:00",
"email": "jo@example.com",
"firstname": "Jo",
"id": "dBZ6Zl",
"lastname": "Rivera",
"location": null,
"phone": null,
"status": {
"email": "active",
"temail": "active"
},
"subscriber_tags": [
{
"id": "eZVD4w",
"title": "Newsletter"
}
]
}
}Delete group
Delete a group. Its subscribers are kept.
Inputs
- Group
group_idtextRequired - The group.
Outputs
deletedtrue/false- Always true once deleted
group_idtext- The group deleted
Example output
{
"deleted": true,
"group_id": "eZVD4w"
}Delete subscribers
Delete subscribers by email. Sender removes them shortly after the step finishes.
Inputs
- Subscriber emails
emailslistRequired - The subscribers' email addresses. Type several separated by commas, or pass a list from an earlier step.
Outputs
delete_instancetext- Sender's reference for the deletion
deletedtrue/false- Always true once accepted
emailslist- The email addresses
messagetext- Sender's message
Example output
{
"delete_instance": "instance_reference_id",
"deleted": true,
"emails": [
"jo@example.com"
],
"message": "Selected subscribers will be deleted shortly"
}Get campaign
Get one campaign with its content, recipients and results.
Inputs
- Campaign ID
campaign_idtextRequired - The campaign's Sender id, from 'List campaigns' or an earlier step.
Outputs
campaignobject- The campaign
Example output
{
"campaign": {
"campaign_groups": [
"eZVD4w"
],
"created": "2026-10-10 10:00:00",
"from": "Acme",
"html": {
"has_preview": false,
"id": "x1",
"thumbnail_url": null
},
"id": "aMeL1Y",
"last_action": "api",
"modified": "2026-10-10 10:00:00",
"preheader": "Three things",
"reply_to": "hello@acme.example",
"segments": [],
"status": "DRAFT",
"subject": "What's new in October",
"title": "October newsletter"
}
}Get subscriber
Look up a subscriber by email, phone or id, with their statuses, groups and field values.
Inputs
- Subscriber
subscribertextRequired - The subscriber's email address, phone number with country code, or Sender subscriber id.
Outputs
subscriberobject- The subscriber
Example output
{
"subscriber": {
"columns": [],
"created": "2026-10-01 10:00:00",
"email": "jo@example.com",
"firstname": "Jo",
"id": "dBZ6Zl",
"lastname": "Rivera",
"location": null,
"phone": null,
"status": {
"email": "active",
"temail": "active"
},
"subscriber_tags": [
{
"id": "eZVD4w",
"title": "Newsletter"
}
]
}
}List campaigns
List email campaigns with their status, subject, sender and results. The HTML body is left out; 'Get campaign' has it.
Inputs
- Status
statustext - Only campaigns with this status. Leave empty for all.One of:
DRAFT,SCHEDULED,SENDING,SENT. - Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
campaignslist- The campaigns
countnumber- How many on this page
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
totalnumber- How many in all
Example output
{
"campaigns": [
{
"campaign_groups": [
"eZVD4w"
],
"created": "2026-10-10 10:00:00",
"from": "Acme",
"html": {
"has_preview": false,
"id": "x1",
"thumbnail_url": null
},
"id": "aMeL1Y",
"last_action": "api",
"modified": "2026-10-10 10:00:00",
"preheader": "Three things",
"reply_to": "hello@acme.example",
"segments": [],
"status": "DRAFT",
"subject": "What's new in October",
"title": "October newsletter"
}
],
"count": 1,
"has_more": false,
"last_page": 1,
"page": 1,
"total": 1
}List fields
List the subscriber fields, built-in and custom, with the field_name to use in a subscriber's custom fields.
Inputs
- Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
countnumber- How many on this page
fieldslist- The fields
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
totalnumber- How many in all
Example output
{
"count": 1,
"fields": [
{
"created": "2026-09-01 10:00:00",
"default": false,
"field_name": "{$company}",
"id": "o2lk68Y",
"modified": "2026-09-01 10:00:00",
"position": 5,
"show": true,
"title": "Company",
"type": "text"
}
],
"has_more": false,
"last_page": 1,
"page": 1,
"total": 1
}List group subscribers
List the subscribers in one group, a page at a time.
Inputs
- Group
group_idtextRequired - The group.
- Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
countnumber- How many on this page
group_idtext- The group
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
subscriberslist- The subscribers
totalnumber- How many in all
Example output
{
"count": 1,
"group_id": "eZVD4w",
"has_more": false,
"last_page": 1,
"page": 1,
"subscribers": [
{
"columns": [],
"created": "2026-10-01 10:00:00",
"email": "jo@example.com",
"firstname": "Jo",
"id": "dBZ6Zl",
"lastname": "Rivera",
"location": null,
"phone": null,
"status": {
"email": "active",
"temail": "active"
},
"subscriber_tags": [
{
"id": "eZVD4w",
"title": "Newsletter"
}
]
}
],
"total": 1
}List groups
List the account's groups with their subscriber counts.
Inputs
- Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
countnumber- How many on this page
groupslist- The groups
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
totalnumber- How many in all
Example output
{
"count": 1,
"groups": [
{
"active_subscribers": 118,
"bounced_count": 0,
"created": "2026-09-01 10:00:00",
"id": "eZVD4w",
"modified": "2026-10-01 10:00:00",
"recipient_count": 120,
"title": "Newsletter",
"unsubscribed_count": 2
}
],
"has_more": false,
"last_page": 1,
"page": 1,
"total": 1
}List segments
List the account's segments with their subscriber counts.
Inputs
- Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
countnumber- How many on this page
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
segmentslist- The segments
totalnumber- How many in all
Example output
{
"count": 1,
"has_more": false,
"last_page": 1,
"page": 1,
"segments": [
{
"active_subscribers": 78,
"created": "2026-09-01 10:00:00",
"id": "b2vAR1",
"modified": "2026-09-01 10:00:00",
"name": "Opened last 30 days",
"subscribers": 80
}
],
"total": 1
}List subscribers
List the account's subscribers, newest first, a page at a time.
Inputs
- Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
countnumber- How many on this page
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
subscriberslist- The subscribers
totalnumber- How many in all
Example output
{
"count": 1,
"has_more": false,
"last_page": 1,
"page": 1,
"subscribers": [
{
"columns": [],
"created": "2026-10-01 10:00:00",
"email": "jo@example.com",
"firstname": "Jo",
"id": "dBZ6Zl",
"lastname": "Rivera",
"location": null,
"phone": null,
"status": {
"email": "active",
"temail": "active"
},
"subscriber_tags": [
{
"id": "eZVD4w",
"title": "Newsletter"
}
]
}
],
"total": 1
}List workflows
List the account's automation workflows with their status.
Inputs
- Status
statustext - Only workflows with this status. Leave empty for all.One of:
DRAFT,ACTIVE,PAUSED. - Name starts with
titletext - Only workflows whose name starts with this.
- Page
pagenumber - Which page of results to return, starting at 1.At least 1. Default:
1. - Results per page
limitnumber - How many to return per page, 1-100. Defaults to 50.From 1 to 100. Default:
50.
Outputs
countnumber- How many on this page
has_moretrue/false- Whether more pages follow
last_pagenumber- The number of the last page
pagenumber- This page's number
totalnumber- How many in all
workflowslist- The workflows
Example output
{
"count": 1,
"has_more": false,
"last_page": 1,
"page": 1,
"total": 1,
"workflows": [
{
"created": "2026-08-01 10:00:00",
"emails_sent": 340,
"id": "wRk82p",
"modified": "2026-09-01 10:00:00",
"status": "ACTIVE",
"title": "Welcome series",
"type": "custom"
}
]
}Remove subscribers from group
Take subscribers out of a group by email. They stay subscribers.
Inputs
- Group
group_idtextRequired - The group.
- Subscriber emails
emailslistRequired - The subscribers' email addresses. Type several separated by commas, or pass a list from an earlier step.
- Start automations
trigger_automationtrue/false - Let workflows that start on this change run. Turn off to make the change quietly.Default:
true.
Outputs
emailslist- The email addresses
group_idtext- The group
removedtrue/false- Always true once removed
Example output
{
"emails": [
"jo@example.com"
],
"group_id": "eZVD4w",
"removed": true
}Rename group
Give a group a new name.
Inputs
- Group
group_idtextRequired - The group.
- New name
titletextRequired - The group's new name.
Outputs
group_idtext- The group
renamedtrue/false- Always true once renamed
titletext- Its new name
Example output
{
"group_id": "eZVD4w",
"renamed": true,
"title": "Monthly newsletter"
}Start workflow
Start someone on an active automation workflow by email. Sender refuses a draft or paused workflow.
Inputs
- Workflow
sender_workflow_idtextRequired - The workflow to start them on. It must be active.
- Email
emailtextRequired - The subscriber's email address.
Outputs
emailtext- Who was started on it
messagetext- Sender's message
startedtrue/false- Always true once started
workflow_idtext- The workflow
Example output
{
"email": "jo@example.com",
"message": "jo@example.com added to workflow.",
"started": true,
"workflow_id": "wRk82p"
}Update subscriber
Change a subscriber's name, phone, groups, custom fields or email statuses. Only the fields given change; the result is the subscriber as Sender has them afterwards.
Inputs
- Subscriber
subscribertextRequired - The subscriber's email address, phone number with country code, or Sender subscriber id.
- First name
first_nametext - The subscriber's first name.
- Last name
last_nametext - The subscriber's last name.
- Phone
phonetext - Their phone number with the country code, like +37060000000 or 0037060000000.
- Groups
groupslist - Groups to assign the subscriber to. To add or remove one group without touching the others, use Add subscribers to group or Remove subscribers from group instead.
- Custom fields
fieldsobject - Values for custom fields, keyed by the field name 'List fields' shows in field_name (company or {$company} both work).
- Email status
subscriber_statustext - Set whether the subscriber receives campaigns.One of:
ACTIVE,UNSUBSCRIBED,BOUNCED,SPAM_REPORTED(Reported spam). - Transactional email status
transactional_email_statustext - Set whether the subscriber receives transactional email.One of:
ACTIVE,UNSUBSCRIBED,BOUNCED,SPAM_REPORTED(Reported spam). - Start automations
trigger_automationtrue/false - Let workflows that start on this change run. Turn off to make the change quietly.Default:
true.
Outputs
subscriberobject- The subscriber now
updated_fieldslist- The fields sent to Sender
Example output
{
"subscriber": {
"columns": [],
"created": "2026-10-01 10:00:00",
"email": "jo@example.com",
"firstname": "Jo",
"id": "dBZ6Zl",
"lastname": "Rivera",
"location": null,
"phone": null,
"status": {
"email": "active",
"temail": "active"
},
"subscriber_tags": [
{
"id": "eZVD4w",
"title": "Newsletter"
}
]
},
"updated_fields": [
"lastname"
]
}