Overview
The Workflow Builder is gaiia’s automation workspace. It gives you the tools to design, visualize, and manage automated processes across your workflow. It combines a visual editor with structured data controls so workflows run consistently and predictably.
In this article, we will review where to find the Workflow Builder, how it works at a high level, and a categorized view of the nodes you will use when building workflows.
The Workflow Builder is currently in an alpha phase. Functionality, behavior, and available nodes may change as the feature continues to evolve.
Accessing the Workflow Builder
The Workflow Builder lives inside the Workflows module and is available to users with the required Workflow permissions.
To check if you have them: Admin Settings > Roles > Workflows > View & Edit
From here, you can browse all workflows in your tenant, open existing definitions, or create new ones. The main view includes a list of all of your instances workflows and gives you the ability to search, filter or create new workflows.
Depending on your permissions, nested underneath the Workflow module will be two other sections: Executions and Settings.
- Executions - This section gives you an overview of all of the workflow executions within your instance. It also allows you to bulk retry, filter and search for specific executions.
- Settings - This section highlights your Secrets and Variables. Secrets store your credentials, such as API keys, whereas Variables store non sensitive configuration values that you want to reuse across workflows.
Understanding the Workflow Builder
The Workflow Builder provides a structured, visual environment for defining the automation logic that drives processes inside gaiia. Each workflow is composed of nodes, where each node represents an action or an integration step, and together they define how data and control move through the system.
Triggering a Workflow
Every workflow begins with a Trigger Node which determines how the workflow is initiated. gaiia supports four trigger types, each representing a different way a workflow can begin:
-
Manual - A workflow that is started directly by a user within your gaiia instance.
Example: A customer service agent manually runs a workflow to trigger an update to a customers inventory. -
Event - A workflow that starts automatically when a specific event occurs in gaiia.
Example: Workflow triggers a Slack message when a ticket is moved to a certain status. -
Schedule - A workflow that runs at defined times or intervals based on a schedule.
Example: A recurring workflow runs each morning to send communications to customers who have a work order scheduled for the following day. -
Webhook - A workflow that begins when an external system sends a request into gaiia.
Example: A construction tracking system sends a webhook when a location is marked serviceable, triggering product availability updates in gaiia.
Once you select a trigger type, you can configure the Input Schema, which defines the data structure the workflow expects when it starts.
Viewing a Workflow
When you open a workflow, the Builder presents three main areas that you will work with while designing and reviewing automation:
- Graph View displays the workflow as a connected set of nodes. This is where you add steps, arrange the flow, and understand how your automation progresses from the trigger to the end.
- JSON Representation opens the full JSON definition of the workflow in a dedicated panel. This view updates as you edit the workflow in the Graph, and the panel can be resized so you can view the definition while still keeping the canvas visible.
- Node Configuration appears when you select a node. For the Trigger, this includes the input JSON Schema, and for action nodes, you will see inputs, the output mapper, retry options, timeouts, and any additional settings the node supports.
Configuring your workflow
Once a workflow is triggered, its behavior is defined by the nodes that make up the workflow itself. Nodes represent the individual steps of automation, such as retrieving data, evaluating conditions, calling external APIs, or triggering actions within gaiia.
Workflows are built by connecting nodes together so data can move through each step as the workflow executes. Each node receives inputs that determine how it behaves, and those inputs can come from several sources such as previous node outputs, static values, stored secrets, reusable variables, or custom TypeScript logic.
When a node runs, it produces an output, which is the response returned from the API call, gaiia action, or TypeScript function executed by that node. By default, the full response is written to the workflow state and becomes available to downstream nodes. An output mapper allows you to reshape that response before it reaches state, letting you extract specific values, rename fields, or transform data so the workflow only passes forward what the next steps actually need.
When configuring a node, you can also control how gaiia handles failures and execution limits. Each node supports configuration options such as retry strategies, timeouts, and error routing, allowing workflows to automatically recover from transient failures or redirect execution to alternative logic instead of stopping entirely, while execution history and monitoring tools help you identify and investigate failures that occur during runtime.
Understanding Nodes
Nodes are the building blocks of every workflow. The sections below categorize these nodes into four groups: gaiia API, HTTP, Utilities, and Workflows. Each table contains placeholder entries until the full node list is added. Every description ends with “To read more, click here” as a placeholder.
| Node Name | Description |
|---|---|
| gaiia GraphQL API | Query the gaiia internal API. |
| Accounts: Create Note | Create a note on the account. |
| Accounts: Get Account | Retrieve complete account information including contacts, addresses, and metadata. |
| Accounts: Get Account Assigned Inventory Items | Retrieve all inventory items assigned to an account. |
| Accounts: Get Account Billing Subscriptions | Access all billing subscriptions associated with an account. |
| Accounts: Get Account Notes | Fetch all notes on an account. |
| Inventory: Assign Inventory Item | Assign inventory items to an account. |
| Tickets: Close Ticket | Close a ticket by ID. |
| Tickets: Create Internal Ticket | Create internal tickets for team follow-up. |
| Tickets: Create Ticket Comment | Add comments to existing tickets. |
| Tickets: Get Ticket Categories | Retrieve all ticket categories for dropdown options. |
| Tickets: Get Ticket Custom Statuses | Fetch custom status options for tickets. |
| Tickets: Get Ticket Types | Retrieve available ticket types. |
| Tickets: Update Ticket Status | Change ticket status programmatically. |
| Users: Get Users | Retrieve all users on the gaiia instance. |
| Workforce: Create Work Order | Generate work orders for technician dispatch. |
| Workforce: Create Work Order Note | Add notes to existing work orders. |
| Workforce: Get Technicians | Retrieve available technicians for assignment. |
| Workforce: Get Work Types | Fetch work type categories for work orders. |
| Workforce: Unassign All Technicians from Work Order | Remove all technician assignments from a work order. |
| Workforce: Update Work Order | Modify work order details or status. |
| Node Name | Description |
|---|---|
| HTTP REST Request | Sends an HTTP request using the REST protocol, enabling two-way integrations with any internet-facing API. |
| HTTP SOAP Request | Performs an HTTP request using the SOAP protocol. |
| Node Name | Description |
|---|---|
| Condition | Branches the workflow according to certain conditions. Helpful for routing next steps based on equipment type, account status, etc. |
| Create Activity Log Comment | Adds a comment to the activity log during workflow execution, which is displayed in the workflow UI for accounts and executions. |
| Execute TypeScript Code | Execute a custom TypeScript snippet. |
| Parallel Loop | Loops over an array of elements and executes the sub-workflow, which is useful for actioning on arrays of customers, equipment to be provisioned, work order procedures, etc. |
| Wait | Pause workflow execution until a specified date time (e.g., Activation Date, Install Date). |
| Node Name | Description |
|---|---|
| Start Workflow Execution | Call modular, reusable workflows within workflows. |
| Wait for Workflow Execution | Pauses execution until a specified workflow completes. |
| Node Name | Description |
|---|---|
| Microsoft Teams | Send messages directly from your workflows to your Teams app . |
| Slack | Send messages to a channel and tag users from your workflows to Slack. |
To learn more, please reach out to support@gaiia.com