domain: zendesk
version: "1.0"
base_url: https://your-domain.zendesk.com
auth:
type: bearer
env: ZENDESK_API_TOKEN
tools:
- name: create_ticket
description: Create a new support ticket.
method: POST
path: /api/v2/tickets
body:
- name: subject
type: string
required: true
description: The subject line of the ticket.
- name: body
type: string
required: true
description: The initial comment or description.
- name: priority
type: string
required: false
description: "Ticket priority: low, normal, high, or urgent."
default: normal
enum: [low, normal, high, urgent]
- name: requester_email
type: string
required: false
description: Email of the person filing the ticket.
- name: list_tickets
description: List tickets, optionally filtered by status.
method: GET
path: /api/v2/tickets
params:
- name: status
type: string
required: false
description: "Filter by status: new, open, pending, solved, closed."
enum: [new, open, pending, solved, closed]
- name: page
type: number
required: false
description: Page number for pagination.
default: 1
- name: get_ticket
description: Get a single ticket by ID.
method: GET
path: /api/v2/tickets/{ticket_id}
params:
- name: ticket_id
type: number
required: true
description: The ticket ID.
triggers:
- type: webhook
name: on_ticket_created
description: Fires when a new ticket is created in Zendesk.
path: /webhooks/zendesk/ticket-created
event: ticket.created
secret_env: ZENDESK_WEBHOOK_SECRET
- type: schedule
name: check_sla_breaches
description: Check for SLA breaches every 15 minutes.
cron: "*/15 * * * *"