---
canonical_url: "https://docs.composio.dev/toolkits/zoho_campaigns"
markdown_url: "https://docs.composio.dev/toolkits/zoho_campaigns.md"
product: "platform"
version: null
last_updated: null
---

# Zoho Campaigns

Manage Zoho Campaigns mailing lists, contacts, campaigns, reports, topics, tags, custom fields, and segments through the management API.

- **Category:** marketing automation
- **Auth:** OAUTH2
- **Composio-managed OAuth available?** No
- **Tools:** 39
- **Triggers:** 0
- **Slug:** `ZOHO_CAMPAIGNS`
- **Version:** 00000000_00

## Tools

### Add Contacts to Mailing List

**Slug:** `ZOHO_CAMPAIGNS_ADD_CONTACTS_TO_MAILING_LIST`

Add between one and ten email addresses to an existing Zoho Campaigns mailing list in one request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emails` | array | Yes | One to ten email addresses to add. They are sent to Zoho Campaigns as one comma-separated query value. |
| `list_key` | string | Yes | Existing mailing-list key to receive the contacts. |

#### 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 Mailing List and Contacts

**Slug:** `ZOHO_CAMPAIGNS_ADD_MAILING_LIST_AND_CONTACTS`

Create a Zoho Campaigns mailing list and optionally add up to ten email addresses in the same call.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the new mailing list. |
| `emails` | array | No | Up to ten contacts to add. Omit or pass an empty list to create an empty mailing list. |
| `description` | string | No | Optional mailing-list description. |
| `signup_form_visibility` | string ("public" | "private") | No | Whether the list's hosted signup form is public or private. |

#### 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 |

### Associate Tag with Contact

**Slug:** `ZOHO_CAMPAIGNS_ASSOCIATE_TAG_WITH_CONTACT`

Associate an existing Zoho Campaigns contact tag with one contact email address. Zoho performs this state-changing operation through an HTTP GET request, so do not treat it as a safe read.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_name` | string | Yes | Exact name of the existing contact tag to associate. |
| `contact_email` | string | Yes | Email address of the contact that should receive the tag. |

#### 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 |

### Clone Campaign

**Slug:** `ZOHO_CAMPAIGNS_CLONE_CAMPAIGN`

Clone an existing campaign into a new draft with a new name and subject. This action creates a draft and does not send it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the cloned campaign draft. |
| `subject` | string | Yes | Subject line for the cloned campaign draft. |
| `encoding` | string | No | Provider encoding type for the cloned draft, such as UTF-8. |
| `reply_to` | string | No | Reply-to address override for the cloned draft. |
| `sender_name` | string | No | Sender display name override for the cloned draft. |
| `sender_email` | string | No | Verified sender email override for the cloned draft. |
| `source_campaign_key` | string | Yes | Campaign key to clone. |

#### 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 |

### Count Mailing List Contacts

**Slug:** `ZOHO_CAMPAIGNS_COUNT_MAILING_LIST_CONTACTS`

Count contacts in a mailing list for one subscription, bounce, or spam status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("active" | "unsub" | "bounce" | "spam") | No | Contact status to count. |
| `list_key` | string | Yes | Mailing-list key whose contacts should be counted. |

#### 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 |

### Create Campaign

**Slug:** `ZOHO_CAMPAIGNS_CREATE_CAMPAIGN`

Create an email campaign draft for mailing-list or segment recipients. This action creates a draft only and does not send or schedule the campaign.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the campaign draft. |
| `subject` | string | Yes | Campaign email subject line. |
| `topic_id` | string | No | Topic ID for the campaign. Required only when the connected organization uses Zoho's updated topic management. |
| `content_url` | string | No | Public HTTP or HTTPS URL from which Zoho can fetch the campaign HTML. |
| `segment_ids` | array | No | Standalone recipient segment IDs. Use these only when mailing_lists is empty; Zoho ignores them when mailing lists are supplied. |
| `sender_name` | string | No | Display name for the sender. |
| `sender_email` | string | Yes | Verified sender email configured in Zoho Campaigns. |
| `mailing_lists` | array | No | Recipient mailing lists. Each entry selects a whole list or specific segments within that list. When supplied, these recipients take precedence over standalone segment_ids. |

#### 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 |

### Create Contact Field

**Slug:** `ZOHO_CAMPAIGNS_CREATE_CONTACT_FIELD`

Create a custom contact field in Zoho Campaigns. The documented API does not provide an update or delete operation for custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Display name for the custom contact field. Use only letters, numbers, spaces, underscores, and hyphens. |
| `field_type` | string ("Text" | "Integer" | "Phone" | "Date" | "Picklist" | "Email" | "Checkbox" | "LongInteger" | "URL" | "textarea" | "RadioOption" | "Multiselect" | "DateTime" | "Decimal" | "Percent") | Yes | Zoho Campaigns field type for the custom contact field. |
| `field_length` | integer | No | Maximum field length for field types that support a length. |

#### 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 |

### Call Deprecated Create Merge Tag

**Slug:** `ZOHO_CAMPAIGNS_CREATE_MERGE_TAG`

Call Zoho Campaigns' deprecated merge-tag endpoint for compatibility. Live provider evidence confirms that it creates nothing and only reports that merge tags are generated automatically for contact fields. Use List Contact Fields to discover those fields instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `field_name` | string | Yes | Legacy contact field name associated with the merge tag. The endpoint currently creates nothing because Zoho generates merge tags automatically. |
| `field_type` | string | Yes | Legacy contact field type. Zoho's documentation is malformed, but its request example sends this value as fieldtype. |
| `merge_name` | string | Yes | Legacy merge-tag name. Zoho's malformed parameter table omits this field, but its request example includes mergename. The deprecated endpoint currently ignores creation requests. |
| `email_default` | string | No | Legacy default value for email campaigns. Sent as mailval, matching the provider example rather than the malformed table's mailvalue spelling. |
| `social_default` | string | No | Legacy default value for social campaigns. Sent as socialval, matching the provider example rather than the malformed table's socialvalue spelling. |

#### 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 |

### Create Tag

**Slug:** `ZOHO_CAMPAIGNS_CREATE_TAG`

Create a Zoho Campaigns contact tag with a description and color.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the contact tag. |
| `color` | string | No | Tag color as a six-digit hexadecimal value, including the leading #. |
| `description` | string | No | Optional description for the contact tag. |

#### 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 |

### Create Topic

**Slug:** `ZOHO_CAMPAIGNS_CREATE_TOPIC`

Create a brand topic or brand-product topic. Zoho Campaigns documents no API endpoint for deleting a topic, so this action may leave durable account state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Topic name. |
| `product_id` | string | No | Product ID for a brand-product topic. Omit this for a brand topic. Zoho's documentation is contradictory about when this field is required, and support depends on the connected organization's topic model. |
| `description` | string | Yes | Topic description shown to subscribers. |

#### 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 Campaign

**Slug:** `ZOHO_CAMPAIGNS_DELETE_CAMPAIGN`

Permanently delete one Zoho Campaigns campaign by exact campaign key. This destructive operation cannot be undone. Verify the campaign and obtain explicit confirmation before calling it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_key` | string | Yes | Exact campaign key to permanently delete. Verify the campaign first; deletion cannot be undone. |
| `confirm_delete` | boolean | Yes | Must be true to confirm permanent deletion of the specified campaign. This value is not sent to Zoho Campaigns. |

#### 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 Mailing List

**Slug:** `ZOHO_CAMPAIGNS_DELETE_MAILING_LIST`

Permanently delete a mailing list. Contacts remain in the organization by default; setting delete_contacts to true also permanently deletes them and is more destructive, so that mode requires confirm_delete_contacts=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_key` | string | Yes | Mailing-list key to permanently delete. |
| `delete_contacts` | boolean | No | Also permanently delete the mailing list's contacts from the organization. Leave false unless this broader destructive deletion is explicitly intended. |
| `confirm_delete_contacts` | boolean | No | Must be true when delete_contacts is true to confirm permanent deletion of the list's contacts from the entire organization. Not required when delete_contacts is false. This confirmation is not sent to Zoho Campaigns. |

#### 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:** `ZOHO_CAMPAIGNS_DELETE_TAG`

Permanently delete one Zoho Campaigns contact tag by exact name. Zoho performs this destructive operation through an HTTP GET request, so do not treat it as a safe read. Verify the tag and obtain explicit confirmation before calling it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_name` | string | Yes | Exact contact tag name to permanently delete. |
| `confirm_delete` | boolean | Yes | Must be true to confirm permanent deletion of the specified contact tag. This confirmation is not sent to Zoho Campaigns. |

#### 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 |

### Dissociate Tag from Contact

**Slug:** `ZOHO_CAMPAIGNS_DISSOCIATE_TAG_FROM_CONTACT`

Remove an existing Zoho Campaigns contact-tag association without deleting the tag or contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_name` | string | Yes | Existing tag name to remove from the contact. |
| `contact_email` | string | Yes | Contact email whose tag association should be removed. |

#### 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 Campaign Details

**Slug:** `ZOHO_CAMPAIGNS_GET_CAMPAIGN_DETAILS`

Get a campaign's status, sender, recipients, reach, and summary report data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_key` | string | Yes | Campaign key to inspect. |
| `campaign_type` | string ("normal" | "abtesting") | No | Campaign type used to resolve the details. |

#### 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 Campaign Report

**Slug:** `ZOHO_CAMPAIGNS_GET_CAMPAIGN_REPORT`

Get aggregate delivery, open, click, bounce, and reach metrics for one campaign.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_key` | string | Yes | Campaign key whose aggregate report should be returned. |

#### 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 Coupon Details

**Slug:** `ZOHO_CAMPAIGNS_GET_COUPON_DETAILS`

Get a coupon's code, recipient, campaign, sent and expiry dates, and current status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_code` | string | Yes | Coupon code to inspect. |

#### 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 Last Campaign Report

**Slug:** `ZOHO_CAMPAIGNS_GET_LAST_CAMPAIGN_REPORT`

Get aggregate delivery, open, click, bounce, and reach metrics for the organization's most recently sent campaign. Fails clearly when the account has no sent campaigns.

#### 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 Mailing List Details

**Slug:** `ZOHO_CAMPAIGNS_GET_MAILING_LIST_DETAILS`

Get a mailing list's contact statistics, client and device breakdowns, and optionally filtered campaign details one page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page. |
| `list_key` | string | Yes | Mailing-list key returned by List Mailing Lists or Create Mailing List. |
| `page_size` | integer | No | Maximum campaign-detail records to return on this page. |
| `campaign_filter` | string ("sentcampaigns" | "scheduledcampaigns" | "recentcampaigns") | No | Campaign subset to include in the mailing-list details. |

#### 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 Segment Details

**Slug:** `ZOHO_CAMPAIGNS_GET_SEGMENT_DETAILS`

Get the filtering criteria and metadata for a segment in a mailing list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_key` | string | Yes | Mailing-list key that owns the segment. |
| `segment_id` | string | Yes | Segment ID returned in mailing-list metadata; strings are accepted to preserve large IDs. |

#### 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 Campaign Recipients

**Slug:** `ZOHO_CAMPAIGNS_LIST_CAMPAIGN_RECIPIENTS`

List recipients in one campaign delivery or engagement state, one page at a time. Pagination is provisional because no sent campaign was available to verify successful page output.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page. |
| `page_size` | integer | No | Maximum recipients to request on this page. |
| `campaign_key` | string | Yes | Sent campaign key whose recipients should be listed. |
| `recipient_state` | string ("sentcontacts" | "openedcontacts" | "optoutcontacts" | "spamcontacts" | "unopenedcontacts" | "clickedcontacts" | "senthardbounce" | "sentsoftbounce" | "unsentcontacts") | Yes | Delivery or engagement state to select. |

#### 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 Contact Fields

**Slug:** `ZOHO_CAMPAIGNS_LIST_CONTACT_FIELDS`

List standard and custom contact fields available to the connected Campaigns organization.

#### 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 Mailing List Contacts

**Slug:** `ZOHO_CAMPAIGNS_LIST_MAILING_LIST_CONTACTS`

List contacts in a mailing list, optionally filtered by subscription or bounce status, one page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort direction for returned contacts. |
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page. |
| `status` | string ("active" | "recent" | "mostrecent" | "unsub" | "bounce") | No | Contact status to include. |
| `list_key` | string | Yes | Mailing-list key whose contacts should be returned. |
| `page_size` | integer | No | Maximum contacts to return on this page. |

#### 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 Mailing Lists

**Slug:** `ZOHO_CAMPAIGNS_LIST_MAILING_LISTS`

List mailing lists and their contact, ownership, segment, and status metadata one page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort direction for mailing lists. |
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page and pass it back unchanged to continue. |
| `page_size` | integer | No | Maximum mailing lists to return on this page. |

#### 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 Open Workflows

**Slug:** `ZOHO_CAMPAIGNS_LIST_OPEN_WORKFLOWS`

List open custom workflows one page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | string ("my" | "all" | "other") | No | Return workflows created by the connected user, all users, or other users. |
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page and pass it back unchanged to continue. |
| `page_size` | integer | No | Maximum workflows to request on this page. |
| `sort_order` | string ("asc" | "desc") | No | Sort workflows in ascending or descending order. |

#### 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 Recent Campaigns

**Slug:** `ZOHO_CAMPAIGNS_LIST_RECENT_CAMPAIGNS`

List recent campaigns filtered by lifecycle status, one page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("asc" | "desc") | No | Sort direction for campaigns. |
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page and pass it back unchanged to continue. |
| `status` | string ("all" | "all campaigns" | "drafts" | "scheduled" | "inprogress" | "sent" | "stopped" | "canceled" | "tobereviewed" | "reviewed" | "paused" | "intesting") | No | Campaign lifecycle status to include. |
| `page_size` | integer | No | Maximum campaigns to return on this page. |

#### 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 Recently Sent Campaigns

**Slug:** `ZOHO_CAMPAIGNS_LIST_RECENTLY_SENT_CAMPAIGNS`

Return up to a requested number of the most recently sent campaigns; an account with no sent campaigns returns an empty list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum recent sent campaigns to return. |

#### 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 Segment Contacts

**Slug:** `ZOHO_CAMPAIGNS_LIST_SEGMENT_CONTACTS`

List contacts belonging to a Zoho Campaigns segment one page at a time. Pagination is provisional because no live segment fixture was available during probing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page. |
| `page_size` | integer | No | Maximum contacts to request on this page. |
| `segment_id` | string | Yes | Segment ID whose contacts should be returned. |

#### 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 Tags

**Slug:** `ZOHO_CAMPAIGNS_LIST_TAGS`

List all Zoho Campaigns contact tags and their metadata. Zoho requires contact UPDATE permission even though this action only reads.

#### 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 Topic Products

**Slug:** `ZOHO_CAMPAIGNS_LIST_TOPIC_PRODUCTS`

List products available for brand-product topics one page at a time. Organizations using the brand topic model receive an explicit incompatibility error because that model has no topic products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page and pass it back unchanged to continue. |
| `page_size` | integer | No | Maximum products to return on this page. |

#### 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 Topics

**Slug:** `ZOHO_CAMPAIGNS_LIST_TOPICS`

List subscription topics for the organization one page at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cursor` | string | No | Opaque continuation cursor from a previous response; omit for the first page and pass it back unchanged to continue. |
| `page_size` | integer | No | Maximum topics to return on this page. |

#### 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 |

### Mark Coupon Used

**Slug:** `ZOHO_CAMPAIGNS_MARK_COUPON_USED`

Irreversibly mark a Zoho Campaigns coupon as used. The documented API provides no action to restore the coupon's prior status, so use this only after the user explicitly confirms the state change.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_code` | string | Yes | Coupon code to irreversibly mark as used. |
| `confirm_mark_used` | boolean | Yes | Must be true to confirm permanently marking this coupon as used. The documented API provides no way to restore its prior status. |

#### 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 |

### Move Contact to Do-Not-Mail

**Slug:** `ZOHO_CAMPAIGNS_MOVE_CONTACT_TO_DO_NOT_MAIL`

Permanently suppress one email address across the connected Zoho Campaigns organization by moving it to the Do-Not-Mail registry. This is broader than unsubscribing from one mailing list, cannot be reversed through the documented API, and was not live-tested because even a test call creates durable suppression. Requires confirm_permanent_suppression=true after the user explicitly confirms this consequence.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to suppress across the entire organization. This is broader than unsubscribing from one mailing list and cannot be reversed through the documented API. Confirm this permanent suppression before calling. |
| `confirm_permanent_suppression` | boolean | Yes | Must be true to confirm irreversible organization-wide suppression of this email address. This confirmation is not sent to Zoho Campaigns. |

#### 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 |

### Schedule Campaign

**Slug:** `ZOHO_CAMPAIGNS_SCHEDULE_CAMPAIGN`

Schedule a reviewed campaign for future delivery. This commits the campaign to sending, and this toolkit has no cancellation action; call only after the user confirms the campaign, date, time, and time zone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `meridiem` | string ("AM" | "PM") | Yes | AM or PM for the delivery time. |
| `campaign_key` | string | Yes | Reviewed campaign key to schedule. |
| `schedule_date` | string | Yes | Delivery date in MM/DD/YYYY format. |
| `schedule_hour` | integer | Yes | Delivery hour on a 12-hour clock (1-12). |
| `schedule_minute` | integer ("0" | "5" | "10" | "15" | "20" | "25" | "30" | "35" | "40" | "45" | "50" | "55") | Yes | Delivery minute in five-minute increments (0-55). |
| `recipient_time_zone` | string | No | Recipient time zone to send as sendingTZ, for example Asia/Kolkata. Zoho documents this separately from the sender-time-zone option. |
| `use_sender_time_zone` | boolean | No | Whether to set Zoho's istimewarp option for sender-time-zone delivery. This does not select recipient-local-time delivery. |

#### 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 Campaign

**Slug:** `ZOHO_CAMPAIGNS_SEND_CAMPAIGN`

Immediately and irreversibly send a reviewed Zoho Campaigns campaign to its entire configured audience. This is not a preview, test, draft, or scheduling operation. Delivery cannot be canceled or undone after the call, so use only after the user explicitly confirms the campaign and audience are final.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `campaign_key` | string | Yes | Reviewed campaign key to send immediately to every configured recipient. Sending cannot be undone. |
| `confirm_send` | boolean | Yes | Must be true to confirm immediate delivery of the reviewed campaign to its full configured audience. This is not a preview or test, and the send cannot be canceled or undone after this call. |

#### 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 |

### Subscribe Contact

**Slug:** `ZOHO_CAMPAIGNS_SUBSCRIBE_CONTACT`

Add or update one contact in a mailing list. Depending on the mailing-list settings, Zoho Campaigns may send the contact a confirmation email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source` | string | No | Optional source label for the contact. |
| `contact` | object | Yes | Contact details to add or update in the mailing list. |
| `list_key` | string | Yes | Mailing-list key to subscribe the contact to. |
| `topic_id` | string | No | Topic ID to associate when topic management requires 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 |

### Trigger Workflow Contacts

**Slug:** `ZOHO_CAMPAIGNS_TRIGGER_WORKFLOW_CONTACTS`

Add between one and 200 contacts to a Zoho Campaigns custom workflow. Triggering contacts can run the workflow's downstream automations, so this action requires confirm_trigger=true after the user confirms that effect.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_key` | string | Yes | Mailing-list key associated with the contacts and workflow trigger. |
| `trigger_key` | string | Yes | Trigger key returned for the selected custom workflow. |
| `workflow_key` | string | Yes | Custom workflow key whose trigger should receive the contacts. |
| `contact_emails` | array | Yes | Between one and 200 contact email addresses to add to the custom workflow. Triggering can run the workflow's downstream automations. |
| `confirm_trigger` | boolean | Yes | Must be true to confirm adding these contacts to the workflow and potentially running its downstream automations. This confirmation is not sent to Zoho Campaigns. |

#### 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 |

### Unsubscribe Contact

**Slug:** `ZOHO_CAMPAIGNS_UNSUBSCRIBE_CONTACT`

Unsubscribe one contact from a mailing list or topic. This is a reversible, list-level opt-out and does not add the address to the organization-wide Do-Not-Mail registry.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact` | object | Yes | Contact to unsubscribe. This affects only the specified mailing list and does not place the address in the organization-wide Do-Not-Mail registry. |
| `list_key` | string | Yes | Mailing-list key to unsubscribe the contact from. |
| `topic_id` | string | No | Topic ID when the unsubscribe applies to a topic association. |

#### 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 |

### Update Mailing List

**Slug:** `ZOHO_CAMPAIGNS_UPDATE_MAILING_LIST`

Rename a mailing list and set its signup form visibility.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | New mailing-list name. |
| `list_key` | string | Yes | Mailing-list key to update. |
| `signup_form_visibility` | string ("public" | "private") | Yes | Whether the hosted signup form is public or private. |

#### 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 |
