Learn about the different types Paragon supports
CronStep
to start the workflow on a periodic schedule. Scheduler
Inputs
Parameter | Type | Description |
---|---|---|
cron | string* | The cron expression of the schedule for this trigger, from seconds to weeks. Example: 0 0 9 * * * (every day at 9:00 AM) |
timezone | string | The timezone to use for the cron expression, expressed as an IANA timezone string. Defaults to America/Los_Angeles . Example: Etc/Universal (UTC) |
EndpointStep
to trigger this workflow via an HTTP request. Request
Inputs
Parameter | Type | Description |
---|---|---|
allowArbitraryPayload | boolean* | If true, this Request trigger will accept any type of request. If false, this Request trigger will require headerValidations , bodyValidations , and paramValidations to be defined. |
headerValidations | HeaderValidation[] | An array of validations to use on the headers for requests to this Request trigger. This can be used to validate the presence of required headers to inbound requests. Example: [{ key: "X-Tasklab-Id", required: true }] |
bodyValidations | BodyValidation[] | An array of validations to use on body fields for requests to this Request trigger. This can be used to validate the presence or type of data in the body of inbound requests. Example: [{ key: "userId", dataType: "STRING", required: true }] |
paramValidations | ParamValidation[] | An array of validations to use on the URL parameters for requests to this Request trigger. This can be used to validate the presence of required parameters to inbound requests. Example: [{ key: "query", required: true }] |
requestTrigger.output.request
. The below fields are fields of the .request
property.
Field | Type | Description |
---|---|---|
headers | object | An object of the HTTP headers received in the request. Access these properties in lowercased format, e.g. requestTrigger.output.request.headers['content-type'] . |
body | any | An object or string of the HTTP body received in the request. The body will be an object when the Content-Type is application/json , multipart/form-data , or application/x-www-form-urlencoded . Otherwise, it will be attempted to be parsed as a string or File (see below). |
params | object | An object of the URL parameters received in the request. |
file | FileValue / undefined | If the HTTP body refers to a file, the file contents will be available as a FileValue object. Otherwise, this property will resolve to undefined . |
EventStep
to trigger this workflow with an App Event.
Inputs
To construct an App Event Trigger, first import your App Event into the Workflow:
EventStep
:
src/events
folder of your Paragraph project.
Example
appEventTrigger.output
. The output will match the schema of the App Event that this trigger uses.
IntegrationEnabledStep
to trigger this workflow when a user enables the integration.
Inputs
This trigger does not use any parameters.
Example
Parameter | Type | Description |
---|---|---|
if | ConditionalInput* | The condition to evaluate for determining whether or not to proceed into the “true” or “false” branch beneath this step. Learn more about defining ConditionalInputs: Conditional logic |
Parameter | Type | Description |
---|---|---|
selectedChoice | "Yes" / "No" | The branch that was chosen when this ConditionalStep was evaluated. |
Parameter | Type | Description |
---|---|---|
value | number* | How long to pause the workflow for, measured by the unit parameter. |
unit | "SECONDS" / "MINUTES" / "HOURS" / "DAYS" | The unit of time to use when delaying the workflow. Defaults to "MINUTES" . |
Parameter | Type | Description |
---|---|---|
iterator | any[] | A set of data to iterate over in the Fan Out. |
fanOutStep.output.instance
. This can only be used by steps that are in this Fan Out’s branch (see: Fan out branches).
Field | Type | Description |
---|---|---|
instance | any | An item of the iterator property that is being processed in this branch. |
Parameter | Type | Description |
---|---|---|
code | Function* | The function to run. This function must have the signature function(parameters, libraries) and must be self-contained, meaning that it cannot reference JavaScript values outside of the function body. To pass execution data through this step, use the parameters object. The list of libraries can be found in: JavaScript Libraries |
parameters | object* | Parameters from other step outputs to inject into the function. |
functionStep.output.result
.
Field | Type | Description |
---|---|---|
result | any | The return result of code after evaluation with parameters . Note: If code returns a Promise , the Function step will automatically await this Promise and return the unwrapped result. |
Parameter | Type | Description |
---|---|---|
method | "GET" / "POST" / "PATCH" / "PUT" / "DELETE" * | The HTTP method to use for this API request. If you select POST , PUT , or PATCH methods, the body and bodyType parameters will be required. |
url | string* | The relative path of the API request, with respect to the base URL provided by the integration. Specifying a full URL is also supported. |
bodyType | "json" / "form-data" / "x-www-form-urlencoded" / "xml" / "raw" | Select the type of request body that should be sent. Paragon will automatically encode the payload and set the correct Content-Type headers. |
body | object / string / (pageToken: string) => object / string) | An object or string representing the request body to be sent. If using Request Step Pagination, you can specify a function that returns the body of the request with respect to the Page Token. |
headers | object / (pageToken: string) => object | An object of the HTTP headers sent in the request. Integration Request Steps will automatically include the user’s authentication details for the request. |
params | object / (pageToken: string) => object | An object of the URL parameters sent in the request. Parameters can be specified either here or in the url property. |
pagination | (step) => PaginationOptions | If using Request Step Pagination, you can define the options used in this function. Use the step parameter of the pagination function to access the output. |
pagination
Example:
requestStep.output.response
.
Field | Type | Description |
---|---|---|
headers | object | An object of the HTTP headers received in the response. |
body | any | An object or string of the HTTP body received in the response. |
statusCode | number | The HTTP status code of the response. |
Parameter | Type | Description |
---|---|---|
method | "GET" / "POST" / "PATCH" / "PUT" / "DELETE" * | The HTTP method to use for this API request. If you select POST , PUT , or PATCH methods, the body and bodyType parameters will be required. |
url | string* | The full URL of the HTTP request to send. |
bodyType | "json" / "form-data" / "x-www-form-urlencoded" / "xml" / "raw" | Select the type of request body that should be sent. Paragon will automatically encode the payload and set the correct Content-Type headers. |
body | object / string | An object or string representing the request body to be sent. |
headers | object | An object of the HTTP headers sent in the request. |
params | object | An object of the URL parameters sent in the request. Parameters can be specified either here or in the url property. |
authorization | AuthorizationConfig | Choose between Basic authentication, Bearer token authentication, and OAuth 2.0 Client Credentials for handling the authorization of this request. |
authorization
Example:
requestStep.output.response
.
Field | Type | Description |
---|---|---|
headers | object | An object of the HTTP headers received in the response. |
body | any | An object or string of the HTTP body received in the response. |
statusCode | number | The HTTP status code of the response. |
Parameter | Type | Description |
---|---|---|
responseType | "JSON" / "FILE" * | The type of Response to send to the HTTP Request that triggered the workflow. Choose between a JSON-encoded response or a raw File type. |
body | object / FileValue * | If using a JSON responseType , provide an object to send in the response. If using a File responseType , provide a FileValue to send in the response. |
statusCode | number * | The status code to send in the Response to the HTTP Request that triggered the workflow. |