{"openapi":"3.1.0","info":{"title":"Zendesk Talk (BYOK) API","version":"0.1.0","description":"Zendesk Talk (BYOK) lets an AI assistant read your own Zendesk Talk data through the Zendesk Talk API with a key you supply (agent email address followed by /token, for example you@example.com/token). Read-only: 10 tools (get_current_queue_activity, get_account_overview, get_agents_overview, list_agents_activity, list_phone_numbers, get_phone_number, list_ivrs, get_ivr, list_greetings,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-zendesk-talk.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-zendesk-talk/docs"},"termsOfService":"https://connectorbay.com/byok-zendesk-talk/terms"},"servers":[{"url":"https://byok-zendesk-talk.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-zendesk-talk/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_current_queue_activity":{"post":{"operationId":"get_current_queue_activity","summary":"Get the live call queue: agents online, calls and callbacks waiting, average and longest wait time. Use for \"How many ca","description":"Get the live call queue: agents online, calls and callbacks waiting, average and longest wait time. Use for \"How many calls are waiting in Zendesk Talk right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"get_current_queue_activityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_account_overview":{"post":{"operationId":"get_account_overview","summary":"Get today's call statistics for the account (since midnight in the account time zone): totals for calls, inbound, outbou","description":"Get today's call statistics for the account (since midnight in the account time zone): totals for calls, inbound, outbound, voicemails, abandoned calls and average durations in seconds. Use for \"How did Zendesk Talk do today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"get_account_overviewArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_agents_overview":{"post":{"operationId":"get_agents_overview","summary":"Get today's team-level agent statistics: calls accepted, denied, missed, held and transferred, talk, hold and wrap-up ti","description":"Get today's team-level agent statistics: calls accepted, denied, missed, held and transferred, talk, hold and wrap-up time, with totals and averages in seconds. Use for \"How busy were Zendesk Talk agents today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"get_agents_overviewArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_agents_activity":{"post":{"operationId":"list_agents_activity","summary":"List each agent's call activity for today: online and available time, calls accepted, denied and missed, talk and wrap-u","description":"List each agent's call activity for today: online and available time, calls accepted, denied and missed, talk and wrap-up time. Forwarding numbers are not returned. Use for \"Which Zendesk Talk agents took the most calls today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"list_agents_activityArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_phone_numbers":{"post":{"operationId":"list_phone_numbers","summary":"List the Talk phone lines of the account with nickname, location, capabilities, recording and outbound settings, IVR and","description":"List the Talk phone lines of the account with nickname, location, capabilities, recording and outbound settings, IVR and groups. Not available on trial accounts. Use for \"Which phone numbers are set up in Zendesk Talk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"list_phone_numbersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_phone_number":{"post":{"operationId":"get_phone_number","summary":"Get one Talk phone line by id with nickname, location, capabilities, recording and outbound settings, IVR and groups. Us","description":"Get one Talk phone line by id with nickname, location, capabilities, recording and outbound settings, IVR and groups. Use for \"Is call recording on for Zendesk Talk line 900000120986\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"},"phone_number_id":{"description":"The phone number id, for example 900000120986.","minimum":1,"title":"Phone Number Id","type":"integer"}},"required":["subdomain","phone_number_id"],"title":"get_phone_numberArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_ivrs":{"post":{"operationId":"list_ivrs","summary":"List IVR menus with name, linked phone lines, SIP lines and the menu routes (keypress, action, option text). Use for \"Wh","description":"List IVR menus with name, linked phone lines, SIP lines and the menu routes (keypress, action, option text). Use for \"What IVR menus are set up in Zendesk Talk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"list_ivrsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_ivr":{"post":{"operationId":"get_ivr","summary":"Get one IVR with its menus, greetings and routes. Use for \"How does IVR 10001 route callers\".","description":"Get one IVR with its menus, greetings and routes. Use for \"How does IVR 10001 route callers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"},"ivr_id":{"description":"The IVR id, for example 10001.","minimum":1,"title":"Ivr Id","type":"integer"}},"required":["subdomain","ivr_id"],"title":"get_ivrArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_greetings":{"post":{"operationId":"list_greetings","summary":"List voicemail and availability greetings with name, category, active and system-default flags (audio files are not down","description":"List voicemail and availability greetings with name, category, active and system-default flags (audio files are not downloaded). Use for \"Which greetings are configured in Zendesk Talk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"list_greetingsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_greeting_categories":{"post":{"operationId":"list_greeting_categories","summary":"List the greeting categories (such as voicemail and available) that greetings are assigned to. Use for \"What greeting ca","description":"List the greeting categories (such as voicemail and available) that greetings are assigned to. Use for \"What greeting categories exist in Zendesk Talk\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subdomain":{"description":"Your Zendesk subdomain: the part before .zendesk.com, for example 'mycompany' for mycompany.zendesk.com.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Subdomain","type":"string"}},"required":["subdomain"],"title":"list_greeting_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}