Drip node reference - all 48 operations, the credential it needs, and a worked example.
Drip REST API (Email marketing / e-commerce CRM). 48 operations: subscribers (upsert, list, fetch, delete, unsubscribe, remove from a campaign, list campaign subscriptions), tags, custom events and event actions, custom field identifiers, email series campaigns (list, fetch, subscribe someone, list subscribers, activate, pause), single-email campaigns / broadcasts (full CRUD plus send a test), workflows (list, fetch, start or remove someone, activate, pause), workflow triggers, conversions (goals), forms, webhooks, Shopper Activity order / cart / product events, and the account and user reads.
Credential: Drip accountId:apiKey - see Credentials.
Drip has no scope system. A private integration authenticates with the personal API Token as the USERNAME half of HTTP Basic auth and an empty password, and that token reaches every endpoint in every account its owner can see - so a refusal is never a missing checkbox. The OAuth2 alternative for public integrations is no narrower: Drip's token response carries the single fixed scope public, the token never expires, and there is no consent screen listing permissions to grant. What a 401 or 403 actually means here is that the token is wrong or revoked, or - the mistake Pipory's accountId:apiKey credential format invites - that the account ID stored beside the token is not the account that owns the data. Use the List accounts operation to see which account IDs a token can reach. Limit the blast radius by issuing the token under a Drip user with a restricted account role.
| Operation | What it does |
|---|
upsertSubscriber | Create / update subscriber |
listSubscribers | List subscribers |
fetchSubscriber | Fetch subscriber |
deleteSubscriber | Delete subscriber |
unsubscribeAll | Unsubscribe from all mailings |
removeFromCampaign | Remove from an email series campaign |
listCampaignSubscriptions | List a subscriber's campaign subscriptions |
| Operation | What it does |
|---|
applyTag | Apply tag to a subscriber |
removeTag | Remove tag from a subscriber |
listTags | List all tags |
| Operation | What it does |
|---|
recordEvent | Record event |
listEventActions | List custom event actions |
listCustomFields | List custom field identifiers |
| Operation | What it does |
|---|
listCampaigns | List email series campaigns |
fetchCampaign | Fetch email series campaign |
subscribeToCampaign | Subscribe someone to a campaign |
listCampaignSubscribers | List a campaign's subscribers |
activateCampaign | Activate campaign |
pauseCampaign | Pause campaign |
| Operation | What it does |
|---|
listBroadcasts | List single-email campaigns |
fetchBroadcast | Fetch single-email campaign |
createBroadcast | Create single-email campaign |
updateBroadcast | Update single-email campaign (draft only) |
deleteBroadcast | Delete single-email campaign |
sendBroadcastTest | Send a test email |
| Operation | What it does |
|---|
listWorkflows | List workflows |
fetchWorkflow | Fetch workflow |
startOnWorkflow | Start someone on a workflow |
removeFromWorkflow | Remove someone from a workflow |
activateWorkflow | Activate workflow |
pauseWorkflow | Pause workflow |
| Operation | What it does |
|---|
listWorkflowTriggers | List a workflow's triggers |
createWorkflowTrigger | Create workflow trigger |
updateWorkflowTrigger | Update workflow trigger |
| Operation | What it does |
|---|
listConversions | List conversions (goals) |
fetchConversion | Fetch conversion (goal) |
listForms | List forms |
fetchForm | Fetch form |
| Operation | What it does |
|---|
listWebhooks | List webhooks |
fetchWebhook | Fetch webhook |
createWebhook | Create webhook |
deleteWebhook | Delete webhook |
| Operation | What it does |
|---|
upsertOrder | Record order activity |
upsertCart | Record cart activity |
upsertProduct | Record product activity |
| Operation | What it does |
|---|
listAccounts | List accounts |
fetchAccount | Fetch account |
fetchUser | Fetch the authenticated user |
Upsert a subscriber and tag them in one call
Drip's default operation, and an upsert rather than a create: it matches on email and updates in place, so a webhook that fires twice does not produce an error the second time. Tags applied here take effect immediately, which is what Drip campaigns trigger on.
Set Operation to upsertSubscriber, then fill in:
| Field | Value | Notes |
|---|
email | {{ myTrigger.email }} | The identity Drip matches on |
tags | trial, from-webhook | Comma-separated; these are what a Drip campaign triggers on |
customFields | {"plan": "{{ myTrigger.plan }}"} | Arbitrary custom fields |
timeZone | Europe/London | Drives send-time optimisation |
Sets {{subscriber.id}} and {{subscriber.status}}.