Pipedream · Arazzo Workflow

Pipedream Configure a Component Prop

Version 1.0.0

Retrieve a component, then fetch the remote options for one of its props.

1 workflow 1 source API 1 provider
View Spec View on GitHub ProCode_API_CompositionWorkflowsConnectMCPEmbedded IntegrationsManaged AuthAI AgentsArazzoWorkflows

Provider

pipedream

Workflows

configure-component-prop
Inspect a component and resolve the remote options for one of its props.
Retrieves the component to confirm its configurable props, then fetches the remote option values for the named prop for the external user.
2 steps inputs: componentId, configuredProps, environment, externalUserId, projectId, propName outputs: configurableProps, options
1
retrieveComponent
retrieveComponent
Retrieve the component to confirm its configurable props before resolving options for one of them.
2
configureProp
configureComponentProp
Fetch the remote option values for the named prop on behalf of the external user, supplying any dependent configured props.

Source API Descriptions

Arazzo Workflow Specification

pipedream-configure-component-prop-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Pipedream Configure a Component Prop
  summary: Retrieve a component, then fetch the remote options for one of its props.
  description: >-
    The dynamic-form pattern behind Pipedream Connect's component configuration.
    The workflow retrieves a component to learn its configurable props, then
    calls the configure endpoint to fetch the remote option values for a chosen
    prop on behalf of the external user. 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: pipedreamApi
  url: ../openapi/pipedream-openapi.yml
  type: openapi
workflows:
- workflowId: configure-component-prop
  summary: Inspect a component and resolve the remote options for one of its props.
  description: >-
    Retrieves the component to confirm its configurable props, then fetches the
    remote option values for the named prop for the external user.
  inputs:
    type: object
    required:
    - projectId
    - environment
    - externalUserId
    - componentId
    - propName
    properties:
      projectId:
        type: string
        description: The project ID, which starts with proj_.
      environment:
        type: string
        description: The Connect environment (development or production).
      externalUserId:
        type: string
        description: The end user identifier the options are resolved for.
      componentId:
        type: string
        description: The key of the component to configure.
      propName:
        type: string
        description: The name of the prop to resolve options for.
      configuredProps:
        type: object
        description: Any already-configured props that earlier props depend on.
  steps:
  - stepId: retrieveComponent
    description: >-
      Retrieve the component to confirm its configurable props before resolving
      options for one of them.
    operationId: retrieveComponent
    parameters:
    - name: project_id
      in: path
      value: $inputs.projectId
    - name: x-pd-environment
      in: header
      value: $inputs.environment
    - name: component_id
      in: path
      value: $inputs.componentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      componentName: $response.body#/data/name
      configurableProps: $response.body#/data/configurable_props
  - stepId: configureProp
    description: >-
      Fetch the remote option values for the named prop on behalf of the
      external user, supplying any dependent configured props.
    operationId: configureComponentProp
    parameters:
    - name: project_id
      in: path
      value: $inputs.projectId
    - name: x-pd-environment
      in: header
      value: $inputs.environment
    requestBody:
      contentType: application/json
      payload:
        id: $inputs.componentId
        external_user_id: $inputs.externalUserId
        prop_name: $inputs.propName
        configured_props: $inputs.configuredProps
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      options: $response.body#/options
      stringOptions: $response.body#/stringOptions
  outputs:
    configurableProps: $steps.retrieveComponent.outputs.configurableProps
    options: $steps.configureProp.outputs.options