> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erstan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Step reference

> Every step type you can add to an agent: triggers, AI steps, actions, logic, and utilities.

When you build an agent in the [visual builder](/agents/builder), you assemble it from **steps** (also called nodes) on the canvas. The node library groups them into four categories: **Triggers**, **AI Steps**, **By Connector** (actions), and **Utility**. This page is a reference to what each step does so you can pick the right one.

<Info>
  Every agent needs exactly one **trigger** to start it, and most pipeline agents end with an **End** step. AI steps and actions go in between.
</Info>

If you are choosing between AI steps rather than looking up a specific step, start with [Choosing AI steps](/agents/ai-steps).

## Triggers

A trigger decides how an agent starts. Add one from the **Triggers** group; it becomes the start of the agent. See [Triggers](/agents/triggers) for setup details, including **Run As** for automated triggers.

| Step                   | Starts the agent when…                                                                     |
| ---------------------- | ------------------------------------------------------------------------------------------ |
| **Chat Trigger**       | Someone sends a message in chat (Chat message). Forces the agent into a chat-first shape.  |
| **Form Input Trigger** | A form is submitted (Form submission) with the fields you define.                          |
| **Schedule Trigger**   | A recurring schedule fires (Scheduled event) — minutes, hourly, daily, weekly, or monthly. |
| **Webhook Trigger**    | An external system calls the agent's webhook URL.                                          |
| **Email Trigger**      | An inbound email arrives at the agent's address.                                           |

<Note>
  In the library, trigger filters label these as **Chat message**, **Form submission**, **Scheduled event**, **Webhook**, **Email**, and **Manual**. A Chat Trigger always makes the agent a **Chat agent**; Form and Schedule triggers are typical of **Automation** (pipeline) agents.
</Note>

## AI Steps

AI steps are where the model reasons, responds, loops, and branches. Add them from the **AI Steps** group.

| Step                       | What it does                                                                                                    |
| -------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **AI Respond**             | Generates a reply to the user. The default step for an Assistant after its Chat Trigger.                        |
| **AI Think**               | Reasons over the input and produces an intermediate result for later steps, without replying to the user.       |
| **AI Agent**               | Runs another saved agent as a step, then returns its result. Used by Workforce agents to delegate to teammates. |
| **AI Plan & Execute**      | Breaks a goal into a plan and works through it, calling tools and skills as needed.                             |
| **AI Wait for User Input** | Pauses the run and asks the person for more information before continuing.                                      |
| **AI Branch**              | Picks one of several paths based on the model's read of the situation.                                          |
| **AI While**               | Repeats a set of steps while a condition the model evaluates stays true.                                        |
| **AI For Each**            | Runs the same steps once for each item in a list (for example, each overdue invoice).                           |
| **AI Approval**            | Pauses for a person to **Approve** or **Reject** before the run continues. This is the human-in-the-loop step.  |

<Warning>
  **AI Approval** is how you put a human in the loop before consequential work. Use it ahead of any step that writes to NetSuite, and keep it in place rather than relying on **Auto-approve writes**. See [Approvals](/chat/approvals).
</Warning>

## Actions (By Connector)

The **By Connector** group lists actions exposed by your [connectors](/connectors/overview) — read and write operations against external systems. The exact actions you see depend on which connectors are connected to your workspace.

| Source               | Examples of what an action can do                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Erstan**           | Load files, analyze datasets, create or update documents and files, send Erstan email, and work with tasks and projects. |
| **NetSuite**         | Read records and run SuiteQL; create or update records such as invoices, vendor bills, and sales orders.                 |
| **Other connectors** | Post a Slack message, call an MCP server tool, or use provider tools such as web search.                                 |

See [Tools overview](/tools/overview), [Tools by Erstan](/tools/by-erstan), and [Tools by connector](/tools/by-connector) for the tool catalog.

<Warning>
  NetSuite actions that create or update records are **writes**. Each write tool has a write policy of **Allow**, **Require approval**, or **Deny**, and runs use **per-user authorization**. Gate writes behind **Require approval** or an **AI Approval** step. See [NetSuite](/connectors/netsuite) and [Tools, skills & connections](/agents/tools-skills-connections).
</Warning>

## Logic and Utility

The **Utility** group holds structural and logic steps that shape the flow without calling the model directly.

| Step                    | What it does                                                                                 |
| ----------------------- | -------------------------------------------------------------------------------------------- |
| **Note**                | A comment on the canvas to document the agent for builders. Does nothing at run time.        |
| **End**                 | Marks where a run finishes. Pipeline (Automation) agents typically end here.                 |
| **Rule-Based Decision** | Routes the flow down a path using fixed, deterministic rules you define (not the model).     |
| **HTTP**                | Calls an external HTTP endpoint and returns the response.                                    |
| **Transform**           | Reshapes data between steps — map, rename, or format fields.                                 |
| **Extract**             | Pulls structured fields out of text or a document (for example, fields from an invoice).     |
| **Guardrail**           | Checks output against a rule and blocks or flags it when the rule is violated.               |
| **Skill**               | Loads a [skill](/skills/overview) so the agent follows its packaged instructions for a task. |

<Tip>
  Use **Rule-Based Decision** when the choice is clear-cut and should always behave the same way, and **AI Branch** when the path depends on judgment about messy input.
</Tip>

## Next steps

<CardGroup cols={2}>
  <Card title="The visual builder" icon="workflow" href="/agents/builder">
    Place these steps on the canvas and connect them.
  </Card>

  <Card title="Triggers" icon="zap" href="/agents/triggers">
    Set up how each agent starts, including Run As.
  </Card>

  <Card title="Tools, skills & connections" icon="plug" href="/agents/tools-skills-connections">
    Give actions the connectors and skills they need.
  </Card>

  <Card title="Choosing AI steps" icon="brain-circuit" href="/agents/ai-steps">
    Compare AI Think, AI Respond, AI Plan & Execute, AI Agent, approvals, branches, and loops.
  </Card>

  <Card title="Approvals" icon="shield-check" href="/chat/approvals">
    How human-in-the-loop checks gate NetSuite writes.
  </Card>
</CardGroup>
