API Data Provider - Online Help

Connecting to Drip

Using Token Authentication

Drip supports personal API Token authentication. You can use your Drip personal API Token to authenticate.

To obtain your API Token:

  1. Log into your Drip account at https://www.getdrip.com/
  2. Navigate to User Settings.
  3. Locate your API Token and copy it.

After obtaining your token, set the following connection properties:

  • ProfileSettings: Set this to APIKey=your_api_token.

Example Connection String

Profile=C:\profiles\Drip.apip;ProfileSettings='APIKey=my_api_token';

Using OAuth Authentication

First, register an OAuth2 application with Drip. Drip will then supply you with a client id and client secret. Please be aware that you must also enter a valid callback URL before you will be able to activate your application.

After setting the following connection properties, you are ready to connect:

  • AuthScheme: Set this to OAuth.
  • OAuthClientId: Set this to the client id that you got in your app settings.
  • OAuthClientSecret: Set this to the client secret that you got in your app settings.
  • CallbackURL: Set this to the Redirect URI you specified in your app settings.
  • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.

Example Connection String

Profile=C:\profiles\Drip.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=my_clientId;OAuthClientSecret=my_clientSecret;CallbackUrl=your_callback_url;

Connecting to Drip

Once the authentication is configured, you can connect to Drip and query, insert, update, and delete data from any of the available tables such as Accounts, Subscribers, Campaigns, and Broadcasts.

Available Tables

The Drip API Profile provides access to the following tables:

  • Accounts: Retrieve a list of accounts associated with the authenticated user
  • Broadcasts: Query, insert, update, and delete email broadcasts for a specified account (requires AccountId)
  • Campaigns: Retrieve a list of email campaigns for a specified account (requires AccountId)
  • Conversions: Retrieve a list of conversion goals for a specified account (requires AccountId)
  • Forms: Retrieve a list of forms for a specified account (requires AccountId)
  • Subscribers: Query, insert, and delete subscribers for a specified account (requires AccountId)
  • User: Retrieve information about the authenticated user
  • Webhooks: Query, insert, and delete webhooks for a specified account (requires AccountId)
  • Workflows: Retrieve a list of automation workflows for a specified account (requires AccountId)
  • WorkflowTriggers: Query, insert, and update triggers for a specified workflow (requires AccountId and WorkflowId)

Important Notes

  • Most tables require AccountId to be specified as a filter. Set it in your SQL WHERE clause.
  • The WorkflowTriggers table requires both AccountId and WorkflowId to be specified as filters.
  • Date fields use ISO 8601 format (yyyy-MM-dd'T'HH:mm:ssZ).
  • Rate limiting applies — refer to Drip API documentation for current limits.
  • The Drip API subscriber POST endpoint behaves as an upsert (it creates or updates a subscriber based on the email address). However, we are supporting only INSERT with a unique email address due to API Driver limitations.
  • Trying to insert a duplicate email address will update the existing subscriber record and will not throw any error. Users should ensure the email address is unique before inserting.

API Documentation

For more information about the Drip API, see the official Drip API documentation.

Usage Examples

Accounts:

SELECT * FROM Accounts

User:

SELECT * FROM User

Subscribers:

SELECT * FROM Subscribers WHERE AccountId = 'your_account_id'
INSERT INTO Subscribers (AccountId, Email, Status, TimeZone, Prospect, Tags)
VALUES ('123456', '[email protected]', 'active', 'America/New_York', true, '["vip","newsletter"]')
DELETE FROM Subscribers WHERE AccountId = '123456' AND Id = 'sub_abc123'

Broadcasts:

SELECT * FROM Broadcasts WHERE AccountId = 'your_account_id'
INSERT INTO Broadcasts (AccountId, Name, Subject, HtmlBody, PostalAddress, TextBody)
VALUES ('123456', 'Summer Newsletter', 'Check Out Our Summer Deals', '

Hello!

Check out our summer deals.

', '123 Main St, Springfield, USA', 'Check out our summer deals.')
UPDATE Broadcasts SET Name = 'Updated Newsletter', Subject = 'Updated Subject', HtmlBody = '

Updated!

New content here.

', TextBody = 'Updated content here.', PostalAddress = '456 Elm St, Springfield, USA' WHERE AccountId = '123456' AND Id = 'br_abc123'
DELETE FROM Broadcasts WHERE AccountId = '123456' AND Id = 'br_abc123'

Campaigns:

SELECT * FROM Campaigns WHERE AccountId = 'your_account_id'

Conversions:

SELECT * FROM Conversions WHERE AccountId = 'your_account_id'

Forms:

SELECT * FROM Forms WHERE AccountId = 'your_account_id'

Webhooks:

SELECT * FROM Webhooks WHERE AccountId = 'your_account_id'
INSERT INTO Webhooks (AccountId, PostUrl, IncludeReceivedEmail, Events)
VALUES ('123456', 'https://example.com/drip-webhook', true, '["subscriber.created","subscriber.subscribed_to_campaign"]')
DELETE FROM Webhooks WHERE AccountId = '123456' AND Id = 'wh_abc123'

Workflows:

SELECT * FROM Workflows WHERE AccountId = 'your_account_id'

WorkflowTriggers:

SELECT * FROM WorkflowTriggers WHERE AccountId = 'your_account_id' AND WorkflowId = 'your_workflow_id'
INSERT INTO WorkflowTriggers (AccountId, WorkflowId, TriggerType, Provider, Properties)
VALUES ('123456', 'wf_abc123', 'submitted_form', 'leadpages', '{"form_id":"form_456"}')
UPDATE WorkflowTriggers SET TriggerType = 'submitted_form', Provider = 'shopify', Properties = '{"product_id":"prod_789"}'
WHERE AccountId = '123456' AND WorkflowId = 'wf_abc123' AND Id = 'trig_abc123'

Connection Properties

The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.


Property Description
APIKey Your API Key.
AuthScheme The scheme used for authentication. Accepted entries are None, OAuth, APIKey.
Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD
CallbackURL Identifies the URL users return to after authenticating to API via OAuth (Custom OAuth applications only).
InitiateOAuth Specifies the process for obtaining or refreshing the OAuth access token, which maintains user access while an authenticated, authorized user is working.
Allowed values are: OFF, REFRESH, GETANDREFRESH
OAuthAccessToken Specifies the OAuth access token used to authenticate requests to the data source. This token is issued by the authorization server after a successful OAuth exchange.
OAuthClientId Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
OAuthClientSecret Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
OAuthExpiresIn Specifies the duration in seconds, of an OAuth Access Token's lifetime. The token can be reissued to keep access alive as long as the user keeps working.
OAuthRefreshToken Specifies the OAuth refresh token used to request a new access token after the original has expired.
OAuthSettingsLocation Specifies the location of the settings file where OAuth values are saved.
OAuthTokenTimestamp Displays a Unix epoch timestamp in milliseconds that shows how long ago the current access token was created.
OAuthVerifier Specifies a verifier code returned from the OAuthAuthorizationURL . Used when authenticating to OAuth on a headless server, where a browser can't be launched. Requires both OAuthSettingsLocation and OAuthVerifier to be set.
Scope Scope(s) to use when authenticating, that control access to specific information.

Copyright (c) 2026 CData Software, Inc. - All rights reserved.
Build 26.0.9770.0