Skip to content

Marketing Automation

Drip
API integration

Ship Marketing Automation features without building the integration. Full Drip API access via Proxy and 60+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Drip

Use Cases

Why integrate with Drip

Common scenarios for SaaS companies building Drip integrations for their customers.

01

Power quiz and lead-gen flows with instant automation

Let your users push quiz respondents or form leads into Drip with mapped custom fields and tags, then drop them directly into a product recommendation workflow. Ideal for interactive quiz builders, landing page tools, and lead capture platforms serving DTC brands.

02

Sync support context to prevent tone-deaf marketing

Helpdesk and customer support SaaS can tag subscribers with open ticket status and pull them out of promotional campaigns while issues are active. Reinstates them automatically once the ticket is resolved.

03

Trigger lifecycle emails from loyalty and engagement events

Loyalty, reviews, and community platforms can record custom events like 'Unlocked VIP Tier' or 'Left a Review' and update point balances on subscriber records. Merchants use these as entry points for their Drip workflows without any custom glue code.

04

Feed shopper activity from headless checkout and subscription billing

Alternative checkout engines, subscription billing tools, and headless commerce platforms can push cart, order, product, and refund activity into Drip so abandoned cart recovery and revenue attribution work accurately outside of standard Shopify data.

05

Programmatically route subscribers into campaigns and workflows

Instead of requiring your users to configure Drip triggers manually, enroll subscribers directly into specific campaigns or workflows from inside your product. Removes a configuration step and keeps automation logic in your app.

What You Can Build

Ship these features with Truto + Drip

Concrete product features your team can ship faster by leveraging Truto’s Drip integration instead of building from scratch.

01

Bidirectional subscriber sync with custom field mapping

Upsert subscribers into Drip individually or via batch, mapping your product's data to Drip custom fields using the custom field identifier list to validate schema.

02

Event-driven workflow triggers

Record custom events against subscribers in real time or via batch so merchants can use your product's actions as entry points for their Drip visual workflows.

03

Shopper activity pipeline for carts, orders, and products

Stream cart, order, product, and refund activity into Drip's Shopper Activity API using single or batch endpoints to power abandoned cart flows and revenue dashboards.

04

Direct campaign and workflow enrollment

Add or remove subscribers from specific campaigns and workflows from your UI, including bulk unsubscribe and remove-from-campaigns operations for compliance scenarios.

05

Tag-based audience orchestration

Apply and remove tags on subscribers to pause promotional sends, mark segment membership, or signal state changes from your app to the merchant's Drip account.

06

Broadcast and campaign management surface

Expose Drip broadcasts and campaigns inside your product with create, update, send test, activate, and pause operations so marketers can manage sends without leaving your UI.

SuperAI

Drip AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_drip_campaign_subscriptions

List all of a subscriber's Email Series Campaign subscriptions in Drip. Returns: id, campaign_id, status, is_complete, lap, last_sent_email_index, last_sent_email_at, links. Required: subscriber_id_or_email.

list_all_drip_accounts

List all Drip accounts the authenticated user has access to. Returns the collection of account records, each including its id.

get_single_drip_account_by_id

Get a specific Drip account by id. Returns the account object including its id. Required: id.

list_all_drip_broadcasts

List all Single-Email Campaigns (broadcasts) in a Drip account. Returns each broadcast's id, name, subject, and status, ordered by created_at ascending by default. Optional filters: status (draft, active, or paused; defaults to all), sort (created_at or name), and direction (asc or desc).

create_a_drip_broadcast

Create a Single-Email Campaign (broadcast) in Drip. Returns the created broadcast record including its id, name, subject, status, send_at, and created_at. Required: name, subject, content (with an html key at minimum). New broadcasts start in draft status; scheduling and sending are managed through the Drip UI.

get_single_drip_broadcast_by_id

Fetch a single Single-Email Campaign (broadcast) in a Drip account by id. Returns: id, status, name, from_name, from_email, postal_address, localize_sending_time, send_at, bcc, created_at, href, preview_url, subject, html_body, text_body, links. Required: id.

update_a_drip_broadcast_by_id

Update a draft Single-Email Campaign (broadcast) in Drip. Updates are partial: only the fields you include are changed. Returns the updated broadcast object including id, status, name, subject, and created_at. Only broadcasts in the draft status can be updated via the API; scheduling and recipient segmentation are managed in the Drip UI. Required: id.

delete_a_drip_broadcast_by_id

Delete a Single-Email Campaign (broadcast) in Drip. This is a soft delete: the broadcast transitions to the deleted status and is hidden from default listings while historical data is preserved. Returns the deleted broadcast object including id, status, name, subject, and created_at. Broadcasts currently in the sending status cannot be deleted. Required: id.

drip_broadcasts_send_test

Send a test email for a Single-Email Campaign (broadcast) in Drip to preview how it appears to recipients. Returns an empty 204 response on success; test emails carry a [TEST] prefix in the from name. Required: broadcast_id, to_emails.

list_all_drip_campaigns

List all Email Series Campaigns in a Drip account. Returns campaign records including id, name, status, and created_at, filterable by status and sortable by name or created_at.

get_single_drip_campaign_by_id

Fetch a single Email Series Campaign in Drip by id. Returns the campaign record including id, name, status, and created_at. Required: and id.

drip_campaigns_activate

Activate an Email Series Campaign in Drip so it starts sending to subscribers. Returns an empty 204 response on success. Required: and campaign_id.

drip_campaigns_pause

Pause an Email Series Campaign in Drip to stop it from sending to subscribers. Returns an empty 204 response on success. Required: and campaign_id.

list_all_drip_custom_field_identifiers

List all custom field identifiers used in a Drip account. Returns an array of identifier strings such as first_name and last_name.

list_all_drip_goals

List all conversion goals in a Drip account. Returns an array of goal objects with id, status, name, url, default_value, counting_method, and created_at.

get_single_drip_goal_by_id

Fetch a single conversion (goal) by id in Drip. Returns the goal object with its id, name, status, url, default_value, counting_method, and created_at. Required: id.

drip_events_record

Record an event in Drip for a subscriber, such as 'Logged in', optionally with custom properties and a back-dated timestamp. Returns an empty 204 response on success. Required: and events. Use the Batch API instead for collections of events.

list_all_drip_event_actions

List all custom event actions used in a Drip account. Returns the account's event action names as plain strings (e.g. "Ate a sandwich", "Started a trial").

list_all_drip_forms

List all forms in a Drip account. Returns form objects including id, headline, description, orientation, is_widget_enabled, and created_at.

get_single_drip_form_by_id

Fetch a specific form in Drip by id. Returns the form object including id, headline, description, button_text, orientation, and created_at. Required: id and account_id.

drip_metrics_fetch_email

Fetch email performance metrics for a Drip account. Returns: summary, emails, fields[email], fields[first_name], form_id, page_title, submit, time_zone, url, visitor_uuid. Date range capped at 366 days; not paginated.

drip_orders_create_or_update

Create or update a legacy Drip order for a subscriber. Returns an empty JSON response on success (202 Accepted). Requires account_id. To update an existing order, include provider and upstream_id in the payload; a matching subscriber record must already exist, and creating an order increments the subscriber's lifetime_value by the order total.

drip_refunds_create_or_update

Create or update a refund for a Drip order via the legacy orders API. Returns an empty JSON response on success (202 Accepted). Requires provider, order_upstream_id, and amount; include upstream_id to update an existing refund. Creating a refund automatically decrements the subscriber's lifetime_value by the refund amount.

drip_subscribers_create_or_update

Create or update a Drip subscriber, matched by email, id, or visitor_uuid. Returns the subscriber record including id, email, status, custom_fields, and tags. Required: subscribers.

list_all_drip_subscribers

List all subscribers in a Drip account, filterable by status, tags, and subscribed dates. Returns subscriber records including id, email, status, custom_fields, and tags.

get_single_drip_subscriber_by_id

Fetch a single Drip subscriber by id (the upstream API also accepts an email address or visitor UUID in its place). Returns the subscriber record including id, email, status, custom_fields, and tags. Required: id.

drip_subscribers_remove_from_campaigns

Remove a Drip subscriber from one or all Email Series Campaigns. Returns the updated subscriber record including id, email, status, custom_fields, and tags. Required: subscriber_id.

drip_subscribers_unsubscribe_all

Unsubscribe a Drip subscriber from all mailings. Returns the updated subscriber record including id, email, status, custom_fields, and tags. Required: subscriber_id.

delete_a_drip_subscriber_by_id

Delete a subscriber in Drip by their id (the subscriber's ID or email). Returns an empty 204 response on success. Required: id.

list_all_drip_tags

List all tags used in a Drip account. Returns an array of tag name strings (e.g. Customer, SEO).

drip_tags_apply

Apply a tag to a subscriber in Drip. Responds with a 201 Created and an empty JSON body on success. Required: and tags.

drip_tags_remove

Remove a tag from a subscriber in Drip, identified by subscriber id or email. Returns an empty 204 response on success. Required: subscriber_id and tag.

list_all_drip_users

Fetch the authenticated Drip user associated with the API credentials. Returns: email, name, time_zone. Takes no parameters.

list_all_drip_workflows

List all workflows in a Drip account, optionally filtered by status. Returns each workflow's id, href, name, status, description, created_at, and node_count.

get_single_drip_workflow_by_id

Fetch a single Drip workflow by id. Returns: id, href, name, description, status, created_at, updated_at, node_count, details, links. Required: id and account_id.

drip_workflows_get_details

Fetch a Drip workflow's full node structure — its entry triggers, ordered steps, and everything nested beneath decisions, goals, forks, and split tests — read-only. Returns: id, href, name, description, status, created_at, updated_at, node_count, details, links. Required: workflow_id and account_id.

drip_workflows_activate

Activate a Drip workflow so it starts sending to new subscribers. Returns an empty 204 response on success. Required: workflow_id and account_id.

drip_workflows_pause

Pause an active Drip workflow so it stops sending to new subscribers. Returns an empty 204 response on success. Required: workflow_id and account_id.

create_a_drip_workflow_trigger

Create a workflow trigger on a Drip workflow, such as a Leadpages landing-page submission trigger. Returns: id, trigger_type, provider, actions_required. Required: workflow_id.

list_all_drip_workflow_triggers

List all workflow triggers on a Drip workflow. Returns trigger objects with id, type, trigger_type, provider, properties, and actions_required. Required: workflow_id.

update_a_drip_workflow_trigger_by_id

Update a workflow trigger on a Drip workflow, e.g. change its provider, trigger_type, or properties. Returns: id, trigger_type, provider, actions_required. Required: workflow_id, id.

list_all_drip_webhooks

List all webhooks in a Drip account. Returns webhook records including id, post_url, events, include_received_email, version, and created_at.

get_single_drip_webhook_by_id

Fetch a single Drip webhook by id. Returns the webhook record including id, post_url, events, include_received_email, version, and created_at. Required: id.

create_a_drip_webhook

Create a new webhook in a Drip account. Returns the created webhook including id, post_url, events, include_received_email, version, and created_at. Required: post_url; events defaults to all events except subscriber.received_email.

delete_a_drip_webhook_by_id

Destroy a Drip webhook by id. Returns an empty 204 response on success. Required: id.

drip_subscriber_batches_batch_upsert

Create or update a batch of 1–1,000 Drip subscribers in a single request, with tags, time zones, and custom fields. Processes asynchronously in the background, so data may not appear immediately. Returns an empty 201 response on success. Required: and a batches payload containing a subscribers array (1–1,000 objects, each with email).

drip_subscriber_batches_batch_unsubscribe

Globally unsubscribe a batch of 1–1,000 Drip subscribers by email in a single request, processed in the background. Returns an empty 204 response on success. Required: and a batches payload containing a subscribers array (1–1,000 objects, each with email).

drip_event_batches_batch_record

Record a batch of up to 1,000 events in Drip. Queues them for background processing and returns an array of unique request id strings for checking the request status later; data may take a moment to appear in the UI. Required: and batches (an events array of 1-1000 event objects, each with email and action).

drip_order_batches_batch_upsert

Create or update a batch of orders in Drip via the legacy v2 batch endpoint. Returns the queued batch's request_ids (UUID strings) for later status checks. Required: orders (an array of 1-1000 objects containing order data). Batch requests are processed in the background, so data may take a moment to appear.

drip_order_batches_batch_upsert_shopper_activity

Create or update a batch of orders in Drip via the v3 Shopper Activity API. Returns the queued batch's request_ids (UUID strings) for later status checks. Required: orders (an array of 1-1000 objects containing order activity, with an action such as placed or updated). Batch requests are processed in the background, so data may take a moment to appear.

drip_cart_batches_batch_upsert

Create or update a batch of up to 1,000 carts in Drip. Processed asynchronously in the background, so data may not appear immediately. Returns: an array of request_id strings for later status checks. Required: carts (1–1000 cart objects with provider, action, cart_id, cart_url, and email or person_id; each item needs product_id, product_variant_id, name, and price).

drip_product_batches_batch_upsert

Create or update a batch of up to 1,000 products in Drip via the Shopper Activity API. Returns request_ids that can be used to check the status of each request later. Required: products (an Array with between 1 and 1000 objects containing product activity). The batch is processed in the background, so there may be a delay before the data appears in the account.

drip_cart_activity_create_or_update

Create or update a shopper's cart in Drip by recording a cart activity event with a `created` or `updated` action. Returns the id of the queued request (`request_id`). Required: provider, action, cart_id, cart_url, plus either email or person_id to identify the shopper.

drip_order_activity_create_or_update

Create or update a single order in Drip's shopper activity: submits one order action (e.g. placed or updated) with the buyer's email or person_id, item lines, totals, and billing/shipping addresses, which Drip queues for processing. Returns the queued request's request_id. Required: provider, email.

drip_product_activity_create_or_update

Create or update a product in Drip by recording a product activity event; Drip queues the request for processing and returns its request_id. Requires provider, action (created, updated, or deleted), product_id, product_variant_id, name, and price.

create_a_drip_campaign_subscriber

Subscribe one or more people to an Email Series Campaign in Drip. Returns the subscribed subscriber record with email, status, custom_fields, tags, and created_at. Required: campaign_id, and a subscribers array of 1–1000 objects (each with email).

list_all_drip_campaign_subscribers

List all subscribers subscribed to an Email Series Campaign in Drip. Returns subscriber records with email, status, custom_fields, tags, and created_at. Required: campaign_id.

create_a_drip_workflow_subscriber

Start one or more subscribers on a Drip workflow. Returns the created subscriber records including id, status, email, custom_fields, and time_zone. Required: workflow_id and subscribers.email. The subscriber is only added if the workflow is active.

delete_a_drip_workflow_subscriber_by_id

Remove a subscriber from a Drip workflow by id or email. Returns an empty 204 response on success. Required: workflow_id and id. If the subscriber is not already on the workflow, nothing happens.

list_all_drip_workflow_subscribers

List all subscribers on a Drip workflow. Returns subscriber records including id, status, email, custom_fields, and created_at. Required: workflow_id.

Why Truto

Why use Truto’s MCP server for Drip

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Drip in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Drip account

Use Truto’s frontend SDK to connect your customer’s Drip account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Drip

Truto’s Proxy API is a 1-to-1 mapping of the Drip API. You call us, we call Drip, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Drip’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Drip on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for connecting end-user Drip accounts?

Truto handles the full auth handshake for your end users and manages token storage and account identification. Your users connect their Drip account through a flow you embed, and Truto exposes the authorized connection to call any of the available Drip tools.

Can we handle high-volume subscriber and event syncs?

Yes. Drip exposes dedicated batch endpoints for subscribers, events, orders, carts, and products. The batch tools (e.g. subscriber batch upsert, event batch record, order batch upsert) are processed asynchronously by Drip and are the recommended path for bulk operations.

How do we map our product's data to Drip custom fields?

Use the list custom field identifiers tool to discover what custom fields exist on a given Drip account, then pass matching keys in the custom_fields object when upserting subscribers. New custom fields are created implicitly when you upsert a subscriber with a previously unseen key.

Can we react to changes happening inside Drip in real time?

Yes. You can create and manage Drip webhooks programmatically to subscribe to subscriber, campaign, and event changes. Truto can route these inbound events into your product so you don't need to poll.

Can we enroll subscribers directly into a workflow or campaign?

Yes. Use the create workflow subscriber or create campaign subscriber tools to programmatically add a subscriber to a specific automation, bypassing the need for your users to configure triggers in Drip's UI.

Does the integration support e-commerce revenue tracking?

Yes. The cart, order, and product activity tools (both single and batch variants) push data into Drip's Shopper Activity model, which powers abandoned cart recovery, post-purchase flows, and revenue attribution reporting.

Drip

Get Drip integrated into your app

Our team understands what it takes to make a Drip integration successful. A short, crisp 30 minute call with folks who understand the problem.