Zendesk TRIGGER
Ticket Closed (Instant)
- Trigger
- Instant
- OAuth
- Webhook delivery
IMPLEMENTATION
Deploy this event source
Connect the user's Zendesk account, configure the source, and choose the webhook where your backend receives events.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const deployed = await pd.triggers.deploy({
id: "zendesk-ticket-closed",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
zendesk: { authProvisionId: "apn_xxxxxxx" },
categoryId: "Trigger Category ID",
customSubdomain: "Custom Subdomain",
},
webhookUrl: "https://example.com/webhooks/zendesk",
})
console.log(deployed.id)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "zendesk-ticket-closed",
"webhook_url": "https://example.com/webhooks/zendesk",
"configured_props": {
"zendesk": { "authProvisionId": "apn_xxxxxxx" },
"categoryId": "Trigger Category ID",
"customSubdomain": "Custom Subdomain"
}
}'MCP servers expose Zendesk actions as on-demand tools.
Ticket Closed (Instant) is an event source, so your application deploys it
with the Connect SDK or API and then either receives each event at a
webhook URL or retrieves events on demand with the trigger events API.MCP exposes on-demand actions. Event sources are deployed through the Connect SDK or API because they continue listening after the initial request.
SCHEMA
Configuration
These inputs define which events the source watches. Dynamic options are loaded from the connected account.
| Property | Type | Description |
|---|---|---|
categoryId Trigger Category ID | string | The ID of the trigger category. See the docs here Optional Dynamic |
customSubdomain Custom Subdomain | string | For Enterprise Zendesk accounts: optionally specify the subdomain to use. This will override the subdomain that was provided when connecting your Zendesk account to Pipedream. For example, if you Zendesk URL is https://examplehelp.zendesk.com, your subdomain is examplehelp Optional |
fields Fields | string[] | Ticket fields to be included in the incoming webhook payload Optional Dynamic |
jsonBody JSON Body | string | Custom JSON Body of the incoming payload. Setting jsonBody will overwrite the fields prop Optional |
LIFECYCLE
Event delivery
01
Connect
Your user authorizes Zendesk through Pipedream managed auth.
02
Deploy
Your backend deploys this source with that user's own configuration.
03
Webhook delivery
Every event is sent to the HTTP endpoint you choose when you deploy the source — as it happens.
OR
On-demand retrieval
No webhook required. Your app or agent can fetch recent events from the trigger events API.
REFERENCE
Trigger details
- Registry key
- zendesk-ticket-closed
- Version
- 0.2.19
- App
- Zendesk
- Authentication
- OAuth
- Delivery
- Instant event
- Output
- Events emitted by Zendesk.
- Source
- View on GitHub ↗