Twilio · Arazzo Workflow

Twilio Trigger a Studio Flow Execution

Version 1.0.0

Trigger an execution of a published Studio Flow for a contact, then fetch the execution status.

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

Provider

twilio

Workflows

trigger-studio-execution
Trigger a Studio Flow execution for a contact and fetch its status.
Creates a new Execution of a published Studio Flow for a contact, then fetches the Execution by SID to confirm its status.
2 steps inputs: flowSid, from, parameters, to outputs: executionSid, status
1
triggerExecution
CreateExecution
Trigger a new Execution of the published Studio Flow for the contact.
2
fetchExecution
FetchExecution
Fetch the Execution by SID to read its current status.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Twilio Trigger a Studio Flow Execution
  summary: Trigger an execution of a published Studio Flow for a contact, then fetch the execution status.
  description: >-
    The core Twilio Studio automation pattern. This workflow triggers a new
    Execution of an already published Studio Flow for a given contact, then
    fetches that Execution back by SID to read its current status. Each 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: studioApi
  url: ../openapi/studio-openapi-original.yml
  type: openapi
workflows:
- workflowId: trigger-studio-execution
  summary: Trigger a Studio Flow execution for a contact and fetch its status.
  description: >-
    Creates a new Execution of a published Studio Flow for a contact, then
    fetches the Execution by SID to confirm its status.
  inputs:
    type: object
    required:
    - flowSid
    - to
    - from
    properties:
      flowSid:
        type: string
        description: The SID of the published Studio Flow to execute (starts with FW).
        example: FWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      to:
        type: string
        description: The contact phone number to start the Flow Execution for (E.164).
        example: '+15005550006'
      from:
        type: string
        description: The Twilio phone number (or Messaging Service SID) the Flow sends from.
        example: '+15005550006'
      parameters:
        type: string
        description: >-
          Optional JSON string of Flow parameters added to the Flow context,
          e.g. '{"name":"Zeke"}'. Must be passed as a string, not an object.
        example: '{"name":"Zeke"}'
  steps:
  - stepId: triggerExecution
    description: >-
      Trigger a new Execution of the published Studio Flow for the contact.
    operationId: CreateExecution
    parameters:
    - name: FlowSid
      in: path
      value: $inputs.flowSid
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        To: $inputs.to
        From: $inputs.from
        Parameters: $inputs.parameters
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      executionSid: $response.body#/sid
      status: $response.body#/status
  - stepId: fetchExecution
    description: >-
      Fetch the Execution by SID to read its current status.
    operationId: FetchExecution
    parameters:
    - name: FlowSid
      in: path
      value: $inputs.flowSid
    - name: Sid
      in: path
      value: $steps.triggerExecution.outputs.executionSid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      executionSid: $response.body#/sid
      status: $response.body#/status
  outputs:
    executionSid: $steps.triggerExecution.outputs.executionSid
    status: $steps.fetchExecution.outputs.status