Merge · Arazzo Workflow

Merge Ticketing Open a Ticket with a First Comment

Version 1.0.0

Create a ticket on a linked ticketing system, add an opening comment to it, and confirm the ticket.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub IntegrationPlatformUnified-APIAgent HandlerLLM GatewayArazzoWorkflows

Provider

merge

Workflows

create-ticket-with-comment
Create a ticket and post an opening comment onto it.
Creates a ticket, adds a first comment referencing the created ticket, and confirms the ticket.
3 steps inputs: accountToken, authorization, commentBody, description, status, ticketName outputs: commentId, status, ticketId
1
createTicket
{$sourceDescriptions.subpackageTicketsApi.url}#/paths/~1ticketing~1v1~1tickets/post
Create the ticket from the supplied name, description, and status.
2
addComment
{$sourceDescriptions.subpackageCommentsApi.url}#/paths/~1ticketing~1v1~1comments/post
Post an opening comment onto the newly created ticket.
3
confirmTicket
{$sourceDescriptions.subpackageTicketsApi.url}#/paths/~1ticketing~1v1~1tickets~1{id}/get
Read the created ticket back to confirm it was persisted.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Merge Ticketing Open a Ticket with a First Comment
  summary: Create a ticket on a linked ticketing system, add an opening comment to it, and confirm the ticket.
  description: >-
    A core ticketing write pattern. The workflow creates a ticket with a name,
    description, and status, posts an opening comment onto the new ticket, and
    then reads the ticket back to confirm it was persisted. Every step spells
    out its request inline so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: subpackageCommentsApi
  url: ../openapi/merge-subpackage-comments-api-openapi.yml
  type: openapi
- name: subpackageTicketsApi
  url: ../openapi/merge-subpackage-tickets-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-ticket-with-comment
  summary: Create a ticket and post an opening comment onto it.
  description: >-
    Creates a ticket, adds a first comment referencing the created ticket, and
    confirms the ticket.
  inputs:
    type: object
    required:
    - authorization
    - accountToken
    - ticketName
    - commentBody
    properties:
      authorization:
        type: string
        description: Production access token with the required "Bearer " prefix.
      accountToken:
        type: string
        description: The account token identifying the linked ticketing end user.
      ticketName:
        type: string
        description: The title of the ticket to create.
      description:
        type: string
        description: The ticket's body description.
      status:
        type: string
        description: The ticket status (e.g. OPEN, IN_PROGRESS, ON_HOLD, CLOSED).
      commentBody:
        type: string
        description: The text of the opening comment to post on the ticket.
  steps:
  - stepId: createTicket
    description: >-
      Create the ticket from the supplied name, description, and status.
    operationPath: '{$sourceDescriptions.subpackageTicketsApi.url}#/paths/~1ticketing~1v1~1tickets/post'
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $inputs.accountToken
    requestBody:
      contentType: application/json
      payload:
        model:
          name: $inputs.ticketName
          description: $inputs.description
          status: $inputs.status
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      ticketId: $response.body#/model/id
  - stepId: addComment
    description: >-
      Post an opening comment onto the newly created ticket.
    operationPath: '{$sourceDescriptions.subpackageCommentsApi.url}#/paths/~1ticketing~1v1~1comments/post'
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $inputs.accountToken
    requestBody:
      contentType: application/json
      payload:
        model:
          ticket: $steps.createTicket.outputs.ticketId
          body: $inputs.commentBody
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      commentId: $response.body#/model/id
  - stepId: confirmTicket
    description: >-
      Read the created ticket back to confirm it was persisted.
    operationPath: '{$sourceDescriptions.subpackageTicketsApi.url}#/paths/~1ticketing~1v1~1tickets~1{id}/get'
    parameters:
    - name: id
      in: path
      value: $steps.createTicket.outputs.ticketId
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: X-Account-Token
      in: header
      value: $inputs.accountToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ticketId: $response.body#/id
      status: $response.body#/status
  outputs:
    ticketId: $steps.confirmTicket.outputs.ticketId
    commentId: $steps.addComment.outputs.commentId
    status: $steps.confirmTicket.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/merge-ticketing-create-ticket-with-comment-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

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.

A second provider on the same verified email joins the account you already have.