arazzo: 1.0.1
info:
title: Zendesk Find User and Open Ticket
summary: Search for an existing user, then open a ticket requested by that user.
description: >-
A find-then-act intake pattern for Zendesk Support. The workflow searches
users for the requester, branches on whether a match was found, and when
found opens a ticket with that user set as the requester. The ticket body
uses the documented {ticket:{...}} envelope and is spelled out inline.
version: 1.0.0
x-realizes-capability-ids:
- BC-430.10
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-430.10
capability_name: Customer Inquiry Management
spec: zendesk-tickets-api-openapi.yml
confidence: 0.92
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: ticketsApi
url: ../openapi/zendesk-tickets-api-openapi.yml
type: openapi
- name: usersApi
url: ../openapi/zendesk-users-api-openapi.yml
type: openapi
workflows:
- workflowId: find-user-and-open-ticket
summary: Resolve a requester by query and open a ticket for them.
description: >-
Searches users for the requester and, when found, opens a ticket requested
by that user.
inputs:
type: object
required:
- userQuery
- subject
- commentBody
properties:
userQuery:
type: string
description: A name, email, or other query identifying the requester.
subject:
type: string
description: The subject line of the new ticket.
commentBody:
type: string
description: The body of the first public comment on the ticket.
steps:
- stepId: findUser
description: Search users for the requester.
operationId: SearchUsers
parameters:
- name: query
in: query
value: $inputs.userQuery
successCriteria:
- condition: $statusCode == 200
outputs:
requesterId: $response.body#/users/0/id
onSuccess:
- name: userFound
type: goto
stepId: openTicket
criteria:
- context: $response.body
condition: $.users.length > 0
type: jsonpath
- stepId: openTicket
description: Open a ticket with the resolved user as the requester.
operationId: CreateTicket
requestBody:
contentType: application/json
payload:
ticket:
subject: $inputs.subject
comment:
body: $inputs.commentBody
public: true
requester_id: $steps.findUser.outputs.requesterId
successCriteria:
- condition: $statusCode == 201
outputs:
ticketId: $response.body#/ticket/id
outputs:
requesterId: $steps.findUser.outputs.requesterId
ticketId: $steps.openTicket.outputs.ticketId
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.