Knowledge Base

Nodes: Flow

Articles:

Nodes: Flow

Introduction

The Flow Nodes: Flow feature in Ligantic allows you to build powerful workflows by connecting various Flow Nodes together. These Nodes provide the ability to trigger actions, report results, and execute and cancel Flows across your Space. This user guide will cover the key capabilities and components of the Flow Nodes: Flow feature.

Flow Capabilities

The Flow Nodes: Flow feature in Ligantic provides the following key capabilities:

  1. Starting your Flow: Use the Flow Trigger Node to define the entry point of your Flow, configuring various data inputs such as Strings, Numbers, Booleans, Dates, and Entities.
  2. Reporting a Flow Result: Utilise the Flow Result Node to define the output or result of your Flow, which can be used when calling a Flow from another Flow or programmatically.
  3. Executing Flows: Leverage the Flow Execute Node to execute other Flows within your Space. You can instantly trigger the Flow or Schedule it for later.
  4. Cancel a Flow: Use the Flow Cancel Node to cancel a specified scheduled, executing, or pending Flow Execution.

Flow Nodes

The Flow Nodes that feature in Ligantic consists of the following four capabilities:

  1. Flow Trigger
  2. Flow Result
  3. Flow Execute
  4. Flow Cancel

Flow Trigger

The Flow Trigger Node is the initial entry point into a Flow. It has no incoming Node edges, and a Flow can have multiple Flow Trigger Nodes.

Incoming Node Edges:

No incoming Node Edges as this is the initial entry point in a Flow.

Node Configuration

Incoming Data: You can configure various data types as inputs, including Strings, Numbers, Booleans, Dates, and Entities. You can have one or more Incoming Data types configured and you can mark each of these inputs as "Required" if needed. For every data input you configure a dynamic Outgoing Node Edge will be shown.

Data Configuration:

These incoming data types require only the type definition to be set.

  • String: Expects String value as an input.
  • Number: Expects Number value as an input.
  • Boolean: Expects Boolean value as an input.
  • Date: Expects Date (or DateTime if Include Time? is selected) value as an input.
  • Array: Expects an Array of the specified type as an input.

Entity Configuration

  • Entity: Expects a Schema Entity (Object) as an input.

  • Show on: Configure the options to show this on the Entity or Table.

Choosing to show on Table makes the Flow available on the Schema Table:

Choosing to show on Entity makes a button to trigger the Flow available on the Entity view.

  • Triggers on: You can configure the Flow to automatically Trigger on the Create, Update or Remove actions for the target Schema.

Outgoing Node Edges:

  • Trigger: This is where the control flow triggers the next executable action Node in the Flow.
  • Data Output: This is where the data flow is shared with the rest of the Flow (String, Number, Boolean, Date, Object).

Flow Result

The Flow Result Node defines the output or result of the Flow, which can be used when calling a Flow programmatically.

Incoming Node Edges:

  • Trigger: This is where the control flow triggers this Node.
  • Dynamic Data Ingest: This is where the internally configured details determine the data type shown on the incoming Node Edge

Node Configuration

  • Name: This text box allows you to configure the result name for easy referencing of specific results.
  • Type: You can configure various data types as outputs, including Strings, Numbers, Booleans, Dates, and Entities. The configured details inform the dynamically generated Data Ingest incoming Node Edge.

These outgoing data types require the type definition to be set:

  • Entity: Expects a Schema Entity (Object) as an input. You can select the specific Schema that the Entity will be coming from.
  • String: Expects String value as an input.
  • Content: Expects Content value as an input.
  • Number: Expects Number value as an input.
  • Boolean: Expects Boolean value as an input.
  • Date: Expects Date (or DateTime if Include Time? is selected) value as an input.
  • Array: Expects an Array of the specified type as an input.
  • Object: Expects an Object value as an input.

Outgoing Node Edges:

There are no outgoing Node edges, as this is a result call in a Flow. This Node can be placed anywhere in a Flow to publish a result it does not need to be only at the conclusion of a Flow.

Flow Execute

The Flow Execute Node is used to execute other Flows within your Space. You can trigger a Flow immediately and synchronously execute that Flow within this execution or schedule it for later in an asynchronous execution.

The image above shows the Flow Execute Node in three different configurations:

  1. Default State: This is the default configuration. A Flow hasn't been selected from the dropdown. The + icon opens the Flow Designer in a new tab to create a new Flow to Execute.
  2. Flow Selected: A Flow has been selected from the dropdown option list and the associated Trigger Nodes have populated a second dropdown menu.
  3. Flow Scheduled: A Flow and Trigger Node have been selected. The Scheduled Execution option has been checked resulting in a Scheduled At Incoming Node Edge and a Execution Id Outgoing Node Edge being added.

Incoming Node Edges:

  • Trigger: This is where the control flow triggers this Node.
  • Dynamic Data Inputs: These are dependent on the internally configured Flow requirements, such as a specific Entity. The target Flow's Flow Trigger doesn't need to have any data inputs, but if it does it will show up as an Incoming Node Edge at the top of the "Flow Execute" node. If the target Flow's Flow Trigger has multiple data inputs then there will be an outgoing node edge for each.
  • Scheduled At: If the Scheduled Execution option is configured a Scheduled At DateTime input is shown. The incoming data controls when the Flow being executed will be scheduled for.

Node Configuration

  • Flow: Choose the target Flow from within the Space to execute.
  • Trigger Node: Choose the Trigger Node to target from the specified Flow - this is useful to choose a specific Trigger Node is the target Flow has many. The Trigger Node id will be shown.
  • Is Scheduled Execution?: Turn this option on to schedule the Flow Execution for later in an asynchronous execution

Outgoing Node Edges:

  • Dynamic Flow Results: The target Flow doesn't need to have a Flow Result Node, but if it does it will show up as an Outgoing Node Edge at the bottom of the "Flow Execute" node. If the target Flow has multiple Flow Result Nodes then there will be an outgoing node edge for each.
  • Error: This is for when any error state has been returned from the target Flow. You can handle the error state gracefully from this outgoing Node Edge.
  • Success: This is for when the target Flow completes the execution successfully.
  • Execution Id: If the Scheduled Execution option is configured a Execution Id text type Outgoing Node Edge will appear. The data output here will be the referenceable id of the Execution that is scheduled from this Node.

Flow Execute

The Flow Execute Node is used to cancel a specified Flow Execution that is scheduled or executing within your Space.

Incoming Node Edges:

  • Trigger: This is where the control flow triggers this Node.
  • Execution Id: This is the text input required identify the scheduled or executing Flow Execution to cancel.

Node Configuration

  • Flow: Choose the Flow of the targeted Flow Execution.

Outgoing Node Edges:

  • Error: This is for when any error state has been returned from the Flow Cancel operation. You can handle the error state gracefully from this outgoing Node Edge.
  • Success: This is for when the target Flow Execution cancels successfully.

Conclusion

The Flow Nodes capabilities in Ligantic provides a powerful set of tools to streamline your workflows. By leveraging the Flow Trigger, Flow Result, Flow Execute, and Flow Cancel Nodes, you can build complex and interconnecting Flows that trigger actions, report results, and execute other Flows across your Space.

Remember to familiarise yourself with the node edge concepts to ensure a smooth and efficient Flow design process.

Powered by Ligantic