Nodes are the building blocks of a workflow. You add them by dragging from the left sidebar onto the canvas, then connect them by dragging from one node’s output handle to another node’s input handle. Each node has a configuration panel that opens on the right side of the screen when you select it. Nodes fall into two categories: action nodes that do work in your workspace or call external services, and logic nodes that control the flow of execution.Documentation Index
Fetch the complete documentation index at: https://docs.navisops.com/llms.txt
Use this file to discover all available pages before exploring further.
Action nodes
Action nodes create, update, or send things. They run in the order you connect them and each one can pass data to nodes further down the chain.Create task
Creates a new task in your workspace when the workflow reaches this node.| Field | Required | Supports variables | Notes |
|---|---|---|---|
| Task title | Yes | Yes | Use {{project.name}} or {{trigger.entity_data.title}} |
| Description | No | Yes | Rich text description for the task |
| Priority | Yes | No | low, medium, high, or urgent |
| Due date offset | No | No | Number of days from now |
{{lastTask.id}}, {{lastTask.title}}, and other {{lastTask.*}} variables.
Example configuration:
- Title:
Set up environment for {{project.name}} - Priority:
high - Due date offset:
3
Update task
Modifies an existing task’s status or priority. By default it targets the most recently created task in the current run ({{lastTask.id}}), but you can point it at any task ID.
| Field | Required | Supports variables |
|---|---|---|
| Target task ID | Yes | Yes — defaults to {{lastTask.id}} |
| Status | No | No — choose from dropdown |
| Priority | No | No — choose from dropdown |
backlog, todo, in_progress, in_review, done
Priority options: low, medium, high, urgent
Example use case: After an Approval Gate passes, mark a deployment task as done and move on.
Create note
Creates a new note in your workspace.| Field | Required | Supports variables |
|---|---|---|
| Note title | Yes | Yes |
| Content | No | Yes |
{{lastNote.id}}, {{lastNote.title}}, and other {{lastNote.*}} variables.
Example configuration:
- Title:
{{project.name}} — Kickoff - Content:
Goals, milestones, and team assignments for {{project.name}}.
Update note
Updates the content of an existing note. Useful for appending information to a running log note or updating a document after upstream steps complete.Create calendar event
Creates a new calendar event in your workspace. Use this to schedule follow-up meetings, deadlines, or review sessions automatically as part of a workflow.Duplicate entity
Creates a copy of an existing project, task, or note. Useful for templating — keep a master template item and duplicate it each time a workflow fires.For each
Iterates over a list and runs the connected downstream nodes once for each item in the list. Use this to process a collection of items returned by a previous step, such as a list of tasks from an API response.Send email
Sends a transactional email to a specified address. This node uses Navis Ops’s built-in email sending infrastructure.| Field | Required | Supports variables |
|---|---|---|
| To address | Yes | Yes |
| Subject | Yes | Yes |
| Body | Yes | Yes |
Send Slack message
Posts a message to a Slack channel via a Slack incoming webhook URL.| Field | Required | Supports variables |
|---|---|---|
| Webhook URL | Yes | No |
| Message text | Yes | Yes |
Task completed: {{trigger.entity_data.title}}
Send Discord message
Posts a message to a Discord channel via a Discord webhook URL.| Field | Required | Supports variables |
|---|---|---|
| Webhook URL | Yes | No |
| Message text | Yes | Yes |
HTTP request
Makes an outbound HTTP request to any external API or webhook endpoint. This is the most flexible action node — use it to call Slack, GitHub, Stripe, your own backend, or any service that accepts HTTP.| Field | Required | Supports variables | Notes |
|---|---|---|---|
| Method | Yes | No | GET, POST, PUT, DELETE |
| URL | Yes | No | The full endpoint URL |
| Headers | No | No | JSON object — e.g., {"Authorization": "Bearer TOKEN"} |
| Body | No | Yes | JSON body (not used for GET requests) |
{{lastHttpResponse.data}}, {{lastHttpResponse.status}}, and other {{lastHttpResponse.*}} variables.
- Post to Slack
- Trigger a CI/CD pipeline
- Read from an API (GET)
Logic nodes
Logic nodes don’t create or send anything — they control how execution flows through your workflow.Condition
Evaluates a true/false expression and branches the workflow into two paths. The Condition node has two output handles: True (top) and False (bottom). Edges leaving a Condition node are automatically labeled so you can see which path is which on the canvas.| Field | Description | Example |
|---|---|---|
| Field | The data path to evaluate | trigger.entity_data.status |
| Operator | How to compare the value | equals, contains, greater than |
| Value | What to compare against | blocked, high, client |
| Operator | Meaning |
|---|---|
equals | Exact match |
not_equals | Does not match exactly |
contains | Substring is present |
not_contains | Substring is not present |
starts_with | Value starts with the string |
ends_with | Value ends with the string |
gt | Greater than (numeric) |
gte | Greater than or equal to (numeric) |
lt | Less than (numeric) |
lte | Less than or equal to (numeric) |
is_empty | Value is null, undefined, or empty string |
is_not_empty | Value has any content |
- Field:
trigger.entity_data.status - Operator:
equals - Value:
blocked - True path: Create an escalation note and urgent follow-up task
- False path: Log the status change with a low-priority task
Delay
Pauses the workflow for a specified amount of time before the next node runs.| Field | Description |
|---|---|
| Duration | A number representing how long to wait |
| Unit | seconds, minutes, or hours |
Long-running delays use a checkpoint-and-resume mechanism so they don’t block other workflows from running. The workflow pauses cleanly and picks up where it left off when the delay expires.
Approval gate
Pauses the workflow entirely and waits for a human to review and approve before execution continues. No subsequent nodes run until someone clicks Approve & Resume in the Runs panel.| Field | Description |
|---|---|
| Gate label | A short name for this checkpoint — e.g., Lead Approval |
| Instructions | What the reviewer should check before approving |
Workflow pauses
When execution reaches the Approval Gate node, the workflow stops immediately. The run’s status changes to Paused in the Runs panel.
Reviewer is notified
The Runs panel shows an amber pause icon next to the paused run, with the gate’s label and instructions visible when expanded.
Reviewer approves
The reviewer opens the Runs panel, expands the paused run, reads the instructions, and clicks Approve & Resume.
- Gate label:
Lead Approval - Instructions:
Review CI results and staging environment before approving production deploy.
Connecting nodes
Hover over any node on the canvas to reveal small circular handles on the top (input) and bottom (output) edges. To create a connection:- Click and drag from an output handle on one node.
- Drag to an input handle on another node.
- Release — an animated arrow line appears showing the direction of execution.
Configuration panel
Select any node to open its configuration panel on the right side of the canvas. This is where you set all the node’s fields, choose dropdown values, and insert variables using the{{ picker. Changes save automatically as part of the workflow’s auto-save.
Next steps
Variables
Use dynamic data from triggers and previous nodes in your node fields.
Templates
See pre-built workflows that combine these nodes into complete automations.