Skip to main content

Workflow Nodes

Nodes are the building blocks of any workflow in Hashdata. Each node represents a step in the process — whether it is the event that starts the automation, an action that sends an email, a conditional decision, or a wait for approval. By connecting nodes in sequence, you visually describe the entire workflow without writing a single line of code.

There are two fundamental types of nodes:

  • Triggers: start the workflow. Every workflow needs exactly one trigger node as a starting point. It defines when and why a new instance of the process is created.
  • Actions: execute concrete tasks after the trigger. They can send communications, wait for human decisions, manipulate external data, or control the logical flow of the process.

Understanding the available node types and how they fit together is the first step to building effective automations.


Node Types

The table below lists all nodes available in the workflow editor, with their type and a brief description of their function.

NameTypeDescription
Form Response TriggerTriggerStarts the workflow when a form response is created, changed, or deleted. You choose the form and the event types that trigger the process.
Scheduled TriggerTriggerStarts the workflow at a scheduled time: daily, weekly, bi-weekly, or monthly. Since there is no respondent, configuring recipients is mandatory.
ApprovalActionSends an email to approvers and waits for their decision. Each possible result (outcome) generates a different output on the canvas. Supports configurable timeout.
Send EmailActionSends an email to one or more recipients with a customized subject and body, supporting form variables and artifacts as attachments. Advances immediately after sending.
Request Form ResponseActionInvites recipients to fill out a Hashdata form and waits for the response before continuing. Supports an optional timeout that generates an alternative output.
Request Follow-UpActionAsks recipients to edit or complement a response already collected previously in the process. Works similarly to the request form response node.
Set StatusActionSets the instance status text, visible in the "Last step" column of the instance listing. Supports variables and advances immediately after execution.
Join (Convergence)ActionWaits for all active parallel branches to reach this point before continuing. Essential for synchronizing flows that have previously split.
WaitActionPauses the workflow execution for a defined period of time: minutes, hours, days, or weeks. Useful for creating intervals between process steps.
Decision (If/Else)ActionEvaluates conditions on ancestor form fields and directs the flow to the True or False output according to the result.
HTTP Call (Webhook Out)ActionMakes an HTTP request to an external URL (HTTPS required). Supports multiple methods and content types. Generates outputs for Success and Error.
Create PDFActionGenerates a custom PDF file from visually-edited HTML content, with support for form variables. The PDF becomes an artifact available to subsequent nodes (emails, uploads, approvals). Has a single output and advances immediately.
Workflow HistoryActionAutomatically generates a PDF with the complete event history of the instance — no content configuration required. Ideal for auditing and traceability. The PDF becomes an artifact for subsequent nodes. Has a single output and advances immediately.
External integrations

In addition to the native nodes above, Hashdata offers integration nodes with external services such as Slack, Microsoft Teams, Google Sheets, Excel 365, Google Drive, and OneDrive. These nodes require an OAuth connection previously configured in the space integrations.


Adding Nodes to the Canvas

To add a node to your workflow, you have two options:

  1. Drag from the side palette: In the workflow editor, locate the left sidebar with the list of available nodes. Click and drag the desired node to any free area of the canvas. It will be positioned where you drop it.
  2. Click on an existing node: When hovering over a node already added to the canvas, an add icon appears on the node outputs. Clicking it, you can select the next node to be added directly connected to the current one.

After adding the node to the canvas, click on it to open the configuration panel and fill in its properties.

Canvas organization

Keep the canvas organized by positioning nodes from left to right or from top to bottom, following the natural direction of the flow. This makes the workflow easier to read and maintain for the entire team.


Connecting Nodes

Connections between nodes define the execution order of the workflow. To connect two nodes:

  1. Hover over the source node until the output connectors appear (circles on the right or bottom edges of the node).
  2. Click and drag from the output connector.
  3. Drop onto the destination node to create the connection.

Each connection forms a transition — an arrow on the canvas that represents the path the workflow instance will traverse. A transition without a condition is always followed when the source node completes its execution.

Disconnected nodes

Nodes added to the canvas but not connected to the main flow will not be executed. Make sure all nodes are properly linked before publishing the workflow.


Nodes with Multiple Outputs

Some nodes generate more than one output on the canvas, allowing the flow to branch according to the result of the step:

  • Approval: generates one output for each configured outcome (e.g., "Approved", "Rejected", "Needs Review") and an additional output called TIMEOUT if the deadline is reached without a response.
  • Decision (If/Else): always generates two outputs — True (condition satisfied) and False (condition not satisfied).
  • HTTP Call (Webhook Out): generates two outputs — Success (HTTP 2xx response) and Error (any other response code or network failure).
  • Request Form Response: generates the main output (when the response is received) and a TIMEOUT output if the configured deadline expires without a response.

Each output must be connected to the next node corresponding to the scenario it represents. Unconnected outputs end the flow on that path.


Configuring a Node

Each node has specific properties that define its behavior. To configure it:

  1. Click on the node in the canvas to select it.
  2. The properties panel will open to the right of the canvas.
  3. Fill in the displayed fields. Fields marked with an asterisk (*) are required.
  4. After filling in all configurations, click Save to confirm the changes.

Configurations vary according to the node type — from choosing a form and recipients to defining complex conditions or mapping columns for an external spreadsheet.

Fields with variables

Many configuration fields support the use of variables in the format {{field_name}}, which are replaced at execution time with the values collected in the ancestor forms of the instance.


Conditions on Transitions

In addition to connecting nodes, you can configure conditions on each transition to control when it should be followed. To configure a condition:

  1. Click on the connection arrow between two nodes in the canvas.
  2. The transition configuration panel will open.
  3. Define the desired conditions based on the ancestor form fields of the workflow.
  4. Save the configurations.

When a transition has conditions, it will only be followed if all conditions are satisfied at the time of execution. Transitions without conditions are always followed when the source node completes.

Multiple outputs vs. conditions

Use multiple outputs (If/Else node or Approval outcomes) when branching logic is a central part of the node. Use transition conditions for additional filters on paths that already come from a specific output.


Branching and Convergence

Workflows can have parallel branches — paths that execute simultaneously. This happens when a node has multiple outputs and all are connected to different nodes.

Fork (Branching)

When all outputs of a node are activated at the same time (as in some Approval scenarios), the workflow splits into parallel branches. Each branch advances independently.

Join (Convergence)

The Join (Convergence) node is used to synchronize parallel branches. It waits for all branches that arrive at it to be completed before continuing the flow. The number of inputs the Join will wait for is automatically determined based on the connections made in the canvas.

Caution when using Join

Make sure that all branches connected to the Join node actually have the possibility of reaching it. If a branch can end without reaching the Join (for example, due to a condition that is never satisfied), the workflow will be blocked waiting indefinitely.


Reference Pages per Node

For complete configuration details of each node, see the individual pages: