Pipedream · Schema

ConfigurablePropBase

A configuration or input field for a component.

ProCode_API_CompositionWorkflowsConnectMCPEmbedded IntegrationsManaged AuthAI Agents

Properties

Name Type Description
name string When building `configuredProps`, make sure to use this field as the key when setting the prop value
type string
label string Value to use as an input label. In cases where `type` is "app", should load the app via `getApp`, etc. and show `app.name` instead.
description string A description of the prop, shown to the user when configuring the component.
optional boolean If true, this prop does not need to be specified.
disabled boolean If true, this prop will be ignored.
readOnly boolean If true, this prop is read-only — its value is either fixed by the component author (`static`) or the prop is purely informational (e.g. `alert`, `dir`). Connect clients should render it without treat
hidden boolean If true, should not expose this prop to the user
remoteOptions boolean If true, call `configureComponent` for this prop to load remote options. It is safe, and preferred, given a returned list of { label: string; value: any } objects to set the prop value to { __lv: { la
useQuery boolean If true, calls to `configureComponent` for this prop support receiving a `query` parameter to filter remote options
reloadProps boolean If true, after setting a value for this prop, a call to `reloadComponentProps` is required as the component has dynamic configurable props dependent on this one
withLabel boolean If true, you must save the configured prop value as a "label-value" object which should look like: { __lv: { label: string; value: any } } because the execution needs to access the label
View JSON Schema on GitHub

JSON Schema

pipedream-configurablepropbase-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ConfigurablePropBase",
  "title": "ConfigurablePropBase",
  "type": "object",
  "description": "A configuration or input field for a component.",
  "required": [
    "name",
    "type"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "When building `configuredProps`, make sure to use this field as the key when setting the prop value"
    },
    "type": {
      "type": "string",
      "enum": [
        "$.airtable.baseId",
        "$.airtable.fieldId",
        "$.airtable.tableId",
        "$.airtable.viewId",
        "$.discord.channel",
        "$.discord.channel[]",
        "$.interface.apphook",
        "$.interface.http",
        "$.interface.timer",
        "$.service.db",
        "alert",
        "any",
        "app",
        "boolean",
        "data_store",
        "dir",
        "http_request",
        "integer",
        "integer[]",
        "object",
        "sql",
        "string",
        "string[]"
      ],
      "x-fern-enum": {
        "$.discord.channel[]": {
          "name": "DiscordChannelArray"
        },
        "integer[]": {
          "name": "IntegerArray"
        },
        "string[]": {
          "name": "StringArray"
        }
      }
    },
    "label": {
      "type": "string",
      "description": "Value to use as an input label. In cases where `type` is \"app\", should load the app via `getApp`, etc. and show `app.name` instead.",
      "nullable": true
    },
    "description": {
      "type": "string",
      "description": "A description of the prop, shown to the user when configuring the component.",
      "nullable": true
    },
    "optional": {
      "type": "boolean",
      "description": "If true, this prop does not need to be specified.",
      "nullable": true
    },
    "disabled": {
      "type": "boolean",
      "description": "If true, this prop will be ignored.",
      "nullable": true
    },
    "readOnly": {
      "type": "boolean",
      "description": "If true, this prop is read-only \u2014 its value is either fixed by the component author (`static`) or the prop is purely informational (e.g. `alert`, `dir`). Connect clients should render it without treating it as a configurable input.",
      "nullable": true
    },
    "hidden": {
      "type": "boolean",
      "description": "If true, should not expose this prop to the user",
      "nullable": true
    },
    "remoteOptions": {
      "type": "boolean",
      "description": "If true, call `configureComponent` for this prop to load remote options. It is safe, and preferred, given a returned list of { label: string; value: any } objects to set the prop value to { __lv: { label: string; value: any } }. This way, on load, you can access label for the value without necessarily reloading these options",
      "nullable": true
    },
    "useQuery": {
      "type": "boolean",
      "description": "If true, calls to `configureComponent` for this prop support receiving a `query` parameter to filter remote options",
      "nullable": true
    },
    "reloadProps": {
      "type": "boolean",
      "description": "If true, after setting a value for this prop, a call to `reloadComponentProps` is required as the component has dynamic configurable props dependent on this one",
      "nullable": true
    },
    "withLabel": {
      "type": "boolean",
      "description": "If true, you must save the configured prop value as a \"label-value\" object which should look like: { __lv: { label: string; value: any } } because the execution needs to access the label",
      "nullable": true
    }
  }
}