Nodes
Triggers
API Trigger
Launch flow using an API Request with optional input.
Schedule Trigger
Run your flows on schedule.
App Event Trigger
Launch flow when something happens in your app.
Data Record Created Trigger
Run flow when new data is created in an external app.
Data Record Update Trigger
Run flow when new data is update in the external app.
Data Record Deleted Trigger
Run flow when data is deleted in the external app.
Working with External Data
List Data Records
Get all data records from a Data Source with an optional filter.
Find Data Record by Id
Find a single record in an external app using its ID.
Create Data Record
Create a new record in an external app.
Update Data Record
Update a record in an external app using its ID.
Delete Data Record
Delete a record in an external app using its ID.
Working with Data Links
Create Data Link
Link object inyour app with corresponding object in an external app.
Find Data Record by Id
Find relation between an object in your app and a corresponding object in an external app.
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:
- Universal Data Model
- Field Mapping and its input (whole node input is used by default).
See also
Data Sources
Manage and configure data sources for integrations.
Field Mappings
Map and transform fields between your product and external services.
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:
- Data Sources
- Field Mapping from external app to your app.
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:
- Data Sources
- Field Mapping from external app to your app.
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:
- Data Sources
- Field Mapping from external app to your app.
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:
- Universal Data Model
- Field Mapping and its input (whole node input is used by default).
See also
Data Sources
Manage and configure data sources for integrations.
Field Mappings
Map and transform fields between your product and external services.
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:
- Universal Data Model
- Field Mapping and its input (whole node input is used by default).
See also
Data Sources
Manage and configure data sources for integrations.
Field Mappings
Map and transform fields between your product and external services.
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
Data Sources
Manage and configure data sources for integrations.
Field Mappings
Map and transform fields between your product and external services.
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:
- Universal Data Model
- Field Mapping and its input (whole node input is used by default).
See also
Updated 3 days ago