Create a ticket destination
kind: zendesk | salesforce | slack | custom | email. config/credentials are validated per kind (see CreateTicketDestinationRequest). routingConditions support operator equals (a value) or any (the whole tracker).
Authorizations
Company API key. Obtain this from your Woku dashboard under Settings > API Keys. The same key used for the v0 endpoints.
Body
120"Zendesk Soporte Chile"
zendesk, salesforce, slack, custom, email Non-secret, kind-specific config, validated per kind:
zendesk:{ connectionId, groupId? }.connectionIdis the id of the company's Zendesk Integration;groupIdis the optional numeric agent group the ticket lands in.salesforce:{ queueId?, caseOrigin? }.queueIdis a Case Queue id ("00G...", 15 or 18 chars);caseOrigindefaults to"Web".slack:{ connectionId, channelId, channelLabel? }.connectionIdis the id of the company's Slack Integration;channelIdis the Slack channel id ("C...");channelLabelis a display-only name (e.g."#soporte").custom:{ url, method, headers? }.methodisPOSTorPUT;headersare non-secret extra headers (neverAuthorization).email:{ emails }. Up to 20 recipient addresses; the server sends the ticket as a formatted email, no external call.
Write-only, kind-specific credentials. Never returned by the API; see credentialsHint on the response.
zendesk,salesforce,slack: authenticate through the company's Integration (connected separately in the dashboard). Send{}.custom:{ authType, ... }whereauthTypeisnone,basic(addsusername,password),bearer(addstoken) orapi-key-header(addsheaderName,headerValue).email: send{}. The server owns the mail transport; there is no credential to submit.
Per-destination natural-language context injected into the AI triage prompt.
200020Only meaningful for kind custom; named kinds (zendesk/salesforce/slack/email) use a fixed preset and reject this field.
Response
Destination created
Credentials are never included: credentialsHint shows only the masked last 4 characters of the stored secret (empty for kinds with no secret of their own).
"507f1f77bcf86cd799439021"
zendesk, salesforce, slack, custom, email Masked preview of the stored secret (e.g. "••••a1b2"). Empty when the kind carries no secret of its own.
"••••a1b2"
Only meaningful for kind custom; named kinds (zendesk/salesforce/slack/email) use a fixed preset and reject this field.
error = the last delivery or connection test failed (see lastError).
active, error Sanitized failure reason of the last delivery attempt. Never contains credentials.