Drip

App · 20 actions

Manage your Drip email marketing audience: create, update, tag and unsubscribe subscribers, record custom events, start people on workflows, take them off campaigns, and draft broadcasts.

Actions

ActionWhat it does
Apply tagAdd a tag to a subscriber by email.
Create broadcastCreate a draft single-email broadcast to everyone in the account.
Create or update subscriberCreate a subscriber, or update the one with this email or id: name, address, phone, SMS number and consent, time zone, lifetime value, custom fields, tags to add or remove, lead scoring, GDPR consent and status.
Delete broadcastDelete a broadcast.
Delete subscriberPermanently delete a subscriber and their history from the account.
Get subscriberRead one subscriber by email address or Drip id, with their status, custom fields, tags, lead score and lifetime value.
List accountsList every Drip account the API token's user can reach, with each one's id, name, website, default sender and postal address.
List broadcastsList single-email broadcasts by status, with their subject, sender, send time and content.
List Email Series CampaignsList the account's Email Series Campaigns with their status, sender, number of emails and subscriber counts.
List event namesList the custom event names recorded in the account so far.
List subscribersList subscribers, filtered by status, tags or when they subscribed.
List tagsList every tag used in the account.
List workflowsList the account's workflows with their status.
Record eventRecord a custom event, such as 'Logged in' or 'Upgraded plan', against a subscriber, with optional properties and time.
Remove subscriber from campaignsTake someone off one Email Series Campaign, or off all of them.
Remove subscriber from workflowTake someone off a workflow.
Remove tagTake a tag off a subscriber by email.
Start subscriber on workflowStart someone on a workflow, creating or updating them as a subscriber with the details given.
Unsubscribe from all mailingsUnsubscribe someone from every mailing in the account: broadcasts, campaigns and workflow emails.
Update broadcastChange a draft broadcast's name, subject, content, preheader or postal address.

Apply tag

Add a tag to a subscriber by email. A new tag name creates the tag. Automations triggered by the tag run as usual.

Inputs

EmailemailtextRequired
The subscriber's email address.
TagtagtextRequired
The tag. Type a new one to create it.

Outputs

appliedtrue/false
Always true once applied
emailtext
The subscriber's email
tagtext
The tag
Example output
{
  "applied": true,
  "email": "jo@example.com",
  "tag": "Customer"
}

Create broadcast

Create a draft single-email broadcast to everyone in the account. It is not scheduled or sent; review and send it from Drip.

Inputs

NamenametextRequired
The broadcast's internal name (up to 255 characters).
SubjectsubjecttextRequired
The email's subject line. Drip Liquid tags such as {{ subscriber.first_name }} work.
HTML bodyhtml_bodytextRequired
The email's HTML: a full document or just the body content, which is wrapped for you. No JavaScript.
Plain-text bodytext_bodytext
The plain-text version. Leave empty and Drip generates it from the HTML.
Preheaderpreheadertext
The preview text inboxes show after the subject.
Postal addresspostal_addresstext
The postal address shown in the footer. Defaults to the account's.
Add the required footeradd_compliance_footertrue/false
Drip refuses an email without an unsubscribe link and your postal address. When on, whichever is missing is added at the bottom. Turn off only if your HTML already has {{ unsubscribe_url }} and {{ inline_postal_address }}.Default: true.

Outputs

broadcastobject
The broadcast
Example output
{
  "broadcast": {
    "created_at": "2026-10-10T10:00:00Z",
    "from_email": "hello@example.com",
    "from_name": "Acme",
    "href": "https://api.getdrip.com/v2/9999999/broadcasts/777888999",
    "id": "777888999",
    "name": "October newsletter",
    "preview_url": "https://www.getdrip.com/preview/777888999",
    "send_at": null,
    "status": "draft",
    "subject": "What's new in October"
  }
}

Create or update subscriber

Create a subscriber, or update the one with this email or id: name, address, phone, SMS number and consent, time zone, lifetime value, custom fields, tags to add or remove, lead scoring, GDPR consent and status. Fields left empty are not changed. Sends no email.

Inputs

Emailemailtext
The subscriber's email address. Give this or the subscriber id.
Subscriber IDsubscriber_idtext
The subscriber's Drip id, from 'List subscribers' or an earlier step. Give this or the email.
New emailnew_emailtext
Change the subscriber's email address to this one.
First namefirst_nametext
The subscriber's first name.
Last namelast_nametext
The subscriber's last name.
Address line 1address1text
The first line of their address.
Address line 2address2text
The second line of their address.
Citycitytext
Their city.
State or regionstatetext
Their state, county or region.
ZIP or postal codezip_codetext
Their ZIP or postal code.
Countrycountrytext
Their country.
Phonephonetext
Their phone number.
SMS numbersms_numbertext
A US mobile number in international format, like +15551234567.
SMS consentsms_consenttrue/false
Whether the person agreed to receive text messages.
Lifetime valuelifetime_valuenumber
What the person has spent in total, in the account's currency (for example 49.99).At least 0.
IP addressip_addresstext
The person's IP address, if known.
Your user IDexternal_user_idtext
Your own system's id for this person (Drip's user_id).
Time zonetime_zonetext
The subscriber's time zone name. Drip's default is Etc/UTC.
Custom fieldscustom_fieldsobject
Custom field values by field identifier, for example shirt_size: M. A new identifier creates the field.
Add tagstagslist
Tags to add to the subscriber. Type a new one to create it.
Prospectprospecttrue/false
Whether Drip should treat the person as a prospect and score them as a lead. Drip's default is yes.
GDPR consenteu_consenttext
Whether the person granted or denied consent to be emailed under GDPR.One of: granted, denied.
GDPR consent wordingeu_consent_messagetext
The consent text the person agreed to, kept with their consent record.
Remove tagsremove_tagslist
Tags to take off the subscriber.
Starting lead scorebase_lead_scorenumber
The lead score to start from. Drip's default is 30.At least 0.
Statusstatustext
Set the subscriber's status, for existing or new subscribers.One of: active, unsubscribed.
Status if newinitial_statustext
The status to give the subscriber only if they are new. Defaults to active.One of: active, unsubscribed.

Outputs

subscriberobject
The subscriber as Drip has them now
Example output
{
  "subscriber": {
    "base_lead_score": 30,
    "created_at": "2026-10-01T10:00:00Z",
    "custom_fields": {
      "shirt_size": "M"
    },
    "deliverable": true,
    "email": "jo@example.com",
    "first_name": "Jo",
    "href": "https://api.getdrip.com/v2/9999999/subscribers/z1togz2hcjrkpp5treip",
    "id": "z1togz2hcjrkpp5treip",
    "last_name": "Rivera",
    "lead_score": 30,
    "lifetime_value": 4999,
    "prospect": true,
    "status": "active",
    "tags": [
      "Customer"
    ],
    "time_zone": "America/New_York",
    "user_id": "user-123",
    "utc_offset": -240
  }
}

Delete broadcast

Delete a broadcast. Drip keeps it with the status 'deleted'. One that is sending cannot be deleted.

Inputs

Broadcast IDbroadcast_idtextRequired
The broadcast's id, from 'List broadcasts' or 'Create broadcast'. A Drip broadcast link works too.

Outputs

broadcastobject
The broadcast, now deleted
broadcast_idtext
The broadcast deleted
deletedtrue/false
Always true once deleted
Example output
{
  "broadcast": {
    "created_at": "2026-10-10T10:00:00Z",
    "from_email": "hello@example.com",
    "from_name": "Acme",
    "href": "https://api.getdrip.com/v2/9999999/broadcasts/777888999",
    "id": "777888999",
    "name": "October newsletter",
    "preview_url": "https://www.getdrip.com/preview/777888999",
    "send_at": null,
    "status": "deleted",
    "subject": "What's new in October"
  },
  "broadcast_id": "777888999",
  "deleted": true
}

Delete subscriber

Permanently delete a subscriber and their history from the account. This cannot be undone; to stop emailing someone, unsubscribe them instead.

Inputs

SubscribersubscribertextRequired
The subscriber's email address or Drip subscriber id. A Drip subscriber link works too.

Outputs

deletedtrue/false
Always true once deleted
subscribertext
The email or id deleted
Example output
{
  "deleted": true,
  "subscriber": "jo@example.com"
}

Get subscriber

Read one subscriber by email address or Drip id, with their status, custom fields, tags, lead score and lifetime value.

Inputs

SubscribersubscribertextRequired
The subscriber's email address or Drip subscriber id. A Drip subscriber link works too.

Outputs

subscriberobject
The subscriber as Drip has them now
Example output
{
  "subscriber": {
    "base_lead_score": 30,
    "created_at": "2026-10-01T10:00:00Z",
    "custom_fields": {
      "shirt_size": "M"
    },
    "deliverable": true,
    "email": "jo@example.com",
    "first_name": "Jo",
    "href": "https://api.getdrip.com/v2/9999999/subscribers/z1togz2hcjrkpp5treip",
    "id": "z1togz2hcjrkpp5treip",
    "last_name": "Rivera",
    "lead_score": 30,
    "lifetime_value": 4999,
    "prospect": true,
    "status": "active",
    "tags": [
      "Customer"
    ],
    "time_zone": "America/New_York",
    "user_id": "user-123",
    "utc_offset": -240
  }
}

List accounts

List every Drip account the API token's user can reach, with each one's id, name, website, default sender and postal address. The result also names the account this connection works in.

Inputs

None.

Outputs

accountslist
The accounts
connected_account_idtext
The account this connection's steps use
countnumber
How many
Example output
{
  "accounts": [
    {
      "created_at": "2026-01-01T10:00:00Z",
      "default_from_email": "hello@example.com",
      "default_from_name": "Acme",
      "href": "https://api.getdrip.com/v2/accounts/9999999",
      "id": "9999999",
      "name": "Acme",
      "primary_email": "owner@example.com",
      "url": "www.example.com"
    }
  ],
  "connected_account_id": "9999999",
  "count": 1
}

List broadcasts

List single-email broadcasts by status, with their subject, sender, send time and content. Deleted ones are left out unless chosen.

Inputs

Statusstatustext
Only broadcasts with this status. Leave empty for all but deleted ones.One of: draft, scheduled, sending, sent, canceled, deleted, all (All (including deleted)).
Sort bysorttext
What to sort by.One of: created_at (Created), updated_at (Updated), send_at (Send time), name.
Sort directiondirectiontext
Ascending or descending.One of: asc (Ascending), desc (Descending).
Pagepagenumber
Which page of results to return, starting at 1.At least 1. Default: 1.
Results per pageper_pagenumber
How many to return per page, 1-100. Defaults to 100.From 1 to 100. Default: 100.

Outputs

broadcastslist
The broadcasts
countnumber
How many are on this page
pagenumber
The page returned
total_countnumber
How many there are in all
total_pagesnumber
How many pages there are
Example output
{
  "broadcasts": [
    {
      "created_at": "2026-10-10T10:00:00Z",
      "from_email": "hello@example.com",
      "from_name": "Acme",
      "href": "https://api.getdrip.com/v2/9999999/broadcasts/777888999",
      "id": "777888999",
      "name": "October newsletter",
      "preview_url": "https://www.getdrip.com/preview/777888999",
      "send_at": null,
      "status": "draft",
      "subject": "What's new in October"
    }
  ],
  "count": 1,
  "page": 1,
  "total_count": 1,
  "total_pages": 1
}

List Email Series Campaigns

List the account's Email Series Campaigns with their status, sender, number of emails and subscriber counts.

Inputs

Statusstatustext
Only those with this status. Leave empty for all of them.One of: draft, active, paused.
Sort bysorttext
What to sort by. Defaults to when they were created.One of: created_at (Created), name.
Sort directiondirectiontext
Ascending or descending.One of: asc (Ascending), desc (Descending).
Pagepagenumber
Which page of results to return, starting at 1.At least 1. Default: 1.

Outputs

campaignslist
The campaigns
countnumber
How many are on this page
pagenumber
The page returned
total_countnumber
How many there are in all
total_pagesnumber
How many pages there are
Example output
{
  "campaigns": [
    {
      "active_subscriber_count": 120,
      "created_at": "2026-08-01T10:00:00Z",
      "email_count": 5,
      "from_email": "hello@example.com",
      "from_name": "Acme",
      "href": "https://api.getdrip.com/v2/9999999/campaigns/123456",
      "id": "123456",
      "name": "Onboarding course",
      "status": "active",
      "unsubscribed_subscriber_count": 4
    }
  ],
  "count": 1,
  "page": 1,
  "total_count": 1,
  "total_pages": 1
}

List event names

List the custom event names recorded in the account so far.

Inputs

Pagepagenumber
Which page of results to return, starting at 1.At least 1. Default: 1.
Results per pageper_pagenumber
How many to return per page, 1-1000. Defaults to 100.From 1 to 1000. Default: 100.

Outputs

countnumber
How many are on this page
event_actionslist
The event names
pagenumber
The page returned
total_countnumber
How many there are in all
total_pagesnumber
How many pages there are
Example output
{
  "count": 2,
  "event_actions": [
    "Logged in",
    "Upgraded plan"
  ],
  "page": 1,
  "total_count": 1,
  "total_pages": 1
}

List subscribers

List subscribers, filtered by status, tags or when they subscribed. Drip returns active subscribers unless another status is chosen.

Inputs

Statusstatustext
Which subscribers to include. Defaults to active.One of: active (Active (default)), unsubscribed, active_or_unsubscribed (Active or unsubscribed), undeliverable, all.
Tagstagslist
Only subscribers with any of these tags.
Subscribed aftersubscribed_afterdate and time
Only subscribers who subscribed after this time.
Subscribed beforesubscribed_beforedate and time
Only subscribers who subscribed before this time.
Pagepagenumber
Which page of results to return, starting at 1.At least 1. Default: 1.
Results per pageper_pagenumber
How many to return per page, 1-1000. Defaults to 100.From 1 to 1000. Default: 100.

Outputs

countnumber
How many are on this page
pagenumber
The page returned
subscriberslist
The subscribers
total_countnumber
How many there are in all
total_pagesnumber
How many pages there are
Example output
{
  "count": 1,
  "page": 1,
  "subscribers": [
    {
      "base_lead_score": 30,
      "created_at": "2026-10-01T10:00:00Z",
      "custom_fields": {
        "shirt_size": "M"
      },
      "deliverable": true,
      "email": "jo@example.com",
      "first_name": "Jo",
      "href": "https://api.getdrip.com/v2/9999999/subscribers/z1togz2hcjrkpp5treip",
      "id": "z1togz2hcjrkpp5treip",
      "last_name": "Rivera",
      "lead_score": 30,
      "lifetime_value": 4999,
      "prospect": true,
      "status": "active",
      "tags": [
        "Customer"
      ],
      "time_zone": "America/New_York",
      "user_id": "user-123",
      "utc_offset": -240
    }
  ],
  "total_count": 1,
  "total_pages": 1
}

List tags

List every tag used in the account.

Inputs

None.

Outputs

countnumber
How many
tagslist
The tag names
Example output
{
  "count": 2,
  "tags": [
    "Customer",
    "SEO"
  ]
}

List workflows

List the account's workflows with their status.

Inputs

Statusstatustext
Only those with this status. Leave empty for all of them.One of: draft, active, paused.
Sort bysorttext
What to sort by. Defaults to when they were created.One of: created_at (Created), name.
Sort directiondirectiontext
Ascending or descending.One of: asc (Ascending), desc (Descending).
Pagepagenumber
Which page of results to return, starting at 1.At least 1. Default: 1.

Outputs

countnumber
How many are on this page
pagenumber
The page returned
total_countnumber
How many there are in all
total_pagesnumber
How many pages there are
workflowslist
The workflows
Example output
{
  "count": 1,
  "page": 1,
  "total_count": 1,
  "total_pages": 1,
  "workflows": [
    {
      "created_at": "2026-09-01T10:00:00Z",
      "href": "https://api.getdrip.com/v2/9999999/workflows/444555666",
      "id": "444555666",
      "name": "Welcome series",
      "status": "active"
    }
  ]
}

Record event

Record a custom event, such as 'Logged in' or 'Upgraded plan', against a subscriber, with optional properties and time. Workflows can start or branch on it.

Inputs

Event nameevent_actiontextRequired
What happened, for example 'Logged in'. Use the same name each time; 'List event names' shows those already used.
Emailemailtext
The subscriber's email address. Give this or the subscriber id.
Subscriber IDsubscriber_idtext
The subscriber's Drip id, from 'List subscribers' or an earlier step. Give this or the email.
Propertiespropertiesobject
Details of the event, for example plan: Pro. For a conversion, give value in cents.
When it happenedoccurred_atdate and time
When the event happened. Defaults to now.
Prospectprospecttrue/false
Whether Drip should treat the person as a prospect and score them as a lead. Drip's default is yes.

Outputs

emailtext
The subscriber's email
event_actiontext
The event name
occurred_attext
The time you gave, else null (Drip returns no body)
recordedtrue/false
Always true once recorded
subscriber_idtext
The subscriber id you gave, else null (Drip returns no body)
Example output
{
  "email": "jo@example.com",
  "event_action": "Logged in",
  "occurred_at": null,
  "recorded": true,
  "subscriber_id": null
}

Remove subscriber from campaigns

Take someone off one Email Series Campaign, or off all of them. They stay subscribed to the account and still receive broadcasts.

Inputs

SubscribersubscribertextRequired
The subscriber's email address or Drip subscriber id. A Drip subscriber link works too.
Email Series Campaigncampaign_idtext
Only remove them from this campaign. Leave empty to remove them from every Email Series Campaign.

Outputs

campaign_idtext
The campaign they left, or empty for all
subscriberobject
The subscriber
Example output
{
  "campaign_id": null,
  "subscriber": {
    "base_lead_score": 30,
    "created_at": "2026-10-01T10:00:00Z",
    "custom_fields": {
      "shirt_size": "M"
    },
    "deliverable": true,
    "email": "jo@example.com",
    "first_name": "Jo",
    "href": "https://api.getdrip.com/v2/9999999/subscribers/z1togz2hcjrkpp5treip",
    "id": "z1togz2hcjrkpp5treip",
    "last_name": "Rivera",
    "lead_score": 30,
    "lifetime_value": 4999,
    "prospect": true,
    "status": "active",
    "tags": [
      "Customer"
    ],
    "time_zone": "America/New_York",
    "user_id": "user-123",
    "utc_offset": -240
  }
}

Remove subscriber from workflow

Take someone off a workflow. Nothing happens if they were not on it.

Inputs

Workflowdrip_workflow_idtextRequired
The workflow. A Drip workflow link works too.
SubscribersubscribertextRequired
The subscriber's email address or Drip subscriber id. A Drip subscriber link works too.

Outputs

removedtrue/false
Whether they were removed (false when the workflow is not active, which Drip does not allow)
subscribertext
The email or id removed
warningslist
Anything to know
workflow_idtext
The workflow
Example output
{
  "removed": true,
  "subscriber": "jo@example.com",
  "warnings": [],
  "workflow_id": "444555666"
}

Remove tag

Take a tag off a subscriber by email.

Inputs

EmailemailtextRequired
The subscriber's email address.
TagtagtextRequired
The tag. Type a new one to create it.

Outputs

emailtext
The subscriber's email
removedtrue/false
Always true once removed
tagtext
The tag
Example output
{
  "email": "jo@example.com",
  "removed": true,
  "tag": "Customer"
}

Start subscriber on workflow

Start someone on a workflow, creating or updating them as a subscriber with the details given. Drip only starts people on an active workflow; for a draft or paused one the step says so in 'warnings' and 'added' is false.

Inputs

Workflowdrip_workflow_idtextRequired
The workflow. A Drip workflow link works too.
Emailemailtext
The subscriber's email address. Give this or the subscriber id.
Subscriber IDsubscriber_idtext
The subscriber's Drip id, from 'List subscribers' or an earlier step. Give this or the email.
First namefirst_nametext
The subscriber's first name.
Last namelast_nametext
The subscriber's last name.
Address line 1address1text
The first line of their address.
Address line 2address2text
The second line of their address.
Citycitytext
Their city.
State or regionstatetext
Their state, county or region.
ZIP or postal codezip_codetext
Their ZIP or postal code.
Countrycountrytext
Their country.
Phonephonetext
Their phone number.
Your user IDexternal_user_idtext
Your own system's id for this person (Drip's user_id).
Time zonetime_zonetext
The subscriber's time zone name. Drip's default is Etc/UTC.
Custom fieldscustom_fieldsobject
Custom field values by field identifier, for example shirt_size: M. A new identifier creates the field.
Add tagstagslist
Tags to add to the subscriber. Type a new one to create it.
Prospectprospecttrue/false
Whether Drip should treat the person as a prospect and score them as a lead. Drip's default is yes.
GDPR consenteu_consenttext
Whether the person granted or denied consent to be emailed under GDPR.One of: granted, denied.
GDPR consent wordingeu_consent_messagetext
The consent text the person agreed to, kept with their consent record.

Outputs

addedtrue/false
Whether they were started (the workflow is active)
subscriberobject
The subscriber
warningslist
Anything to know
workflow_idtext
The workflow
workflow_statustext
The workflow's status: draft, active or paused
Example output
{
  "added": true,
  "subscriber": {
    "base_lead_score": 30,
    "created_at": "2026-10-01T10:00:00Z",
    "custom_fields": {
      "shirt_size": "M"
    },
    "deliverable": true,
    "email": "jo@example.com",
    "first_name": "Jo",
    "href": "https://api.getdrip.com/v2/9999999/subscribers/z1togz2hcjrkpp5treip",
    "id": "z1togz2hcjrkpp5treip",
    "last_name": "Rivera",
    "lead_score": 30,
    "lifetime_value": 4999,
    "prospect": true,
    "status": "active",
    "tags": [
      "Customer"
    ],
    "time_zone": "America/New_York",
    "user_id": "user-123",
    "utc_offset": -240
  },
  "warnings": [],
  "workflow_id": "444555666",
  "workflow_status": "active"
}

Unsubscribe from all mailings

Unsubscribe someone from every mailing in the account: broadcasts, campaigns and workflow emails. Their record is kept.

Inputs

SubscribersubscribertextRequired
The subscriber's email address or Drip subscriber id. A Drip subscriber link works too.

Outputs

subscriberobject
The subscriber as Drip has them now
Example output
{
  "subscriber": {
    "base_lead_score": 30,
    "created_at": "2026-10-01T10:00:00Z",
    "custom_fields": {
      "shirt_size": "M"
    },
    "deliverable": true,
    "email": "jo@example.com",
    "first_name": "Jo",
    "href": "https://api.getdrip.com/v2/9999999/subscribers/z1togz2hcjrkpp5treip",
    "id": "z1togz2hcjrkpp5treip",
    "last_name": "Rivera",
    "lead_score": 30,
    "lifetime_value": 4999,
    "prospect": true,
    "status": "unsubscribed",
    "tags": [
      "Customer"
    ],
    "time_zone": "America/New_York",
    "user_id": "user-123",
    "utc_offset": -240
  }
}

Update broadcast

Change a draft broadcast's name, subject, content, preheader or postal address. Only the fields given change. Drip refuses to edit a broadcast that is scheduled or sent.

Inputs

Broadcast IDbroadcast_idtextRequired
The broadcast's id, from 'List broadcasts' or 'Create broadcast'. A Drip broadcast link works too.
Namenametext
A new internal name (up to 255 characters).
Subjectsubjecttext
The email's subject line. Drip Liquid tags such as {{ subscriber.first_name }} work.
HTML bodyhtml_bodytext
The email's HTML: a full document or just the body content, which is wrapped for you. No JavaScript.
Plain-text bodytext_bodytext
The plain-text version. Leave empty and Drip generates it from the HTML.
Preheaderpreheadertext
The preview text inboxes show after the subject.
Postal addresspostal_addresstext
The postal address shown in the footer. Defaults to the account's.
Add the required footeradd_compliance_footertrue/false
Drip refuses an email without an unsubscribe link and your postal address. When on, whichever is missing is added at the bottom. Turn off only if your HTML already has {{ unsubscribe_url }} and {{ inline_postal_address }}.Default: true.

Outputs

broadcastobject
The broadcast
Example output
{
  "broadcast": {
    "created_at": "2026-10-10T10:00:00Z",
    "from_email": "hello@example.com",
    "from_name": "Acme",
    "href": "https://api.getdrip.com/v2/9999999/broadcasts/777888999",
    "id": "777888999",
    "name": "October v2",
    "preview_url": "https://www.getdrip.com/preview/777888999",
    "send_at": null,
    "status": "draft",
    "subject": "What's new in October"
  }
}

On this page