Knowledge Base

Flow Designer

Articles:

Flow Designer

Introduction

The Flow Designer is a powerful visual interface for creating and managing complex data flows, with a rich set of nodes, version control, and access control features to streamline your workflow.

Flow Designer Interface

The Flow Designer interface consists of several key components:

  1. Node List: On the left side of the screen, there is a list of various nodes or components that can be added to the Flow. These nodes can be dragged onto the Flow canvas and represent all of the capabilities available to configure in the Flow.
  2. Canvas: The main area of the screen is the workspace where the Flow is displayed and edited through drag and drop.
  3. View Executions: This links to an explorable table showing every time this Flow has been executed.
  4. Status: This shows the Status of the Flow version. A Flow can have a status of "Draft", "Published", or "Superseded".
  5. Version: This lists the currently displayed version of a Flow. Clicking on this you can see a dropdown of the previous versions of a Flow.
  6. Access Mode: This controls who can access or trigger a Flow. You can set this to "Space Members", "Authenticated", or "Public".
  7. Save: You can save the current version of your Flow.
  8. Publish: Once a Flow version has been saved it can be Published.
  9. Undo/Redo: Quickly undo or redo the latest action on the Flow canvas.
  10. Map: Navigate around the infinite Flow Canvas using the small map for context.
  11. Canvas Controls: Zoom in, Zoom out, Contain, or Lock the canvas viewport.

Node Components

To understand the Flow Nodes you need to understand their components:

  1. Incoming Node Edge: These ovals at the top of the Node box are the inputs into this Node. There can be many edge properties that could be the gold control node that triggers actions in Nodes or data that is flowing into the Node.
  2. Node Handle: This shows the information about the Node in a consistent way. First the Capability (e.g. Flow, AI, or Object) - this shows the section the Node was pulled from. Then the Node name - this shows the specific type of Node this is. Finally, the Context indicates the context of the current configuration of the Node - this could be referencing information set in the Node Configuration or Properties section.
  3. Node Configuration: This area shows all of the configurable settings of the Node. This is different for every Node type.
  4. Outgoing Node Edge: These ovals at the bottom of the Node box are the outputs of this Node. They can be a gold control flow "Error" or "Success" output that can trigger subsequent Node actions or a data output that can be passed into subsequent Nodes.

Control Flow vs. Data Flow

Control flow determines the order of execution of action Nodes, while data flow represents the movement of data between Nodes.

Node Edge Colouring and Types

The colour and type of the Node edges indicate the nature of the data type, such as Control, String, or Object.

  • Control: Gold
  • String: Green
  • Number: Orange
  • Boolean: Red
  • Date: Purple
  • Entity/Object: Blue
  • File: Light Blue
  • Content: Light Green
  • Array: Aqua

A Node Edge may take in multiple types, if that happens then it will show a gradient of the type colours:

Flow Nodes

The Flow Designer provides a rich set of nodes that can be used to build complex data flows. Here is a list of the available nodes and a short description of their functionality:

Flow:

  • Trigger: This is a component that triggers the Flow. This is required as the starting point for all Flows.
  • Result: This node represents the final output of the Flow. This can be used to return information to subsequent Flows.
  • Execute: This node allows you to execute a Flow within another Flow.

Control:

  • If: This node allows you to add conditional logic to your Flow.

Data:

  • Literal: This node allows you to input a literal value, such as a string, number, or boolean.
  • Context: This node allows you to access data from the current Flow context such as "Requested By User ID", "Requested By Space User ID", "Space ID", and "Flow Execution ID".

Object:

  • Pick: This node allows you to select specific properties from an object.
  • Create: This node allows you to create a new object.
  • Update: This node allows you to update an existing object.
  • Remove: This node allows you to remove an object.
  • Link: This node allows you to create a link or relationship between two objects.
  • Query: This node allows you to query for objects based on specific criteria.
  • QueryLink: This node allows you to query for linked objects.

List:

  • Map: This node allows you to perform a mapping operation on a list of items.

Text:

  • Template: This node allows you to create a text template with dynamic content.
  • parseHTMLToContent: This node allows you to parse HTML content and extract the relevant text.
  • parseDocumentToContent: This node allows you to parse a document and extract the relevant text.
  • extractListItems: This node allows you to extract a list of items from a larger piece of text.
  • recursiveSplit: This node allows you to recursively split a piece of text into smaller parts.

AI:

  • llm:chatMessage: This node allows you to send a message to a large language model and receive a response. You can configure the Model (Ligantic provides access to the latest industry leading Large Language Models), the output (text or content), variables coming into the prompt, and the system and user prompt to send to the LLM.
  • llm:computeEmbedding: This node allows you to compute an embedding for a piece of text using a large language model.
  • dataExtraction: This node allows you to extract structured data from unstructured text using AI-powered data extraction.
  • transcribe: This node allows you to transcribe audio or video content.
  • vectorContext:add: This node allows you to label and add a piece of text to the vector context.
  • vectorContext:remove: This node allows you to query and remove a piece of text to the vector context.
  • vectorContext:Query: This node allows you to query the vector context and return a filtered set of results.
Powered by Ligantic