Nodes

Triggers

Working with External Data

Working with Data Links

Working with APIs

Utilities

API Trigger

This triggers lets you launch a Flow Instance with optional input using API or SDK.

You can provide an optional input schema and use it in the flow nodes as variables.

To launch a Flow Instance that has API trigger, you can use the following code:

await integrationApp
  .flowInstance('{FLOW_INSTANCE_ID}')
  .run({
    
    input: null
  })

App Event Trigger

App Event Trigger runs a flow when something happens in your application.

Before creating an App Event trigger, you need to create an App Event. Whenever you trigger that app event, the flow will be launched.

Filter

To launch the flow only on some events of a specific type, you can configure a filter. Only events that match the filter will trigger the flow.

See Also

Create Data Link

This node creates a Data Link between an object in your app and an object in an external app.

For this, you need to provide:

  • Data Link Table (you need to create one first).
  • Id of an object in your app.
  • Id of an object in an external app.
  • Direction: whether to link object from external app to your app, the other way around, or both.

If a link already exists, it will be updated.

See Also

Create Data Record

This node creates a record in a Data Source.

To configure this node you can provide:

See also

Data Record Created Trigger

This trigger launches a flow when a data record is created in a selected data source.

To configure this node you can provide:

Multiple Events

If multiple events are detected at the same time, the flow will be started with multiple inputs, one for each event.

To avoid launching flows that will run for too long, if there are too many inputs, events could be split into multiple groups, each starting their own flow run.

Data Record Deleted Trigger

This trigger launches a flow when a data record is deleted in a selected data source.

To configure this node you can provide:

Multiple Events

If multiple events are detected at the same time, the flow will be started with multiple inputs, one for each event.

To avoid launching flows that will run for too long, if there are too many inputs, events could be split into multiple groups, each starting their own flow run.

Data Record Updated Trigger

This trigger launches a flow when a data record is updated in a selected data source.

To configure this node you can provide:

Multiple Events

If multiple events are detected at the same time, the flow will be started with multiple inputs, one for each event.

To avoid launching flows that will run for too long, if there are too many inputs, events could be split into multiple groups, each starting their own flow run.

Delete Data Record

This node deletes a record in a Data Source using its ID.

To configure this node you can provide:

See also

Filter

This node only passes through inputs that match the filter. The filter can be provided by you, your user, or both.

If node input does not match the filter, it will be skipped. If all inputs are skipped, the flow run will stop.

Find Data Link

This node uses a Data Link between an object in your app and an object in an external app to find the matching object on the opposite side.

It should be used together with Create Data Link.

The node outputs the ID of the matching records if one is found; otherwise, its output is empty.

See Also

Find Data Record By ID

This node finds a record in a Data Source by its ID.

To configure this node you can provide:

See also

For Each

For Each node executes a subset of flow nodes for each item in a list, then aggregates their outputs.

Example:

forEach:
    name: For Each
    type: for-each
    version: 2
    config:
        items:
            - item1
            - item2
        rootNodeKey: nodeInsideForEach
nodeInsideForEach:
    name: Inside For Each
    type: transform-data
    config:
        output:
            forEachItem:
                $var: input.forEach.item
            customItem: customValue

In this example, the forEach node will execute nodeInsideForEach twice (for item1 and item2).
The current item is available inside the for-each loop as the item property of the input.forEach object (assuming the key of for-each node is forEach).

The output of the forEach node is an object with keys matching nodes inside the for-each loop and values being lists of outputs of those nodes.

In the example above, the output of the forEach node will be:

nodeInsideForEach:
    - forEachItem: item1
      customItem: customValue
    - forEachItem: item2
      customItem: customValue

This output can be used in the subsequent nodes as the input.forEach variable (assuming the key of for-each node is forEach).

HTTP Request

This node sends an HTTP request to the specified URL with specified content.

Batch Mode

In some cases—for example, when using the Find Data Record by ID node—you want to avoid sending dozens or hundreds of HTTP requests.
You can do this with Batch Mode.

When using Batch Mode, the node's input becomes a list of up to batchSize items.


List Data Records

This node lists all records in a data collection and returns their list as an output.

If the data collection has multiple pages, this node will request all pages and return all records.

Note: if too many records are returned, the execution may fail due to the limit of the node run output size.
For listing large data collections you should use Actions and paginate on your side. More information on flow run limits: Flow Runs.

Output

The output of this node is a list of Data Record that look like this:

id: <unique record id>
name: <human-readable record name>
url: <link to the record if exists>
fields:
    ...fields mapped with fieldMapping
rawFields:
    ...fields returned by the third-party app
unifiedFields:
    ...Universal Data Model fields if includeUdmFields is set to true

See also

Schedule Trigger

This trigger runs flow once in X minutes as long as the Flow Instance is enabled.

Transform Data

This node transforms its input into a data structure specified in the configuration.

Update Data Record

This node updates a record in a Data Source using its ID.

To configure this node you can provide:

See also