Connecting Voice Agents to Zendesk
Zendesk is the dominant ticketing and support platform for mid-market and enterprise customer service, and it's where most voice agent-handled support interactions need to land.
Zendesk is the dominant ticketing and support platform for mid-market and enterprise customer service, and it's where most voice agent-handled support interactions need to land. Tickets created, updated, and routed through Zendesk with clean context from the voice agent turn into real operational leverage โ human agents pick up where the AI left off, reporting aggregates across channels, and the whole support function operates coherently. Miss the integration and you've got an AI siloed from the rest of support.
This piece covers the Zendesk integration patterns for voice AI, auth, ticket modeling, and the operational considerations.
TL;DR
- Zendesk's REST API is well-documented; integration is less complex than Salesforce.
- OAuth 2.0 or API Token auth depending on deployment model.
- Model voice agent calls as Tickets with Call macros, or as separate Voice objects if using Zendesk Talk.
- Use Triggers and Automations to route AI-created tickets to the right team.
- Zendesk Talk is Zendesk's own voice channel; voice AI integrates with or alongside it.
The integration options
Ticket-based integration. Voice agent creates a Zendesk Ticket for each call that needs follow-up. Rich context in the ticket body, proper requester mapping, relevant tags. Works without Zendesk Talk.
Zendesk Talk integration. If using Zendesk Talk (Zendesk's voice product), voice AI calls can appear as Talk-channel tickets. Native to Zendesk's data model. Requires additional configuration.
Custom Objects. For deployments that need voice-specific data modeling beyond Tickets. Less common.
Most deployments start with Ticket-based and layer in Talk integration if and when it matters.
Authentication
API Token.
Simplest. Admin creates an API token tied to a user account. Use token for Basic Auth with [email protected]/token as username and the token as password.
OAuth 2.0. Required for Marketplace apps. More complex; user-consented.
JWT. For SSO-integrated scenarios.
For most voice AI integrations, API Token auth is sufficient and clean.
The REST API basics
Base URL: https://{subdomain}.zendesk.com/api/v2/
Key endpoints:
POST /tickets.jsonโ create a ticket.GET /tickets/{id}.jsonโ read a ticket.PUT /tickets/{id}.jsonโ update a ticket.GET /users/search.json?query=phone:+15551234567โ find user by phone.POST /users.jsonโ create a user.POST /tickets/{id}/comments.jsonโ add a comment.
Documentation: Zendesk Developer portal. Version stable; API v2 has been current for years.
Lookup by phone number
Zendesk stores phone in the phone field on users. Search:
GET /users/search.json?query=phone:+15551234567
Returns matching users. Multiple matches possible โ most recent wins, or ask caller for email to disambiguate.
If no match, create the user before creating the ticket:
POST /users.json
{
"user": {
"name": "Jamie Patel",
"phone": "+15551234567",
"email": "[email protected]",
"verified": false
}
}
Creating tickets from calls
POST /tickets.json
{
"ticket": {
"subject": "Inbound support call โ account verification issue",
"comment": {
"body": "AI voice agent call at 2026-04-16 14:23 UTC.\n\nCaller: Jamie Patel (+15551234567).\nIssue summary: Can't log in after password reset.\n\nTranscript:\n[Full transcript]\n\nCalled handled by AI; escalated for tier-2 review.",
"public": false
},
"requester_id": "{UserId}",
"type": "question",
"priority": "normal",
"tags": ["voice-ai", "escalation", "login-issue"],
"custom_fields": [
{"id": 36000012345, "value": "ai-voice-agent"},
{"id": 36000067890, "value": "3m 45s"}
]
}
}
public: false makes the comment an internal note (not visible to the customer). Toggle based on use case.
Adding comments to existing tickets
If a caller is following up on an existing ticket:
POST /tickets/{id}/comments.json
{
"comment": {
"body": "Follow-up call from AI agent. Caller confirmed issue is resolved.",
"public": false,
"author_id": "{AgentUserId}"
}
}
Escalation and routing
Zendesk uses Triggers and Automations for routing:
- Triggers run on ticket creation/update. Route based on tags, subject, channel, etc.
- Automations run on time-based conditions. Escalate after X hours.
Design tags and custom fields that Triggers can act on. Example:
- Tag
voice-aiโ routes to voice-specialist team. - Custom field "Requires Human Review" = true โ assigns to tier-2.
- Priority = "urgent" โ pages on-call.
Work with the Zendesk admin to set up or adjust Triggers for your voice AI workflow.
Zendesk Talk integration
For orgs using Zendesk Talk:
- Voice AI can be configured as a Talk handler.
- Inbound calls route through Talk with AI as first-line.
- Talk tickets carry voice-specific fields (call duration, recording URL, etc.).
- Reports aggregate voice + chat + email in one view.
Talk integration has more moving parts but native-feels once configured.
Custom fields
Most Zendesk orgs have custom fields:
- Product area (multi-select).
- Issue category (dropdown).
- SLA tier (dropdown).
- Voice-AI-specific: call duration, transcript URL, AI confidence, etc.
Get the list from the admin. Populate relevant fields on ticket creation.
Rate limits
Zendesk rate limits (2026):
- Standard: 700 requests/minute per account (varies by plan).
- Burst: higher briefly.
- Concurrent: up to 20 parallel requests.
Implement retry with backoff on 429. Use bulk endpoints for large batches.
Macros
Zendesk macros are templated responses. Voice agents can apply macros when creating tickets to pre-fill common responses:
POST /tickets/{id}/macros/{macro_id}/apply.json
Useful for standardized handoffs (e.g., "Voice agent escalation โ requires tier-2 review").
Merging and deduplication
Voice agent creates a ticket. Turns out it's a duplicate of one from earlier today. Handling:
- Check for existing open tickets before creating new.
- If found and related, add as comment rather than creating new.
- Merge ticket API if you need to consolidate later.
Duplicates frustrate support teams. Design for it.
Webhooks and real-time events
Zendesk webhooks fire on ticket events:
- Ticket created.
- Ticket updated.
- Comment added.
- Ticket assigned.
Useful for triggering downstream workflows (e.g., "new AI-created ticket โ notify voice AI QA team in Slack").
Organizations
Zendesk Organizations group users:
- B2B orgs often use Organization for each customer company.
- Voice agent lookup can include Organization for context.
- Permissions and views often filter by Organization.
For B2B voice AI, surface Organization context in the ticket.
Common pitfalls
User mismatching. Phone number match returns wrong person in families or shared phones. Confirm identity.
Tag proliferation. Over time, dozens of voice-AI-specific tags accumulate. Coordinate with admin.
Trigger loops. Bad trigger rules can create infinite update loops between AI writes and Zendesk automations.
Attachment handling. Voice AI might want to attach audio recording or transcript file. Zendesk supports attachments but has size limits.
Public vs private comments. Getting this wrong shows internal notes to customers or hides updates customers should see.
Integration architecture
Pattern:
- Voice agent โ middleware โ Zendesk API.
- Middleware handles auth, rate limiting, retries, field mapping.
- Async batch writes for low-priority data (e.g., call analytics).
- Sync writes for caller-visible actions.
Testing
- Zendesk sandbox for development.
- Test users and tickets not real customer data.
- Integration user with minimum permissions.
- Mock error scenarios โ rate limits, validation, auth failures.
Related reading
- Twilio + Voice Agents: A Complete Guide
- Sending Voice Agent Transcripts to Slack
- Connecting Voice Agents to Snowflake or BigQuery
- How to Port a Phone Number to Your Voice Agent
- Setting Up Toll-Free Verification for AI Calling
FAQ
Do we need Zendesk Talk to integrate voice AI? No. Ticket-based integration works without Talk.
Can AI close tickets? Yes, if the call resolved the issue and it's safe to auto-close. Most deployments create with "open" and let humans confirm resolution.
What about Zendesk Sell (CRM)? Separate product with its own API. Integration pattern similar.
Can we route AI tickets to specific groups? Yes, via Triggers matching on tags or custom fields.
How do we handle voice recordings in Zendesk? Store recording URL in a custom field; link rather than attach to avoid size limits.

Tyler Weitzman is co-founder and Head of AI at Speechify. He has spent the past decade building the speech-synthesis stack that powers millions of users. Tyler writes about the engineering of real-time conversational systems โ text-to-speech, speech recognition, latency budgets, model serving, and the architectural choices that separate prototypes from production-grade voice agents.
More from Tyler Weitzman
View all โOpen-Source vs Proprietary Voice Agent Stacks
The open-source voice AI stack in 2026 is genuinely good. Whisper and its derivatives handle STT. Open-weight LLMs like Llama 3/4, Qwen, Mistral handle the reasoning. Open-source TTS (XTTS, StyleTTS, Orpheus-class) handles output.
Build vs Buy: When to Build Your Own Voice Agent
Build-vs-buy for voice agents in 2026 is a different conversation than it was two years ago. Then, the open-source stack was rough and most serious deployments ended up building.
Voice Agents for Developer Support
Developer support is a strange category. Developers don't generally want to call anyone. They want Stack Overflow, they want clear docs, they want an LLM that can read their code.
Related reading
Sending Voice Agent Transcripts to Slack
Slack is where most teams live in 2026, and for voice agent deployments, getting call transcripts and key events into Slack closes a critical ops loop. Escalations land in the right channel with context. QA reviews happen where the team already works.
Connecting Voice Agents to Snowflake or BigQuery
Voice agent deployments generate a lot of data. Every call produces a transcript, metadata (duration, outcome, caller info), function-call traces, sentiment signals, and operational metrics.
How to Port a Phone Number to Your Voice Agent
You already have a phone number that customers know. Your main line, published on your website, business cards, Google. You can't afford to change it.
Voice AI, twice a month.
Get the best of the SIMBA resources hub โ new articles, trend notes, and operator guides. No spam.
