Cross-Provider Workflow

Ticket Escalation to Email Notification

Version 1.0.0

Escalate a Zendesk ticket by updating its priority, then email a manager.

1 workflow 2 source APIs 2 providers
View Spec View on GitHub ArazzoWorkflowsCross-Provider

Providers Orchestrated

zendesk sendgrid

Workflows

escalate-ticket-email
Update a Zendesk ticket to escalate it, then email a manager.
Updates a Zendesk ticket to raise its priority and status, then sends an escalation email to the responsible manager via SendGrid.
2 steps inputs: fromEmail, managerEmail, priority, ticketId outputs: emailStatus, ticketId, ticketPriority
1
escalate-ticket
$sourceDescriptions.zendeskTickets.UpdateTicket
Update the Zendesk ticket to escalate priority and status.
2
email-manager
$sourceDescriptions.sendgridMail.SendMail
Send an escalation email to the manager via SendGrid.

Source API Descriptions

Arazzo Workflow Specification

itsm-ticket-escalation-to-email.yml Raw ↑
arazzo: 1.0.1
info:
  title: Ticket Escalation to Email Notification
  summary: Escalate a Zendesk ticket by updating its priority, then email a manager.
  description: >-
    A cross-provider ITSM workflow that escalates an existing Zendesk ticket by
    raising its priority and status, then notifies the responsible manager by
    email through the SendGrid Mail Send API. Demonstrates orchestrating a
    support desk with a transactional email provider in a single Arazzo workflow.
  version: 1.0.0
sourceDescriptions:
  - name: zendeskTickets
    url: https://raw.githubusercontent.com/api-evangelist/zendesk/refs/heads/main/openapi/tickets-openapi-original.yml
    type: openapi
  - name: sendgridMail
    url: https://raw.githubusercontent.com/api-evangelist/sendgrid/refs/heads/main/openapi/tsg_mail_v3.yaml
    type: openapi
workflows:
  - workflowId: escalate-ticket-email
    summary: Update a Zendesk ticket to escalate it, then email a manager.
    description: >-
      Updates a Zendesk ticket to raise its priority and status, then sends an
      escalation email to the responsible manager via SendGrid.
    inputs:
      type: object
      properties:
        ticketId:
          type: integer
        priority:
          type: string
        managerEmail:
          type: string
        fromEmail:
          type: string
    steps:
      - stepId: escalate-ticket
        description: Update the Zendesk ticket to escalate priority and status.
        operationId: $sourceDescriptions.zendeskTickets.UpdateTicket
        requestBody:
          contentType: application/json
          payload:
            ticket:
              priority: $inputs.priority
              status: open
        successCriteria:
          - condition: $statusCode == 200
        outputs:
          ticketId: $response.body#/ticket/id
          ticketPriority: $response.body#/ticket/priority
      - stepId: email-manager
        description: Send an escalation email to the manager via SendGrid.
        operationId: $sourceDescriptions.sendgridMail.SendMail
        requestBody:
          contentType: application/json
          payload:
            personalizations:
              - to:
                  - email: $inputs.managerEmail
                subject: Support ticket escalated
            from:
              email: $inputs.fromEmail
            content:
              - type: text/plain
                value: A support ticket has been escalated and needs your attention.
        successCriteria:
          - condition: $statusCode == 202
        outputs:
          emailStatus: $statusCode
    outputs:
      ticketId: $steps.escalate-ticket.outputs.ticketId
      ticketPriority: $steps.escalate-ticket.outputs.ticketPriority
      emailStatus: $steps.email-manager.outputs.emailStatus