Skip to main content

Zoho Social

Overview

The Zoho Social source syncs social account, channel, post, and metric data into Daspire-managed destinations. It is implemented as a Daspire-owned connector and is exposed through the Control API source workflow, not through a customer-facing legacy execution endpoint.

Use the Control API base path:

/api/control/v1

Create and manage Zoho Social sources through:

  • GET /connectors
  • GET /connectors/{connector_id}/spec
  • POST /credentials/source/oauth/start
  • POST /credentials/source/oauth/callback
  • POST /sources
  • POST /sources/check_connection

connector_id, source_id, and credential_handle are the primary product identifiers. Legacy runtime ids such as source:85124378-057c-4755-b3bb-b9e614a229be are accepted only for saved configuration compatibility.

Prerequisites

  • A Zoho Social account with administrator access to the required Portal, Brand, and Channels.
  • Zoho Social API access enabled for the account and region.
  • A Daspire OAuth credential handle returned by the Zoho Social source OAuth flow.
  • OAuth scopes confirmed for the customer tenant. The alpha consent flow requests read-only Zoho Social post, channel, and report scopes.
  • A Portal ID and at least one Brand ID entered manually or selected from the Control API entity picker after OAuth.
  • Optional Channel IDs entered manually or selected from the entity picker when the sync should be limited to specific connected social channels.

Zoho's public REST API catalog does not currently list Zoho Social as a broadly documented public API, while Zoho Social itself supports publishing, monitoring, and analytics for connected social channels. Daspire therefore treats the connector as alpha. Source connection checks validate OAuth refresh plus required Portal and Brand IDs, while Portal/Brand/Channel metadata lookup remains best-effort. Stream reads fail closed with sanitized errors if Zoho rejects the selected Social API reads for the customer's account or region.

References:

Configuration

FieldRequiredNotes
credential_handleYesReturned by the Daspire source OAuth callback. Secrets and provider tokens are not returned by the Control API.
portal_idYesZoho Social Portal selected from the OAuth-backed entity picker. If Zoho does not return Portal options for the OAuth account, open Zoho Social and copy the browser URL. In https://social.zoho.com/social/example-portal/123456789012345678/Home.do, the Portal ID is example-portal. Pasting the full URL into the Portal ID field also fills the current Brand ID when present.
brand_idsYesOne or more Zoho Social Brand IDs. In the same URL, the Brand ID is the next path segment after the Portal ID: 123456789012345678. Add multiple Brand IDs with comma, space, or newline; each added ID appears as a removable chip.
channel_idsNoOptional Zoho Social Channel IDs. Leave blank to sync all channels visible to each selected Brand. Enter Channel IDs only when the sync should be limited to specific connected social channels. Add multiple Channel IDs with comma, space, or newline; each added ID appears as a removable chip.
start_dateYesFirst date for post and metric reads.
end_dateNoLast date for post and metric reads. Defaults to the current date.

The entity picker is exposed through the existing Daspire Control API source workflow and returns only customer-safe id, name, and bounded metadata labels. It does not return OAuth tokens, raw provider credential material, Docker image fields, runtime auth metadata, internal paths, or raw runtime payloads.

After OAuth, Portal and Brand options are loaded through the same Control API entity lookup using connector_id and credential_handle. If Zoho Social returns no usable Portal or Brand records for the OAuth account, Daspire keeps the source workflow on product IDs and allows bounded manual ID entry instead of exposing provider tokens or raw runtime payloads. The source check does not require the best-effort Portal picker endpoint to succeed; it validates OAuth refresh and required IDs before source creation. A Zoho Social page URL can be pasted into the Portal ID field to extract the portal path and current brand ID. Manual Brand and Channel fields accept multiple IDs as chips; click x on a chip to remove it. Channel selection remains optional; an empty Channel picker means the source can read all channels visible to the selected Brand.

How to find the IDs manually

  1. Finish Zoho Social OAuth in Daspire.
  2. Open Zoho Social in the same Zoho account.
  3. Navigate to the Portal and Brand that should be synced.
  4. Copy the browser URL. For a placeholder example:
https://social.zoho.com/social/example-portal/123456789012345678/Home.do

In that URL:

  • example-portal is the portal_id.
  • 123456789012345678 is one brand_ids value.
  • channel_ids is optional. Leave it empty to read all channels visible to that Brand.

If multiple Brands should be synced, add each Brand ID separately in Daspire. The manual input accepts comma, space, or newline-separated IDs and converts them into removable chips.

Example source create payload:

{
"connector_id": "conn_496e0e5c6669ebe828660f97",
"name": "Zoho Social - Brand A",
"connectionConfiguration": {
"credential_handle": "cred_source_oauth_zoho_social",
"portal_id": "123456789",
"brand_ids": ["987654321"],
"start_date": "2024-01-01"
}
}

Supported Streams

  • portals
  • brands
  • channels
  • posts
  • post_metrics
  • account_metrics

The connector preserves provider response fields with schema drift support. Customer-safe context fields such as portal_id, brand_id, channel_id, metric_date, start_date, and end_date are added where applicable.

Expected metrics include impressions, reach, engagement, clicks, followers, likes, comments, and shares when Zoho Social returns those fields for the account, channel, or post. Unsupported provider fields are omitted or left null; raw provider fields remain traceable in the stream record.

Incremental and Sync Behavior

Post and metric streams read by configured date window. Metrics are sliced by day so a failed run can retry a bounded date range. The connector does not change existing Daspire schedules, selected catalogs, state, billing, usage accounting, or warehouse naming behavior.

Migration and Rollback

Adding Zoho Social does not migrate customer connections, does not reuse the Zoho Desk connector, and does not change any source definition id for existing connectors. Existing source, destination, pipeline, job, catalog, schedule, billing, usage, and _daspire_* warehouse names are preserved.

Rollback is limited to disabling or removing the new Zoho Social source definition or connector image tag. No customer connection or connector migration is performed automatically.

Limitations

  • API availability depends on Zoho enabling Social API access for the customer's account and data center region.
  • Zoho's channel-level API limitations may vary by social network. For example, some Instagram story statistics depend on how the Instagram channel is connected in Zoho Social.
  • OAuth raw config, provider tokens, Docker image metadata, runtime ids, internal paths, and raw stack traces are never returned in default customer responses.