Twilio · Arazzo Workflow

Twilio Reply to a Conversation and Track Delivery Receipts

Version 1.0.0

Confirm a conversation exists, post a reply message, then list the per-channel delivery receipts.

1 workflow 1 source API 1 provider
View Spec View on GitHub AuthenticationCommunicationsContact CenterEmailIoTMessagingPhoneSMST1VerificationVideoVoiceArazzoWorkflows

Provider

twilio

Workflows

conversation-reply-and-track-receipts
Verify a conversation, post a reply, and list its delivery receipts.
Fetches a conversation by SID, posts a reply message, then lists the delivery receipts for the posted message.
3 steps inputs: author, body, conversationSid outputs: messageSid, receipts
1
fetchConversation
Fetch the conversation by SID to confirm it exists and read its state.
2
postReply
Post the reply message into the conversation.
3
listReceipts
List the delivery receipts for the posted message to observe per-binding delivery state.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Twilio Reply to a Conversation and Track Delivery Receipts
  summary: Confirm a conversation exists, post a reply message, then list the per-channel delivery receipts.
  description: >-
    An agent or bot reply pattern for Twilio Conversations. The workflow first
    fetches the target conversation to confirm it exists and is active, posts a
    reply message into it, and then lists the delivery receipts for that message
    so the sender can observe per-binding delivery state. 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: conversationsApi
  url: ../openapi/twilio-conversations-api-openapi.yml
  type: openapi
workflows:
- workflowId: conversation-reply-and-track-receipts
  summary: Verify a conversation, post a reply, and list its delivery receipts.
  description: >-
    Fetches a conversation by SID, posts a reply message, then lists the
    delivery receipts for the posted message.
  inputs:
    type: object
    required:
    - conversationSid
    - body
    properties:
      conversationSid:
        type: string
        description: The SID of the existing conversation (starts with CH).
      author:
        type: string
        description: Optional author identity for the reply message.
      body:
        type: string
        description: The text content of the reply message.
  steps:
  - stepId: fetchConversation
    description: >-
      Fetch the conversation by SID to confirm it exists and read its state.
    operationId: FetchConversation
    parameters:
    - name: Sid
      in: path
      value: $inputs.conversationSid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      state: $response.body#/state
    onSuccess:
    - name: active
      type: goto
      stepId: postReply
      criteria:
      - context: $response.body
        condition: $.state != "closed"
        type: jsonpath
    - name: closed
      type: end
      criteria:
      - context: $response.body
        condition: $.state == "closed"
        type: jsonpath
  - stepId: postReply
    description: >-
      Post the reply message into the conversation.
    operationId: CreateConversationMessage
    parameters:
    - name: ConversationSid
      in: path
      value: $inputs.conversationSid
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        Author: $inputs.author
        Body: $inputs.body
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messageSid: $response.body#/sid
  - stepId: listReceipts
    description: >-
      List the delivery receipts for the posted message to observe per-binding
      delivery state.
    operationId: ListConversationMessageReceipt
    parameters:
    - name: ConversationSid
      in: path
      value: $inputs.conversationSid
    - name: MessageSid
      in: path
      value: $steps.postReply.outputs.messageSid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      receipts: $response.body#/delivery_receipts
  outputs:
    messageSid: $steps.postReply.outputs.messageSid
    receipts: $steps.listReceipts.outputs.receipts

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/twilio-conversation-reply-and-track-receipts-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.