Skip to content
← Back to documentation
Technical Reference

Zoho Campaigns

Zoho Campaigns is an email marketing platform for managing mailing lists, sending campaigns, tracking engagement, and automating subscriber workflows.

CategoryOther
Authenticationcustom
Version0.2.0
Published scopes0 published scopes
Last updatedSeptember 24, 2026

Overview

Connect Zoho Campaigns with Flows360

Zoho Campaigns is an email marketing platform for managing mailing lists, sending campaigns, tracking engagement, and automating subscriber workflows.

Use the Zoho Campaigns connector to include its declared actions and events in Flows360 workflows without duplicating the integration logic inside each consuming system. This pinned connector version currently exposes 11 actions and 3 triggers.

Available actions

  • Create Campaign
  • Clone Campaign
  • Send Campaign
  • Add/Update Contact
  • Add Tag to Contact
  • Remove Tag
  • Unsubscribe Contact
  • Add Contact to Mailing List
  • Plus 3 additional declared actions.

Available triggers

  • New Contact
  • Unsubscribe
  • New Campaign

The capability list above is generated from the exact reviewed connector package so the public description stays aligned with the version Flows360 operates.

Technical guide

Technical reference

Package identity

  • Connector: Zoho Campaigns
  • Package: @activepieces/piece-zoho-campaigns@0.2.0
  • Exact artifact digest: sha256:e3ce5d99b6064f00d396001d48a7a2a700d05cdbce378b35c22c855a1d3aac54
  • Runtime: Activepieces-compatible deterministic worker
  • Source: the exact reviewed Activepieces source

Authentication

OAUTH2. Connection values are tenant-specific and remain in the consuming Studio instance; CDK stores definitions and field metadata, not customer credential values.

Action contracts

  • Create Campaign (createCampaign), Create a new campaign with campaign name, subject, topic, sender name/address, and mailing list. Classification: read.
  • Clone Campaign (cloneCampaign), Clone an existing campaign, optionally renaming. Classification: read.
  • Send Campaign (sendCampaign), Send a campaign that has been created or cloned. Classification: read.
  • Add/Update Contact (addUpdateContact), Add a new contact or update an existing one. Confirmation email sent based on mailing list settings. Classification: read.
  • Add Tag to Contact (addTagToContact), Apply a tag to a contact by email. Creates the tag if it doesn't exist. Classification: read.
  • Remove Tag (removeTag), Remove a tag from a contact. Classification: read.
  • Unsubscribe Contact (unsubscribeContact), Remove a contact from a mailing list. Classification: read.
  • Add Contact to Mailing List (addContactToMailingList), Add contacts to your mailing lists. Classification: read.
  • Find Contact (findContact), Look up an existing contact by email address. Classification: read.
  • Find Campaign (findCampaign), Locate an existing campaign by campaign name. Classification: read.
  • Custom API Call (custom_api_call), Make a custom API call to a specific endpoint Classification: read.

Trigger contracts

  • New Contact, polling.
  • Unsubscribe, polling.
  • New Campaign, polling.

Verification

Deterministic execution evidence is recorded for the pinned artifact, including 1 exercised action entrypoint and 0 exercised trigger entrypoints.

Capability summary

Authenticationcustom
Supported objects14
Supported actions11
Triggers3

Authentication

Authentication method: custom

Authentication profiles

connection · custom
  • Access token Required · protected credential
  • Data Center Required

Supported objects

ObjectReadWriteNotes
Create Campaign Yes No Create a new campaign with campaign name, subject, topic, sender name/address, and mailing list.
Clone Campaign Yes No Clone an existing campaign, optionally renaming.
Send Campaign Yes No Send a campaign that has been created or cloned.
Add/Update Contact Yes No Add a new contact or update an existing one. Confirmation email sent based on mailing list settings.
Add Tag to Contact Yes No Apply a tag to a contact by email. Creates the tag if it doesn't exist.
Remove Tag Yes No Remove a tag from a contact.
Unsubscribe Contact Yes No Remove a contact from a mailing list.
Add Contact to Mailing List Yes No Add contacts to your mailing lists.
Find Contact Yes No Look up an existing contact by email address.
Find Campaign Yes No Locate an existing campaign by campaign name.
Custom API Call Yes No Make a custom API call to a specific endpoint
New Contact Yes No polling trigger declared by the pinned package.
Unsubscribe Yes No polling trigger declared by the pinned package.
New Campaign Yes No polling trigger declared by the pinned package.

Supported actions

Create Campaign · Read

Create a new campaign with campaign name, subject, topic, sender name/address, and mailing list.

create_campaign · Risk: low · Retry: safe

Inputs

  • campaignname · string · Required, A name to your campaign
  • from_email · string · Required, Sender email address for the campaign
  • subject · string · Required, The subject line of the campaign
  • list_details · array · Required, Select the mailing lists
  • content_url · string · Optional, Public URL containing the HTML content for your campaign
  • topicId · string · Optional, Select the topic
Clone Campaign · Read

Clone an existing campaign, optionally renaming.

clone_campaign · Risk: low · Retry: safe

Inputs

  • campaignkey · string · Required, Select the campaign
  • campaignname · string · Optional, New name for the cloned campaign
  • subject · string · Optional, New subject line for the cloned campaign
  • from_name · string · Optional, Sender name for the cloned campaign
  • from_add · string · Optional, Sender email address for the cloned campaign
  • reply_to · string · Optional, Reply-to email address for the cloned campaign
  • encode_type · string · Optional, Email encoding type (e.g., UTF-8)
Send Campaign · Read

Send a campaign that has been created or cloned.

send_campaign · Risk: low · Retry: safe

Inputs

  • campaignkey · string · Required, Select the campaign
Add/Update Contact · Read

Add a new contact or update an existing one. Confirmation email sent based on mailing list settings.

add_update_contact · Risk: low · Retry: safe

Inputs

  • listkey · string · Required, Select the mailing list
  • contactinfo · object · Required, Information about the contact
  • source · string · Optional, Contact source can be added.
  • topic_id · string · Optional, Select the topic
Add Tag to Contact · Read

Apply a tag to a contact by email. Creates the tag if it doesn't exist.

add_tag_to_contact · Risk: low · Retry: safe

Inputs

  • tagName · string · Required, Select the tag to associate with the contact
  • lead_email · string · Required, Email address of the contact to tag
Remove Tag · Read

Remove a tag from a contact.

remove_tag · Risk: low · Retry: safe

Inputs

  • tagName · string · Required, Select the tag to associate with the contact
  • lead_email · string · Required, Email address of the contact to remove the tag from
Unsubscribe Contact · Read

Remove a contact from a mailing list.

unsubscribe_contact · Risk: low · Retry: safe

Inputs

  • listkey · string · Required, Select the mailing list
  • contactinfo · object · Required, Information about the contact
  • topic_id · string · Optional, Select the topic
Add Contact to Mailing List · Read

Add contacts to your mailing lists.

add_contact_to_mailing_list · Risk: low · Retry: safe

Inputs

  • listkey · string · Required, Select the mailing list
  • emails · array · Required, Contacts email addresses to be added to the mailing list (maximum 10 emails)
Find Contact · Read

Look up an existing contact by email address.

find_contact · Risk: low · Retry: safe

Inputs

  • listkey · string · Required, Select the mailing list
  • contactEmail · string · Required, Email of the contact to be found (partial matches supported)
  • status · string · Required, Filter contacts by status
  • sort · string · Required, Sort order for results
  • fromindex · number · Optional, Starting index for pagination (optional, default: 1)
  • range · number · Optional, Number of contacts to retrieve (optional, default: all)
Find Campaign · Read

Locate an existing campaign by campaign name.

find_campaign · Risk: low · Retry: safe

Inputs

  • campaignName · string · Required, Name of the campaign to be found (partial matches supported)
  • status · string · Optional, Filter campaigns by status (optional)
  • sort · string · Optional, Sort order for results (optional)
  • fromindex · number · Optional, Starting index for pagination (optional, default: 1)
  • range · number · Optional, Number of campaigns to retrieve (optional, default: 5)
Custom API Call · Read

Make a custom API call to a specific endpoint

custom_api_call · Risk: low · Retry: safe

Inputs

  • url · object · Required
  • method · string · Required
  • headers · object · Optional, Authorization headers are injected automatically from your connection.
  • queryParams · object · Optional, Appended to the URL as ?key=value.
  • body_type · string · Optional
  • body · object · Optional
  • response_is_binary · boolean · Optional, Enable for files like PDFs, images, etc.
  • failsafe · boolean · Optional, On a failed request, output the error instead of failing the step.
  • timeout · number · Optional, Seconds to wait for a response. Empty: up to the flow limit (10 min).
  • followRedirects · boolean · Optional, Follow 3xx redirects instead of returning them as the response.

Triggers

New Contact · Poll

Fires when a new contact is added to a selected mailing list.

Inputs

  • listkey · string
Unsubscribe · Poll

Fires when a contact is removed from a mailing list or unsubscribed.

Inputs

  • listkey · string
  • status · string
New Campaign · Poll

Fires when a new campaign is created.

Setup

Setup

  1. Add the Zoho Campaigns connector to the workflow in the target Flows360 Studio instance.
  2. Create or select the tenant-specific connection required by the connector. Connection secrets remain in the Studio connection boundary and are not copied into CDK documentation.
  3. Provide the connection fields declared by the pinned package:
  • Data Center (location), required.

OAuth scopes

  • ZohoCampaigns.campaign.ALL
  • ZohoCampaigns.contact.ALL
  1. Select the required action or trigger and complete its declared input fields. Required and optional inputs are defined by the exact package schema.
  2. Test the workflow in the appropriate environment before enabling production scheduling or event delivery.

Limitations

Limitations and operational notes

  • This content describes @activepieces/piece-zoho-campaigns@0.2.0; provider behaviour can change independently and should be revalidated when the provider or connector version changes.
  • Only the 11 actions and 3 triggers declared by this pinned package are represented here.
  • Tenant credentials and connection values are not stored in the public connector record.
  • Provider-side permissions, account entitlements, quotas and rate limits remain subject to the connected provider account and are not inferred when the package does not declare them.
  • Deterministic execution evidence is recorded for the pinned artifact, including 1 exercised action entrypoint and 0 exercised trigger entrypoints.

Troubleshooting

Why canu2019t the connector authenticate?

Check the tenant connection in Studio and confirm every required Zoho Campaigns connection field is present. Re-authorise OAuth-based connections if the provider token or consent has expired. Do not place credential values in CDK content or logs.

Why is an action or trigger unavailable?

Confirm that the workflow is using @activepieces/piece-zoho-campaigns@0.2.0 and compare the requested capability with the declared action and trigger list for this version. A capability that is not declared by the pinned package should not be presented as supported.

What should I check after a provider-side change?

Revalidate authentication, required fields, action/trigger behaviour and provider documentation before publishing refreshed connector content or moving a new package version into production.