# Workflows reference

Every trigger and step in Workflows: when each trigger fires, what it carries, and what each step does and needs.

Updated Oct 28, 2026. Source: https://smallbusinesschatbot.com/docs/workflows

## What this section covers

A workflow in Small Business Chatbot is one trigger followed by steps: the trigger starts a run and hands it data, and each step does one thing with that data. This section lists every trigger and step as the app names them in **Workflows**. The how-to guides start at [Your first workflow](https://smallbusinesschatbot.com/docs/user-guides/workflows/your-first-workflow).

> **Note:** A workflow starts runs only while its status is **Published**.

## Triggers

| Trigger | When it fires | What it carries |
|---|---|---|
| [Chat ended](https://smallbusinesschatbot.com/docs/workflows/triggers/chat-ended): **Chat Widget Conversation Ended** | A website chat with the AI chatbot ends. | The visitor's name, phone and email, the action items, the summary, the transcript and the CRM contact. |
| [Call ended](https://smallbusinesschatbot.com/docs/workflows/triggers/call-ended): **Inbound voice call ended** | An inbound call the AI receptionist answered ends. | The caller's number, the name, email and action items collected on the call, the transcript, the recording link when recording is on, and the CRM contact. |
| [Text conversation ended](https://smallbusinesschatbot.com/docs/workflows/triggers/text-conversation-ended): **Inbound text conversation ended** | A text conversation on your business number goes 5 minutes without a new text, or the person texts bye or goodbye. | The texter's number, the name, email and action items collected in the texts, the messages and the CRM contact. |
| [Appointment booked, rescheduled, cancelled](https://smallbusinesschatbot.com/docs/workflows/triggers/appointment-events): **Appointment booked**, **Appointment rescheduled**, **Appointment cancelled** | A booking is made, moved or cancelled through your booking page or a website chat with the chatbot. | The contact and the appointment: title, start and end times, time zone, location, and the reschedule and cancel links. |
| [Contact created and tag added](https://smallbusinesschatbot.com/docs/workflows/triggers/contact-events): **Contact created**, **Contact tag added** | A new CRM contact is saved, or someone adds a tag to a contact in the app. | The contact's fields. **Contact tag added** also carries the tag. |
| [CRM changes](https://smallbusinesschatbot.com/docs/workflows/triggers/crm-changes): **Company created**, **Opportunity created**, **Opportunity updated**, **CRM note created**, **CRM task created**, **CRM task updated** | One of these CRM records is created or changed. | The record, and for an update its values before the change. |
| [Inbound webhook](https://smallbusinesschatbot.com/docs/workflows/triggers/inbound-webhook): **Inbound Webhook** | Another app sends a POST request to the trigger's URL. | The request's data, or only the fields your mapping rules pick. |
| [Schedule](https://smallbusinesschatbot.com/docs/workflows/triggers/schedule): **Cron** | Every set number of minutes, hours or days, in the workflow's time zone. | Nothing. A scheduled run has no contact and no trigger data. |

To prevent loops, records a workflow step creates or changes fire no **Contact created**, **Contact tag added** or CRM-change trigger. To start a workflow for contacts from a CSV import, add a tag to them in **CRM › Contacts**: each one starts any published workflow with **Contact tag added**.

## Steps

| Step | What it does | Needs |
|---|---|---|
| [Send Text](https://smallbusinesschatbot.com/docs/workflows/steps/text) | Texts a number from your business phone number. | **Outbound automation** and **Text messages** on. A business phone number. |
| [Send Email](https://smallbusinesschatbot.com/docs/workflows/steps/email) | Sends an email from your sending domain. | **Outbound automation** and **Emails** on. A sending domain. |
| [AI voice call](https://smallbusinesschatbot.com/docs/workflows/steps/ai-call) | Makes an AI phone call to a number, with the opening line, goals and call flow you write. | **Outbound automation** and **Voice calls** on. A business phone number. |
| [Wait](https://smallbusinesschatbot.com/docs/workflows/steps/wait) | Pauses the run for a set time, optionally only ending inside allowed days and hours. | Nothing. |
| [Relative Wait](https://smallbusinesschatbot.com/docs/workflows/steps/wait#relative-wait) | Pauses until a set time before or after an appointment or another date. | A date in the run's data. |
| [If](https://smallbusinesschatbot.com/docs/workflows/steps/branch) | Compares two values and sends the run down its TRUE or FALSE branch. | Nothing. |
| [AI Agent](https://smallbusinesschatbot.com/docs/workflows/steps/ai-step) | Answers a question you write, as text or as fields, and can call tools. | Nothing. |
| [Find Contact, Upsert Contact, Upsert Company, Upsert Opportunity, Create CRM Note, Create CRM Task, Add Contact Tag, Remove Contact Tag](https://smallbusinesschatbot.com/docs/workflows/steps/crm-steps) | Finds, creates or changes records in your CRM. | Nothing. |
| [Remove From Cadence](https://smallbusinesschatbot.com/docs/workflows/steps/remove-from-workflow) | Stops the contact's other active runs, in one workflow or in all of them. | A contact on the run. |
| [Stop Current Workflow](https://smallbusinesschatbot.com/docs/workflows/steps/remove-from-workflow#stop-current-workflow) | Ends this run. | Nothing. |
| [HTTP Request](https://smallbusinesschatbot.com/docs/workflows/steps/http-request) | Calls any public web address and saves the response. | A saved credential when the API needs a key. |
| [Variable](https://smallbusinesschatbot.com/docs/workflows/variables#the-variable-step) | Saves a value under a name for later steps. | Nothing. |
| Text Extractor | Pulls a piece of text out of a value, between a start and an end text or by a pattern. | Nothing. |
| Date Formatter | Writes a date from earlier data as readable text, such as December 24, 2026 and 5:00 PM. | Nothing. |
| Duplicate another Node | Copies another step's settings into this step. Click **Apply duplicate** before saving. | Another step to copy. |

Every step also has a **Node name**, which names its output for later steps, and a **Settings** tab for errors and retries.

## Reference

- [Variables](https://smallbusinesschatbot.com/docs/workflows/variables): How `{{...}}` tokens are filled in, what each root holds, and what happens when a value is missing.
- [Workflow credentials](https://smallbusinesschatbot.com/docs/workflows/credentials): Bearer, Header and Basic credentials for the HTTP Request step, and where their secrets are kept.
- [Limits and switches](https://smallbusinesschatbot.com/docs/workflows/limits-and-switches): The outbound switches, daily limits, opt-outs, stop on reply and the limits on runs and steps.
- [Executions](https://smallbusinesschatbot.com/docs/workflows/run-history): What a run shows, its statuses, how a failed step reads, and which values are masked.
