# Dripcel

Dripcel is a platform for automated SMS and Email marketing, campaign compliance, and data-driven lead generation.

- **Category:** marketing automation
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 18
- **Triggers:** 0
- **Slug:** `DRIPCEL`
- **Version:** 20260217_00

## Tools

### Create Contacts in Bulk

**Slug:** `DRIPCEL_CREATE_CONTACTS`

Tool to upload a list of new contacts to Dripcel in bulk. Only creates new contacts (does not update existing ones). Use when you need to add multiple contacts to your Dripcel account at once. Maximum 100,000 contacts per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `send` | object | No | Optional send object to trigger a message send upon contact upload. |
| `country` | string ("ZA" | "NA") | No | Country code for parsing cell numbers. Use 'ZA' for South Africa or 'NA' for Namibia. |
| `tag_ids` | array | No | Array of tag IDs to apply to all uploaded contacts. Use GET /tags to retrieve valid tag IDs. |
| `contacts` | array | Yes | Array of contact objects to upload. Maximum 100,000 contacts per request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Contact

**Slug:** `DRIPCEL_DELETE_CONTACT`

Tool to delete a contact by their cell number. Use when you need to remove a contact from Dripcel after confirming the MSISDN.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cell` | string | Yes | The MSISDN (E.164 formatted) of the contact to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Tag

**Slug:** `DRIPCEL_DELETE_TAG`

Tool to delete a tag by its ID. Use when you need to remove a tag from Dripcel. Warning: This will also remove the tag from all contacts and campaigns that have it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | string | Yes | The ID of the tag to delete. This will also remove the tag from all contacts and campaigns that have it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get current credit balance

**Slug:** `DRIPCEL_GET_BALANCE`

Retrieves the current credit balance for your Dripcel organization account. This action requires no input parameters and returns the available credit balance as a numeric value. Use this to check your account balance before performing credit-consuming operations like sending SMS messages. The balance is returned in your account's default currency (not explicitly specified in the response).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Dripcel Campaigns

**Slug:** `DRIPCEL_GET_CAMPAIGNS`

Retrieves a list of campaigns from Dripcel. Supports optional pagination (page, pageSize) and filtering by campaign status. Returns campaign details including ID, name, status, and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination, must be >=1 |
| `status` | string | No | Filter campaigns by status (e.g., 'active', 'paused', 'completed') |
| `pageSize` | integer | No | Number of items per page, must be >=1 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get contact by cell number

**Slug:** `DRIPCEL_GET_CONTACT`

Tool to retrieve a single contact by their cell number (MSISDN). Use when you need to view details of a specific contact including their name, email, tags, and other metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cell` | string | Yes | The MSISDN (phone number) of the contact to retrieve. Can be in E.164 format (+15555551234) or without the plus sign (15555551234). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Deliveries

**Slug:** `DRIPCEL_GET_DELIVERIES`

Tool to retrieve SMS/email delivery records from Dripcel. Returns a list of message deliveries filtered by recipient phone number (cell) or send operation ID (customerId). Useful for tracking message delivery status, checking delivery history for a specific contact, or auditing a particular send operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cell` | string | No | The MSISDN of the contact to query deliveries for |
| `customerId` | string | No | The unique ID of a particular send to query deliveries for (24-character hex string, MongoDB ObjectId format) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get email templates

**Slug:** `DRIPCEL_GET_EMAIL_TEMPLATES`

Retrieves all email templates from your Dripcel account. Returns a list of templates with their IDs, names, subjects, and content. Use this action when you need to: - View all available email templates in your account - Get template IDs for use in email sending operations - Check template content before selecting one for a campaign - List templates to verify template creation or updates Note: According to API documentation, this endpoint returns all templates without documented support for pagination or filtering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (undocumented parameter, support not guaranteed). |
| `sort` | string | No | Field name to sort results by, such as 'created_at' or 'name' (undocumented parameter, support not guaranteed). |
| `limit` | integer | No | Maximum number of templates to return per page (undocumented parameter, support not guaranteed). |
| `order` | string ("asc" | "desc") | No | Sort order: 'asc' for ascending or 'desc' for descending (undocumented parameter, support not guaranteed). |
| `search` | string | No | Search term to filter templates by name or content (undocumented parameter, support not guaranteed). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get sales

**Slug:** `DRIPCEL_GET_SALES`

Tool to retrieve a list of all sales. Use when you need comprehensive sales data for reporting or analytics.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List all tags

**Slug:** `DRIPCEL_LIST_TAGS`

Tool to retrieve all tags in your Dripcel organization. Use when you need to view available tags, get tag IDs for adding to contacts, or verify tag existence before operations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Opt out contact from campaigns

**Slug:** `DRIPCEL_OPT_OUT_CONTACT`

Tool to opt out a contact from multiple campaigns at once. Use when you need to remove a contact from campaign messaging. More robust than single campaign opt-out, allowing batch operations or opting out from all campaigns at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `all` | boolean | No | If true, opt out the contact from all existing and future campaigns. Takes precedence over campaign_ids. |
| `cell` | string | Yes | The MSISDN (E.164 formatted phone number) of the contact to opt out. |
| `campaign_ids` | array | No | List of campaign IDs to opt out from. If not provided and 'all' is false, no campaigns will be opted out. |
| `create_missing_contact` | boolean | No | If true, create the contact if it doesn't exist before opting out. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check SMS Compliance

**Slug:** `DRIPCEL_POST_COMPLIANCE_SEND`

Check if phone numbers are allowed to receive SMS messages based on opt-out status and campaign targeting rules. Returns whether each number can be sent to, helping ensure compliance before sending messages. Costs 0.14 credits per phone number checked.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cells` | array | Yes | List of phone numbers to verify compliance for. For South Africa (ZA), numbers must start with '0' or '27' followed by up to 9 digits. |
| `country` | string | Yes | ISO 3166-1 alpha-2 country code of the phone numbers (e.g., 'ZA' for South Africa). |
| `campaign_id` | string | No | Campaign ID (24-character hex ObjectId) to check phone numbers against campaign-specific targeting criteria. If omitted, only global opt-outs will be checked. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search replies based on filters

**Slug:** `DRIPCEL_POST_REPLIES_SEARCH`

Search for SMS/message replies with flexible filtering by ID, campaign, phone number, reply type, message content, or date range. Returns matching replies with metadata. All filters are optional and can be combined for precise queries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `_id` | string | No | Reply ID(s) to filter. Must be 24-character hex ObjectID(s). Use single ID or list for OR matching. |
| `kind` | string | No | Reply type(s): optIn, optOut, or unknown. |
| `Msisdn` | string | No | Sender phone number(s) in full international format (e.g., +1234567890). |
| `Message` | string | No | Content of the reply message. |
| `Received` | object | No | Date-range filter for when the reply was received. |
| `campaign_id` | string | No | Campaign ID(s) that triggered the reply. Must be 24-character hex ObjectID(s). |
| `UserReference` | string | No | ID(s) of the send(s) being replied to. Must be 24-character hex ObjectID(s). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add tags to a contact

**Slug:** `DRIPCEL_PUT_CONTACT_TAG_ADD`

Add one or more tags to a contact identified by phone number. Use this tool to organize contacts by assigning tags for segmentation and targeting. Tags must exist in the system before being added - use GET /tags to retrieve valid tag IDs. Provide either tag_ids (recommended) or tag names. Set create_missing_contact=true to automatically create the contact if they don't exist in your Dripcel account. Response includes matchedCount (contacts found) and modifiedCount (contacts updated).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cell` | string | Yes | Phone number of the contact in E.164 international format (e.g., +15551234567). Must include country code with + prefix. |
| `tags` | array | No | List of tag names to add to the contact. Tag names are less stable than IDs as they can be renamed. Must provide either tag_ids or tags. |
| `tag_ids` | array | No | List of tag IDs to add to the contact. Use GET /tags to retrieve valid tag IDs. Must provide either tag_ids or tags (tag_ids preferred). |
| `create_missing_contact` | boolean | No | If true, automatically creates the contact if it doesn't exist. If false, operation only succeeds if contact exists (matchedCount will be 0 if contact not found). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search send logs

**Slug:** `DRIPCEL_SEARCH_SEND_LOGS`

Search for SMS send logs with flexible filtering by ID, phone number, campaign, delivery, message content (regex), or date range. Supports MongoDB-style queries with projection and pagination. All filters are optional and can be combined.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `find` | object | No | MongoDB-style query filter for send logs. |
| `options` | object | No | Pagination options for result set. |
| `projection` | object | No | Fields to return in results. Use {field: 1} syntax. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send Bulk Email

**Slug:** `DRIPCEL_SEND_BULK_EMAIL`

Tool to send bulk emails to multiple recipients using a template. Use when you need to send the same email content to many contacts at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `from` | string | Yes | The email address to send from. |
| `template_id` | string | Yes | The _id of the email template to use for the bulk send. |
| `to_start_at` | string | No | Schedule to send for a future time. Default is to send immediately. |
| `destinations` | array | Yes | List of recipient email addresses to send to. |
| `filter_non_contacts` | boolean | No | Filter out email addresses that aren't in your Dripcel contacts. Required if the template contains custom fields to replace. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Send SMS

**Slug:** `DRIPCEL_SEND_SMS`

Tool to send a single SMS to a contact. Use when you need to deliver a targeted message immediately or schedule it for later.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | Recipient's phone number in international E.164 format. |
| `type` | string ("plain" | "unicode") | No | SMS encoding type. Use 'unicode' if message contains non-GSM characters. |
| `sender` | string | Yes | Sender ID or phone number (alphanumeric up to 11 chars or E.164 format). |
| `country` | string ("ZA" | "NA" | "GB" | "AU" | "IE" | "IT" | "US") | Yes | Country code for SMS delivery. |
| `message` | string | Yes | SMS text content, up to 1600 characters. |
| `schedule` | string | No | Optional scheduled send time in 'YYYY-MM-DD HH:MM' (24-hour) format. |
| `campaignId` | string | No | Optional campaign ID to associate the send. |
| `deliveryMethod` | string ("reverse" | "standard" | "transactional") | No | Delivery method to use for the SMS. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert Contacts

**Slug:** `DRIPCEL_UPSERT_CONTACTS`

Tool to upload contacts in bulk, creating new contacts or updating existing ones. Limit: 20,000 contacts per request. Use when you need to import or sync a list of contacts to Dripcel. Invalid contacts will be reported but won't block the operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `send` | object | No | Configuration for triggering a send to contacts after upload. |
| `country` | string ("ZA" | "NA") | No | Country code for parsing cell numbers. Use when contacts don't have country codes in their numbers. |
| `tag_ids` | array | No | List of tag IDs to apply to ALL contacts in this upload. Individual contact tag_ids will be merged with these. |
| `contacts` | array | Yes | Array of contact objects to upload. Limit: 20,000 contacts per request. Each contact requires at minimum a cell number. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
