Proactive triggers let you start a procedure from outside the conversation entirely: when a customer clicks a specific element on your website, or when an external system calls the Intercom API.
Customer experience
When a proactive trigger fires:
Fin sends the first message you configured to the customer — an opening message you set up as part of the trigger, before any conversation begins
The procedure only begins after the customer replies
If the customer never replies, the conversation closes with a Pending outcome
Set up proactive procedures
Trigger a procedure from a website element
Website element click triggers fire when a customer clicks a specific button, link, or other element on your website. For example, you can trigger a procedure to walk a customer through disputing a transaction when they click a button for a charge they don't recognize.
How to set up a proactive procedure for a website element
Navigate to Fin AI Agent > Train > Procedures.
Open the Procedure in the editor.
In the When to trigger section, go to Based on events and click Add. The proactive triggers panel will appear on the right.
Select Website element click from the proactive triggers panel.
Enter the URL of the page where the element lives, then click Browse and select.
You'll be redirected to the URL you added. Use the Navigate button in the toolbar at the bottom of the page to go to a different page if needed.
Hover over the element you want to use — it'll highlight when selected. Click Select to confirm it, then click Save and close.
Add Fin's first message — this is the opening message Fin sends when the procedure is triggered, before any conversation begins. Fin will only start running the procedure instructions once the customer replies.
Expand the Let Fin continue after this procedure ends section. This controls how Fin behaves during and after the conversation, and is separate from your main Fin deploy settings — it only applies when this procedure is triggered by an event.
Configure the behavior settings for this procedure. Under During the conversation, choose which training Fin follows — content, guidance, procedures, attributes, and escalations — and set how it handles escalations and answer types. Under At the end of the conversation, configure follow-up messages, CSAT, and auto-close preferences.
Under If Fin can't resolve the conversation, send it to, choose Team to route to a specific team (or leave as Unassigned), or choose Workflow to trigger an automation. You can also write a message for Fin to send to the customer before handing the conversation off.
Trigger a procedure from an external event
API call triggers let an external system start a procedure programmatically. For example, if a file upload fails in your app, your system can call the API to trigger a procedure that walks the customer through troubleshooting steps and how to resolve it.
Note: This trigger supports web (Messenger) and email channels. It defaults to web if no channel is specified.
Prerequisites
A Developer Hub app with an access token
The token must have write_conversations scope
Important: Store your access token server-side. Never include it in client-side code where it could be exposed.
Making the API call
Navigate to Fin AI Agent > Train > Procedures.
Open the Procedure in the editor.
In the When to trigger section, go to Based on events and click Add. The proactive triggers panel will appear on the right.
Select API call — the procedure-specific endpoint URL is shown here.
Send a POST request to that URL with the headers and body below.
Configure Fin's first message (required).
Configure deployment settings — control how Fin behaves during and after the conversation, including where to route it if Fin can't resolve.
Required headers:
Authorization: Bearer {your-access-token}
Intercom-Version: UnstableImportant: The Intercom-Version: Unstable header is required. This endpoint is not yet on a stable API version — omitting this header will cause the request to fail.
Request body:
{
"user": {
"id": "your-user-id"
},
"context": {
"key": "value"
}
}The context field is optional. Use it to pass custom key-value pairs — for example, a transaction ID — that the procedure can reference as variables during the conversation.
Success response
A successful request returns a conversation_id and procedure_id:
{
"conversation_id": "...",
"procedure_id": "..."
}
Deployment settings
These Settings control how Fin behaves for conversations started by a proactive trigger.
They're separate from your main Fin deploy settings and only apply when this procedure is triggered by an event.
During the conversation, Fin will:
Follow training — choose which training Fin follows: content, guidance, procedures, attributes, and escalations. Each can be managed independently.
Control answer type — set whether Fin uses AI Answers or Custom Answers.
Set expectation for human support — optionally inform customers about wait times before handing over to a teammate.
Ask for more information before handover — when enabled, Fin collects additional context when a customer asks to speak to a teammate.
At the end of the conversation, Fin will:
Follow up with inactive customers — choose whether Fin confirms the customer still needs help, offers escalation, or sends no follow-up.
Ask for conversation rating (CSAT) — optionally send a CSAT survey after the conversation ends.
Auto-close abandoned conversations — configure when Fin should close conversations where the customer becomes inactive.
If Fin can't resolve the conversation, choose whether to send it to a team or trigger a workflow:
Team — select a specific team from the dropdown, or leave as Unassigned.
Workflow — select a workflow to trigger from the dropdown.
For both options, you can also enter a message for Fin to send to the customer before it hands the conversation off.
Routing after the first customer reply
Triggering a procedure doesn't guarantee it runs. After the customer's first reply, Fin evaluates the message and decides how to proceed:
Fin follows the triggered procedure if none of the conditions below apply
Fin sets the procedure aside if the reply asks for a human agent
Fin sets the procedure aside if the reply matches a different procedure's intent
Fin sets the procedure aside if it can confidently answer the reply from help content
Note: Design your proactive flows with this in mind — a triggered procedure isn't guaranteed to execute if the customer's first reply pulls Fin in a different direction.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts













