Fin Procedures let you design clear, repeatable flows that guide Fin through handling complex queries. You define the structure using Steps, extend Fin’s abilities with Tools, and shape its behavior with Guidance.
Whether you’re collecting information, branching logic, connecting to external systems, or handing off to teammates, Procedures give you full control over how Fin handles a conversation from start to finish.
Note:
Fin Procedures is currently in managed availability. Please contact your account manager to learn how to join.
To create Procedures you need to have the permission "can manage workspace data".
Get started
To build a new Fin Procedure, navigate to Fin AI Agent > Train > Procedures in your workspace. Click + New procedure and choose your preferred creation method:
Option 1: Let AI draft your procedure
This is the fastest method if you already have a process in mind or documented.
Select Let AI draft your procedure.
Choose your starting point:
Describe your process: Write your process in natural language, or paste existing step-by-step instructions or Standard Operating Procedures (SOPs) directly into the text box. Fin will automatically structure them into a proper procedure format for you. Select which attributes and Data Connectors to include as context — you can choose specific connectors rather than passing all of them, and attributes now act as context rather than just placeholders.
Choose a template: Select an industry-specific template (e.g., SaaS, Ecommerce, Fintech, or Gaming) and pick a common scenario, like "Cancel or pause a subscription". Select which attributes and Data Connectors to include as context — you can choose specific connectors rather than passing all of them, and attributes now act as context rather than just placeholders.
Click Continue. Fin will then analyze your input and ground the draft in your workspace context by searching through your past customer conversations, existing documentation, and Data Connectors.
Answer the clarifying questions to help Fin flesh out specific logic and instructions. While these are optional, providing this information ensures a more accurate draft.
Once Fin generates the draft, a feedback modal appears. Choose Keep to accept the draft, Clear to discard it and start fresh, or Try again to regenerate.
Tip: If you already have step-by-step instructions, or a documented process, use Option 1: Let AI draft your procedure. Simply paste your existing instructions and let Fin structure them into a proper procedure format — no need to manually format each step yourself. You can also draft your use case first to identify which Data Connectors you'll need to set up before going live.
Option 2: Create from scratch
Use this method if you want to build a Procedure manually.
Select Create from scratch.
Name your procedure and enter the editor to begin adding steps manually.
Tip: Read our quick start guide to create your first Fin Procedure.
Tell Fin when to use this procedure
At the top of the editor, you'll find the When to use this procedure section. This is crucial to telling Fin exactly when to utilise this Procedure. To ensure Fin triggers only when intended, you must provide clear trigger logic and high-quality conversation examples. These two components work together to improve reliability and reduce false positives.
1. Write the 'When to use this Procedure' logic
Describe exactly when this procedure should (and should not) start. A strong trigger includes specific criteria and exclusions.
Example of high-quality trigger logic:
When to trigger this procedure: Trigger this procedure when a customer reports that the software is not working correctly or is behaving unexpectedly.
Inclusion criteria (Trigger if):
The customer describes a specific technical problem or error.
The customer states that a feature is broken.
The customer mentions a bug, glitch, or malfunction.
Exclusion criteria (Do NOT trigger if):
The customer is requesting a new feature.
The customer is asking account-related questions (e.g., password resets).
Clear, comprehensive triggers ensure Fin activates your procedure for the right customer intents and avoids firing for unrelated queries.
2. Train Fin with examples
Once you have written your logic provide conversation examples to Fin.
Click the Train Fin on examples button.
When to use: Provide examples of phrases or scenarios where this procedure is appropriate.
When NOT to use: Provide examples of similar but unrelated queries to prevent false triggers.
Note: These examples are crucial for training the AI to distinguish between a "password reset" and "general login policy info" .
Add instructions to the procedure
You can tell Fin what to do when the procedure is triggered by writing instructions. On top of these instructions you can also add deterministic controls that give Fin more powers - such as conditions, or even tools to enable Fin to access external data, update attributes.
Steps define the flow. You add them by typing / on a new line.
Tools give Fin powers (like checking APIs). You add them by typing @ inside an Instruction step.
Feature | What it does | When to use it |
Instruction | The default block. Plain natural language instructions. | For almost everything. "Ask the customer for their email." |
Condition | Adds branching logic (IF / ELSE). | Use for major, mutually exclusive paths that significantly change the flow (e.g., "IF the item is broken, do X. ELSE do Y.").
For small variations or minor clarifications, use natural language Instructions instead of branching. This keeps your procedures simpler and allows Fin’s AI to handle the conversation more naturally. |
Run Sub-procedure | Runs a sub-procedure. | To reuse a common flow (e.g., "Verify Identity") without rewriting it, or a complex flow you would like to hide from the main flow. |
End | Ends the Procedure immediately and passes back to Fin. Each End step has a configurable end message — you can write a custom message, leave it empty to send nothing, or keep the default. You can also choose an end action for when the End step is reached: No action (the conversation stays open), Close conversation (the conversation is closed), or Close conversation and prevent replies (the conversation is closed and the customer cannot send further replies). | Use this to stop a Procedure once a specific goal or logic condition has been met, ensuring Fin doesn't continue following the procedure steps. |
Call data connector | Fetches live data from connected apps (Shopify, Stripe, etc.). | Inside a step when you need to check an order status or balance. |
Read an attribute | Looks up existing customer data. | Inside a step to check a user's plan or ID. |
Update an attribute | Saves information the customer gave you into an attribute | Inside a step to remember an answer for later. |
Handoff to team | Intentionally hands the conversation over to a team or teammate. | Inside a step when the bot can't solve the issue. This follows the escalation path defined in the workflow following the Fin block that is defined in the Deploy section. |
Important:
No nesting: You cannot nest Condition steps inside other Conditions.
Single logic type: You cannot mix code and natural language conditions within a single step.
Unsupported attributes: Attributes like dates or decimals cannot currently be referenced in conditions.
Sub-procedures
Reuse: You can reuse a sub-procedure multiple times within the same parent procedure.
Scope: Sub-procedures are currently local and cannot be called by other unrelated procedures.
Learn more:
Add guidance
Give Fin specific guidance on how to interact with customers while running a procedure. To add guidance, open a Fin Procedure and click Guidance in the top right corner of the Instructions editor.
Choose which workspace level guidance should apply to this procedure. Fin will combine all selected guidance:
Communication style
Context and clarification
Handover and escalation
Other guidances
You can also write custom procedure-specific guidance that apply only to this procedure. Fin will combine this with any workspace level guidance you selected. For example: "Never bring up a refund unless a customer mentions it first."
Configure end messages
By default, Fin sends "Anything else I can help you with?" when a procedure ends. You can customize this message per End step, set a global default, or leave it empty to send nothing at all.
Each End step has a configurable message. Click the End pill to open a side panel where you can write a custom message using rich text and @attribute mentions.
To set a default message for when the procedure completes naturally (without hitting an End step), open the procedure Settings dialog and go to the End message tab.
You can add an End step inside the instruction steps also, by typing @End. To control what happens when an End step is reached, click the End pill to open the side panel and choose an end action:
No action: The conversation remains open after the procedure ends.
Close conversation: The conversation is closed when the End step is reached.
Close conversation and prevent replies: The conversation is closed immediately and the customer cannot send further replies.
Note: End messages support automatic localization — they're translated into the workspace's permitted languages, respect glossary settings, and are served in the customer's conversation locale.
Select your Channels
To run a procedure on specific channels, such as Web, iOS, Android, Facebook, WhatsApp, Instagram, SMS, Email, or Slack use the Audience targeting settings within the procedure editor. Ensure the desired channel is selected in the Channels dropdown menu.
To run a procedure for specific audience use the Audience targeting settings within the procedure editor. Ensure the desired channel is selected in the Audiences dropdown menu.
Test and verify the procedure
Before you set your procedure live, you must verify that it works as intended. Click the Test button at the top of the editor to access two testing methods:
Preview
The Preview tab allows you to interact with Fin as a customer would. Use this to get a feel for the tone, greeting, and general flow of the conversation.
Simulations
The Simulations tab allows you to automatically test different logic paths within your instructions. This gives you confidence that Fin will behave as intended before you launch the procedure to real customers.
Choose a simulation type:
Happy path: Fin's AI automatically suggests a standard scenario to help you get started quickly and see how the feature works.
You can also create Custom Simulations: Create specific scenarios to test edge cases or technical integrations by defining:
The context: Set the opening customer message and how the conversation should proceed.
Mock data: Define custom inputs and mock Data Connector responses to simulate how Fin handles live data (e.g., a "Payment Failed" response from Stripe).
Success criteria: Specify the exact outcomes you expect, such as which tools should be triggered or what information Fin must provide.
Run and review:
Run the simulation to watch Fin execute your steps, trigger the mock APIs, and follow your logic.
Pass: The simulation met all defined criteria.
Fail: The simulation failed. Click into the simulation to see exactly where Fin deviated from the instructions.
Once you are satisfied with the results, click Set live to make the procedure available to your customers.
View version history
Every time you set a procedure live, that version is saved and accessible in the version history side panel. This gives you a curated record of all changes that have impacted Fin without the noise of historical drafts.
The side panel shows:
All previously live versions
The current live version
The active draft (if one exists)
Click any version in the side panel to open a read-only view of that version in the editor. To return to editing, click the Back to editing button.
Note: Historical drafts are not shown in version history — only versions that have been set live are recorded.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts













