Skip to main content
This page lists every built-in workflow block registered in packages/workflow. Each page path uses the block ID converted to kebab-case.

AI

Ask AI

Makes a call to an LLM chat model.

AI Filter

Applys a AI call to each item in a list of values.

AI Scorer

Scores each message in a chat-message[] array using an AI model. Each message is scored between 0 and 1 based on the provided scoring criteria.

Analyze Image

Analyzes the contents of an image. If the image is a chart, it will provide an analysis of any trends or insights.

Analyze Table

This node allows you to analyze a table using AI. You can describe the analysis you would like to perform on the table and the AI will generate the code for you.

Assemble Message

Assembles a single chat message from multiple parts. Parts can be text, images, audio, or files. Not every model supports all modalities, so ensure that the downstream model supports the parts you include.

Categorizer

Classifies messages into predefined categories using an AI model. Each category has a title and description that defines what types of messages belong to it. The LLM will evaluate the messages against each category’s criteria and classify accordingly.

Create Chart

This node allows you to create a chart image using AI. You can describe the chart you would like to create using the input table and the AI will generate the code to create the graph for you.

Extract Data

Applies an LLM to extract data from the supplied context, based on the schema.

Generate Questions

Generates a number of questions given the context and supplied instructions.

Research AI

Researches sources that answer your query using our Research AI. It can search any of our public stores or your private document stores.

Input/Output

Input

Defines an input for the flow which can be passed in when the flow is called, or defines one of the input ports when the flow is a subflow.

Output

Each instance of this node represents an individual output of the flow. The value passed into this node becomes part of the overall output of the flow.

User Input

Prompts the user for input during the execution of the flow. The user’s response becomes the output of this node.

Upload File

User input node for file uploads. Outputs the file as a file object or list of file objects for further processing.

Confirm

Prompts the user for a confirmation to continue. Outputs the value if the user confirms.

Data

Array

Creates an array from the input values. By default, flattens any arrays which are inputs into a single array. Can be configured to keep the arrays separate, or deeply flatten arrays. Useful for both creating and merging arrays. The number of inputs is dynamic based on the number of connections.

Bool

Outputs a boolean constant, or converts an input value into a boolean.

Date

A date picker node to select a date.

File

Provides an static file to use.

Image

Defines a static image for use with other nodes. Can convert a binary type into an image type.

Number

Outputs a number constant, or converts an input value into a number. Can be configured to round the number to a certain number of decimal places.

Object

Creates an object from input values and a JSON template, escaping the input values and inserting them into the template. Use double-quotes around the input values to escape them. String values are automatically escaped. Useful for creating objects from multiple inputs.

Random Number

Outputs a random number between the configured min and max values. Can be configured to output only integers, and whether the max value is inclusive or exclusive.

Text

Outputs a string of text. It can also interpolate values using . The inputs are dynamic based on the interpolation tags.

Loaders

Read Binary

Reads the contents of the specified file and outputs it as binary.

Read Images

Reads the contents of the specified file and outputs each page as an image.

Read Table

Reads and parses a CSV file into a table data type.

Read Text

Reads the contents of the specified file and outputs it as a string.

Transcribe Audio

Transcribes speech from an audio file or audio data using an LLM. Accepts either audio data type or file data type as input.

Logic

Abort Flow

Aborts the execution of the entire flow immediately. Can either “successfully” abort the flow (early-exit), or “error” abort the graph.

Checklist

Evaluates messages against a list of conditions. All conditions must be satisfied for the messages to be routed to the success output. If any condition fails, the messages are routed to the failure output.

Coalesce

Takes in any number of inputs and outputs the first value that exists. Useful for consolidating branches after a Match node. This node can also “consume” the “Not Ran” value.

Compare

Compares two values using the configured operator and outputs the result. If the data types of the values do not match, then the B value is converted to the type of the A value.

Delay

Delays the execution and then passes the input value to the output without any modifications.

If/Else

Takes in three inputs: a condition, a true value, and a false value. If the condition is truthy, the true value is passed through the output port. If the condition is not truthy, the false value is passed through the output port. This node can “consume” a Not Ran to continue a graph from that point.

Match

Any number of regular expressions can be configured, each corresponding to an output of the node. The output port of the first matching regex will be ran, and all other output ports will not be ran.

Passthrough

Simply passes the input value to the output without any modifications.

Race Inputs

Takes in multiple inputs and outputs the value of the first one to finish. The other inputs are cancelled.

Route

Routes messages to different outputs based on LLM evaluation of multiple conditions. Each option has a prompt that describes when messages should be routed to that output. The LLM will evaluate the messages against each option’s criteria and route accordingly.

Switch

Takes in a condition and a value. If the condition is truthy, the value is passed through the True port, and the False port is not ran. If the condition is falsy, the value is passed through the False port, and the True port is not ran.

Modifiers

Chunk

Splits the input text into an array of chunks based on an approximate GPT token count per chunk. The “overlap” setting allows you to partially overlap the chunks for redundancy. Can also be used for string length truncation by only using the First or Last outputs of the node.

Convert File

Converts a file between PDF and DOCX formats.

Convert Format

Converts data to a text format. - JSON — converts the input to a JSON string - YAML — converts the input to a YAML string

Destructure

Destructures the input value by extracting values at the specified paths. The paths use JSONPath notation to navigate through the value.

Extract from Text

Extracts structured data from text. Supports multiple formats: - JSON — finds and parses the first JSON object or array - YAML — finds and parses YAML by a root property name - Code Blocks — extracts fenced code blocks from markdown - Tables — extracts tables from markdown - Pattern — extracts text using a regular expression

Filter

Takes in both an array of values, and an array of booleans of the same length, and filters the array where the corresponding boolean is true.

Flatten

Takes in a nested array and flattens the array to a single level.

Get Value

Gets a value from an object using a path expression. Use JSONPath notation to navigate through the object, for example: - $.name — get the “name” field - $.items[0] — get the first item - $.users[*].email — get all user emails

Hash

Computes a hash of the input value using the configured hash function.

Index

Takes in both an array of values, and an index value or an array of indicies, and selects the values at the given indicies.

Join

Takes an array of strings, and joins them using the configured delimiter. Defaults to a newline.

Merge PDFs

Merges multiple PDF files into a single PDF document. The files will be merged in the order they are provided. Supports up to 10 input ports, each accepting either a single file or an array of files.

Pop

Pops the last value off the input array and outputs the new array and the popped value. Can also be used to just extract the last value from an array.

Shuffle

Shuffles the input array. Outputs the shuffled array.

Slice

Slices an array from the start index for the count number of elements. Useful for extracting a portion of an array.

Draft

AI-Fill PDF

Fills a PDF form using AI. Extracts form fields from a PDF and uses a vision-language model to populate them based on the provided context.

Draft

A versatile drafting node that has a selection of pre-configured drafting templates for common use cases.

Populate Template

Populates a template document using AI-extracted field values from the input messages. Fields that cannot be determined from the messages are left blank.

Table To File

Converts a table to a file based on the specified formats.

Text To File

Converts text to files based on the specified formats.

Advanced

Code

Executes a piece of Python code. See the Documentation for more information on how to write code for the Code Node.

Comment

A comment node is a node that does nothing. It is useful for adding notes to a graph.

HTTP Call

Makes an HTTP call to the specified URL with the given method, headers, and body.

Raise Event

Raises an event that the host workflow or a ‘Wait For Event’ node can listen for.

Subflow

Executes another flow. Inputs and outputs are defined by Flow Input and Flow Output nodes within the subflow.

Wait For Event

Waits for a specific event to be raised by a ‘Raise Event’ node or the host workflow. The event name can be configured.

Agents

Agent

Executes a task by intelligently selecting and using available tools. The agent will analyze the task, break it down into steps, and execute the appropriate tools to accomplish the goal.

Template Agent

Intelligently populates templates by gathering missing information using tools or by asking users. Features flexible tool-based operations, batch template population, and intelligent context gathering.

Documents

Add File to Document Store

Adds a file to the selected document store.

Analyze Documents

Analyzes documents in a document store using aggregations like count, sum, and average. Describe your analysis in plain English — for example, “count contracts by jurisdiction” or “total settlement amount by year”.

Find Document

Finds a single document in a document store by matching metadata fields. Add match criteria to create input ports — wire values from upstream nodes to look up documents by case number, reference ID, client name, etc.

Search Documents

Searches document stores to find relevant documents. Supports semantic search (vector similarity), structured filtering (metadata queries), or hybrid mode that combines both and re-ranks results. Can search across multiple stores simultaneously.

New Document Added

Triggers when a new document finishes processing in a document store. Outputs the document metadata including title, type, extracted metadata, and content URL.

Triggers

Schedule

Run workflow on a schedule using cron expressions. Configure the cron expression and timezone to schedule when the workflow should execute.