Zapier · Arazzo Workflow

Zapier Inspect an Action Schema

Version 1.0.0

List an app's actions, then fetch both the input and output field schemas for a chosen action.

1 workflow 1 source API 1 provider
View Spec View on GitHub IntegrationsiPaaSArazzoWorkflows

Provider

zapier

Workflows

inspect-action-schema
Retrieve the full input and output field schema for a single action.
Lists the actions for an app, then reads the input field schema and the output field schema for the target action so callers know both what to supply and what to expect back.
3 steps inputs: accessToken, actionId, appId, authentication outputs: inputFields, outputFields
1
listActions
get-actions
List the actions exposed by the app so the target action id can be confirmed before reading its schema.
2
resolveInputFields
get-fields-inputs
Fetch the input field definitions for the target action, describing what the action consumes.
3
resolveOutputFields
get-fields-outputs
Fetch the output field definitions for the target action, describing what the action produces.

Source API Descriptions

Arazzo Workflow Specification

zapier-inspect-action-schema-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Zapier Inspect an Action Schema
  summary: List an app's actions, then fetch both the input and output field schemas for a chosen action.
  description: >-
    A schema-introspection flow for understanding what an action consumes and
    produces. It lists the actions an app exposes, fetches the input field
    definitions for the target action, and fetches the output field definitions
    for the same action so the full request/response shape is known before
    building a Zap step. 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: zapierPartnerApi
  url: ../openapi/zapier-partner-api.yml
  type: openapi
workflows:
- workflowId: inspect-action-schema
  summary: Retrieve the full input and output field schema for a single action.
  description: >-
    Lists the actions for an app, then reads the input field schema and the
    output field schema for the target action so callers know both what to
    supply and what to expect back.
  inputs:
    type: object
    required:
    - accessToken
    - appId
    - actionId
    - authentication
    properties:
      accessToken:
        type: string
        description: OAuth2 bearer token used in the Authorization header.
      appId:
        type: string
        description: Canonical App ID (UUID) as provided by the /apps endpoint.
      actionId:
        type: string
        description: The Action ID whose input and output schemas are needed.
      authentication:
        type: string
        description: The Authentication ID granting access to the third-party app.
  steps:
  - stepId: listActions
    description: >-
      List the actions exposed by the app so the target action id can be
      confirmed before reading its schema.
    operationId: get-actions
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: app
      in: query
      value: $inputs.appId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      actions: $response.body#/0/data
  - stepId: resolveInputFields
    description: >-
      Fetch the input field definitions for the target action, describing what
      the action consumes.
    operationId: get-fields-inputs
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: action_id
      in: path
      value: $inputs.actionId
    requestBody:
      contentType: application/json
      payload:
        data:
          authentication: $inputs.authentication
          inputs: {}
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      inputFields: $response.body#/data
  - stepId: resolveOutputFields
    description: >-
      Fetch the output field definitions for the target action, describing what
      the action produces.
    operationId: get-fields-outputs
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: action_id
      in: path
      value: $inputs.actionId
    requestBody:
      contentType: application/json
      payload:
        data:
          authentication: $inputs.authentication
          inputs: {}
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      outputFields: $response.body#/data
  outputs:
    inputFields: $steps.resolveInputFields.outputs.inputFields
    outputFields: $steps.resolveOutputFields.outputs.outputFields