Capabilities
The Servicedesk Plus connector syncs the following resources:
Account provisioning creates new Servicedesk Plus requesters. The connector also supports C1.ai external ticketing, so you can create and read Servicedesk Plus requests from ConductorOne automations.
Known limitations
- No deprovisioning. Servicedesk Plus exposes no writable status field, and its
DELETEendpoint for users has undocumented soft-delete-versus-hard-delete behavior. The connector never disables, suspends, or deletes a Servicedesk Plus account. - Roles and support groups are technician-only. Only technicians can hold a role or support-group membership; requesters cannot. Because account creation always creates a requester, a newly created account cannot be granted a role or support-group membership until a Servicedesk Plus administrator promotes it to technician.
- On-premise Servicedesk Plus is not supported. This connector covers Servicedesk Plus Cloud only. The on-premise edition uses a structurally different resource model — different membership fields, no identity status field at all, different write endpoints — and is out of scope for this version.
Gather Servicedesk Plus credentials
Servicedesk Plus Cloud authenticates through a Zoho OAuth self-client, not an API key. C1.ai needs a client ID, a client secret, and a refresh token.1
In the Zoho API Console for your data center, create a Self Client and note its Client ID and Client Secret.
2
On the Generate Code tab, enter this scope string exactly, as a single comma-separated line with no spaces:
Set the token expiry to 10 minutes and choose your Servicedesk Plus portal, then click Create. The grant code is single-use and expires quickly, so exchange it in the next step right away.
3
Exchange the grant code for a refresh token, substituting your own values and your data center’s accounts host.The console never shows you a refresh token — the value you copied on the Generate Code tab is the grant code, and it is not what C1.ai needs. This one-time exchange is the only thing that mints a refresh token:The response’s
refresh_token is what C1.ai needs. It is returned only on this first exchange — if you lose it, generate a new grant code and repeat.The refresh token does not expire. Store it as securely as a password: a leaked refresh token grants standing API access until it is manually revoked with POST /oauth/v2/token/revoke. Note also that Zoho throttles token issuance to 10 requests per 10 minutes; the connector caches its access token for the full hour, but rapid connector restarts during testing can trip the limit and surface as an authentication failure.4
Note your Servicedesk Plus data center. It must match the Zoho API Console you registered the self-client in — an OAuth client is scoped to one data center, so a client created in the US console will not authenticate against an EU tenant.
If your account has more than one portal, also note the portal name from the
/app/<portal>/ segment of your Servicedesk Plus URL. Portal names are case-sensitive — ITDesk and itdesk are not interchangeable, and the wrong case returns a 403. Leave it blank for single-portal accounts.Configure the Servicedesk Plus connector
- Cloud-hosted
- Self-hosted
Follow these instructions to use a built-in, no-code connector hosted by C1.ai.Done. Your Servicedesk Plus connector is now pulling access data into C1.ai.
1
In C1.ai, navigate to Apps > Connectors and click Add connector.
2
Search for Servicedesk Plus and click Add.
3
Choose how to set up the new Servicedesk Plus connector:
- Add the connector to a currently unmanaged app
- Add the connector to a managed app
- Create a new managed app
4
Set the owner for this connector.
5
Click Next.
6
Find the Settings area of the page and click Edit.
7
Enter the required configuration:
- Data center (required): The Zoho data center hosting your Servicedesk Plus tenant
- Zoho client ID (required): Client ID of the Zoho OAuth self-client
- Zoho client secret (required, secret): Client secret of the Zoho OAuth self-client
- Refresh token (required, secret): Zoho OAuth refresh token generated from the self-client grant
- Portal: Portal name from the
/app/<portal>/URL segment. Leave blank for single-portal accounts. Case-sensitive - Enable external ticket provisioning: Must be set to enable ticketing support
8
Click Save.
9
The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.