# Procedures

**Summary:** Agentic actions the Customer Agent and Team Assistant can take on behalf of customers: follow-ups, redirects, components, live chat, API calls.

**In short:** Agentic actions the Customer Agent and Team Assistant can take on behalf of a customer during a conversation.

**Last updated:** 2026-05-27

## Key concepts

### Procedure types
Seven actions are available out of the box.

- **Suggest a follow-up question.** Surfaces a related question the customer can click.

- **Redirect to a URL.** Sends the customer to a specific page.

- **Start a component.** Opens an Unless component during the conversation (video, form, multistep flow).

- **Switch topic.** Moves the conversation to a different slice of Living Knowledge.

- **Live chat.** Hands the conversation to a human agent.

- **API call.** Calls an endpoint on your backend and uses the response.

- **Custom JavaScript.** Runs arbitrary JavaScript when the customer clicks. Covered in detail under [Custom Procedures](/en/help/advanced/custom-procedures-javascript-and-api/).

### Variables
Inputs a Procedure needs to run. If the agent does not already have a variable, it asks the customer for it. Variables can depend on previous answers.

### Triggers
Where and when a Procedure shows up. Linked to a Source, fired on negative feedback, after an unanswered question, or always.

### Escalation flag
Marks a Procedure as escalating the conversation. Used in reports to track how often the agent reached its limit.

## What you can do here

- Create Procedures of any of the seven types
- Set variables the agent will collect during the conversation
- Link a Procedure to one or more Sources or FAQs
- Set trigger conditions (always, after negative feedback, after an unanswered question)
- Mark a Procedure as an escalation
- Test a Procedure in [Preview](/en/help/test/preview/) before going live

## When to use it

- Customers ask about pricing and you want to redirect them to the pricing page
- Customers need to book a call and you want the agent to handle scheduling
- The agent should escalate to a human when it cannot resolve

## How it works

The agent decides when a Procedure is relevant based on the conversation and the trigger conditions. The customer always picks whether to run the Procedure. This keeps a human in the loop and prevents the agent from acting unprompted.

The platform enforces one line you cannot cross: the agent never takes an irreversible action without a human approving the boundary first. You decide which Procedures count as irreversible during setup.

## Frequently asked questions

**How do I create a Procedure?**
Open **Train > Procedures** and click **Create procedure**. Pick the type, give it a name, configure variables, set triggers.

**How do I attach a Procedure to a specific Source?**
Open the Procedure and add the Source under the Triggers tab. The Procedure now appears whenever the agent uses that Source.

**How do I collect an email address from the customer?**
Add a variable to the Procedure. Mark it required. The agent asks the customer for the email before running the Procedure.

**How do I escalate to a human?**
Use the Live chat Procedure type if you have a live chat integration enabled. Mark it as an escalation so it shows up in your escalation reports.

**How do I limit a Procedure to certain customers?**
Combine the Procedure with an Audience. Set the Procedure to fire only when the customer is in that Audience.

**How do I see if a Procedure is working?**
Open **Analyze > Conversations** and filter for conversations where the Procedure ran. Check completion rates and customer reactions.
