Learn how to define and configure workflows as code within a Paragraph project.
workflows/
subfolder for each workflow for the integration.config.ts
configures the display settings for the Connect Portal used for this integration, including the description and overview text. See more below in Configuring an Integration.inputs.ts
configures integration-level User Settings exposed to your customers in the Connect Portal. For example, if you need to prompt your users to select a Field Mapping for Salesforce or a Destination Folder for Google Drive, you can define a User Setting. See more below in Configuring User Settings.createInputs
function.
"fieldMapping"
) is how you will reference this input in other Paragraph workflows.
id
property of the object is how you will reference the value of this User Setting in the SDK or API and must be a stable identifier. Changing this property will result in existing selections for this setting losing their values in your customers’ Connect Portal.
type
property of the object refers to the type of User Setting that is shown. Standard options include "text"
, "boolean"
, "number"
, and "password"
.
"field_mapping"
are defined in the integration-specific types and can be found with your editor autocomplete (e.g. Ctrl-space in VS Code).title
property of the object is what will be displayed in the Connect Portal for your customers, to explain usage for this User Setting.
required
: Specify if this User Setting will be required for input by your customers.
tooltip
: Specify a tooltip that will explain usage of this input for your customers.
inputs
property of the workflow file.
custom.[integrationName]
, where integrationName
is the lowercased, alphanumeric name of the integration (for example: “GitHub Enterprise” -> custom.githubenterprise
).
name
property of your Custom Integration will affect the subfolder name and string used in paragon.connect()
.config.ts
file to configure the Custom Integration and its authentication and display settings:
inputs.ts
file to add any User Settings for this integration:
ICustomIntegration
from the core library to get started: