Skip to main content

Fin Messenger: Setting up with Salesforce

How to configure and customize Fin in the Fin Messenger and pass conversations to Salesforce.

Use this article to set up Fin in the Fin Messenger with Bring Your Own Channel for Salesforce Messaging. By the end, you'll have Fin live on your website — able to answer customer questions and hand off unresolved conversations to your Salesforce team as a Case or live agent chat.


1. How to connect Fin to Bring Your Own Channel in Salesforce

For Fin to be able to hand-off live chats to your team in Salesforce, it needs a the Fin Bring Your Own Channel installed an activated. This requires a Messaging Channel to be set up in Salesforce.

Add your Fin channel identifier

  1. Install the Fin for Salesforce: Messaging package

  2. Go to Messaging Settings in Salesforce setup.

  3. Create the Messaging Channel using Fin as the Channel and open it.

  4. Open Conversation Channel Definitions, select Fin, then use Modify Conversation Channel Definition to select Fin for Salesforce.

  5. Click Activate at the top right corner of the page.

  6. In the Messaging Settings section, find the Channel Address Identifier field.

  7. Copy its value.

  8. Paste it into the Channel identifier field, then click Save.

Once saved, the page will confirm if the messaging channel is connected correctly. You can then move on to step 2.

Service Cloud Real Time permissions

This needs to be done so that Fin can start receive the messaging events from the Fin Bring Your Own Channel.

  1. In Salesforce Setup, Go to Permission Sets , search for SCRT2 Integration User and select it.

  2. In the quick search bar, search for Fin Message Events and select it.

  3. Click on Edit

  4. Enable Read and Create permissions

  5. Click Save

Once saved, the Service Cloud Real Time permissions section status badge should switch to Granted. You can move on to step 3

Activate Bring Your Own Channel

When you install the Fin for Salesforce: Messaging package you create a partner event source with Fin. Your partner event source is automatically activated when you add your Fin channel identifier, so that Fin will get events for every message your agents send out on BYOC. If that didn't work, activate it here.

Once activated, the Activate Bring Your Own Channel section status badge should switch to Activated. You can move on to the last step.

Run the Event Relay

Fin receives Salesforce message events through an Event Relay. It starts automatically when you add your Fin channel identifier, and Salesforce takes a few minutes to report it as running.

  1. In Salesforce setup, Go to Event Relays, edit the Fin Event Relay (AWS) by selecting Edit from the dropdown on the right.

  2. Select Run as the State

  3. Click Save

Once running, the Run the Event Relay section status badge should switch to Running. The Bring Your Own Channel setup is now complete.


2. How to create a Fin Messenger workflow

Customize the way Fin greets and responds to customers or hands off when it's unable to help by selecting Manage workflow in Deploy > Fin Messenger > Create a workflow.

The Create a workflow screen in Deploy > Fin Messenger, showing the Manage workflow button.

Based on the hand-off option you've chosen — either Create a Salesforce Case or Hand-off to Salesforce Agent — a starter workflow template will be pre-loaded for you in Deploy > Fin Messenger > Create a workflow.

The workflow template selection screen showing available hand-off templates to choose from.

Click on the Let Fin handle step to:

  • Set expectation for human support - Show teammates presence in a messenger conversation. Disable this if your team all work in another tool or no one is monitoring the inbox.

  • Follow up with inactive customers - Decide what happens if the customer doesn’t respond after Fin answers.

  • Ask for more information before handover - Collect more information when a customer asks to speak to the team. When collecting more information Fin may provide an additional answer—increasing the likelihood of a resolution.

  • Create Salesforce case when Fin answers - To help your team keep track of customer queries, Fin can create a Salesforce case for every conversation it resolves, or for conversations where it responds but the end user is inactive.

  • Ask for conversation rating (CSAT) - Choose to send a Customer Satisfaction (CSAT) survey after customers interact with Fin.

  • Handle inactive conversations - Specify how long Fin should wait before a customer is considered inactive.

  • Confirmed resolution workflow - Trigger a workflow after a confirmed resolution.

The Let Fin handle step configuration panel, showing the available settings such as Set expectation for human support and Ask for conversation rating.

You can tailor the experience further by:

  • Creating different branches based on your conditions.

  • Choosing when Fin answers.

  • Having Fin send a message.

  • Providing reply buttons.

  • Collecting data.

  • Collecting the customer reply.

  • Adding internal notes.

  • Adding an AI generated summary of the conversation.

  • Auto-classifying Case attributes based on what the customer said.

How does Fin hand off an unresolved conversation?

In the final hand-off path of the workflow, you can choose how Fin hands over the conversation:

  • Create a Salesforce Case: Ends the users session in Intercom and creates a Case with a conversation summary and collected data.

  • Hand-off to Salesforce Agent: Starts a live chat in the Fin Bring Your Own Channel for a team member to continue the conversation.

If a hand-off option has already been selected in the workflow, you can remove it by hovering over the hand-off step, clicking the 3 dots that appear, and selecting Delete.

The workflow hand-off step showing the 3-dot menu with the Delete option for removing a selected hand-off option.

If you choose Create Salesforce Case, you can click this action in your workflow to configure which Record Type will be used when the workflow hands off a conversation from Fin Messenger.

This Record Type will automatically apply to all new Cases created through the workflow handoff.

The Create Salesforce Case action configuration panel, showing the Record Type selector.

Tip: Use different Record Types to route or categorize Cases for specific products, customer tiers, or regions.

You can also configure a failure message that will be shown to customers if Fin fails to create the Salesforce Case. Click the Create Salesforce Case action in your workflow to set this up.

Once you’ve finished customizing the greeting and hand-off to your team, click Save, or Set live to enable this for the Fin Messenger (you can also come back to set this live at a later stage).

What happens while the customer waits for an agent?

When Fin hands off to Salesforce, the customer waits in your Salesforce queue until an agent accepts the chat. During that wait, Fin keeps checking whether the customer is still there.

Inactivity

  • Fin uses the inactivity time you set in Handle inactive conversations on the Let Fin handle step. If that's off, it uses your workflow's inactivity setting.

  • The timer starts again every time the customer sends a message.

  • If the customer stops replying and the timer runs out before an agent accepts, Fin closes the live chat in Salesforce and ends the conversation.

  • Once an agent accepts the chat, Fin steps back and the inactivity timer no longer applies.

When no agent picks up

To have Fin create a case instead of leaving the customer waiting, open the Hand-off to Salesforce agent step and expand When no agent picks up.

  1. Turn on Create a case when no agent picks up in time.

  2. Set how long Fin should wait for an agent. This can be from 1 minute to 24 hours, and the default is 10 minutes.

  3. Click Manage case creation settings to choose who the case is assigned to and how it appears in Salesforce.

If no agent accepts in time, Fin creates a Salesforce case with a summary and transcript of the conversation, then closes the live chat.

Tip: With this setting on, Fin won't close an inactive chat until the wait time is up. That way, the customer gets a case first.

Good to know

  • A case needs an email address. If Fin doesn't have one, it asks for it before connecting the customer to an agent. Customers who skip that question are still connected, but they won't get a case.

  • Fin doesn't create a case if an agent has already replied, or if the chat is no longer waiting in Salesforce. In those cases, the normal inactivity rules apply.


3. How to manage Salesforce data sync for Bring Your Own Channel

Next, open Deploy > Fin Messenger > Manage Salesforce data and click Manage data to sync your Salesforce fields and populate them with Fin.

  • Record matching: Select how Contact and Account records are matched when Fin retrieves records from Salesforce using the IDs you pass to the Fin Messenger via the JSON Web Token (JWT). These IDs are set during JWT authentication — see the JWT authentication guide for details on how to include contact and account IDs in the token payload.

Note: It is recommended to choose a field that’s unique and shared between Salesforce and your product. This way the Salesforce Contact or Account will be unique in Fin too.

  • Pull data from Salesforce: Your Salesforce fields are now synced and available for use in the Fin platform. Fin checks for any updates to these fields when a customer opens the Messenger.

  • Push data to Salesforce: Fin adds data when it's assigned or when it replies. The data it adds depends on how you’d like it to hand off to Salesforce, which you’ll set up in the next step when you build your workflow.

    • Creating a Salesforce Case - Fin can create a case when it resolves a chat, or can’t answer a question. It automatically populates Subject, Description, Email, Transcript, and Summary, and you can populate other fields through your workflow.

    • Handing off to a Salesforce agent - If Fin can’t answer, it can hand off the chat to your team in Salesforce. It sends all conversation and customer data as pre-chat data, and you’ll need to use Salesforce Flows to map it to your records – it can be mapped to any record.

The data sync configuration screen showing the Record matching, Pull data from Salesforce, and Push data to Salesforce options.


4. How to install Fin Messenger

Now you'll need to install the Fin Messenger for your website / web app.

The Install Fin Messenger screen in Deploy > Fin Messenger, showing the Install button.

Install Fin Messenger for web

Choose how you'd like to install the Messenger

Firstly you will need to choose how you would like to install the messenger. If you select Code snippet, React, Angular, Vue, Ember or Shopify as the installation method, you'll have the choice of installing Intercom for website visitors without logins.

The instruction for installing Code snippet, React, Angular, Vue, Ember or Shopify will update as you select each of the options. For the methods listed that allow the installation for both Users with logins and Visitors without, you will need to copy the code snippet for each installation method you wish to use.

For Users with logins, you will need to switch on the toggle Enable connection to messenger to continue to the installation code.

Follow the instructions given

Now follow the instructions given for the method you selected. For example, if you selected Shopify you'll see the steps required for this installation method.

The Shopify installation steps shown in the installer after selecting Shopify as the installation method.

If you selected the Code snippet, React, Angular, Vue, or Ember method, you'll be provided with an NPM package containing a code snippet to copy and paste into the codebase of your own app. This snippet is pre-populated with your unique workspace ID, so it's ready to go.

The NPM code snippet pre-populated with your workspace ID, ready to copy and paste into your app.

You can also find the package directly on the NPM site.

There are several other templates available: - Basic JavaScript - Single-page app - Rails gem

The additional template options available in the installer: Basic JavaScript, Single-page app, and Rails gem.

Click Copy code and paste it before the </body> tag on every page you want the Messenger to appear on your app.

After adding the code, you can visit any page where you have installed the messenger and it should appear in the bottom right hand corner or you can use the Check installation option in the install process.

If you're having trouble setting up the Fin messenger in your Salesforce portal. We have a Salesforce unlocked package that installs a Lightning Web Component (LWC) in your Salesforce Organization, which when embedded within your Salesforce portal launches the Fin Messenger.
​
Follow the steps documented in Embedding Fin Messenger in your Salesforce portal

Secure the Fin Messenger with JSON Web Tokens (JWTs)

If you have the Fin Messenger installed on your site for logged in users, it's essential to secure it and prevent bad actors from impersonating your users or sending unauthorized data. ​

JSON Web Tokens (JWTs) prevent third parties from impersonating your logged-in users and seeing their conversations. We strongly recommend that all Fin customers enforce JWT authentication.


5. How to live test Fin Messenger

First you'll be asked to ensure you've given Fin sufficient training. This is important before starting live testing. The more training you provide Fin, the better its ability to answer your customer’s questions accurately.

We recommend reading our complete guide on all of the ways you can train Fin so its able to answer your customers questions as accurately as possible.

Once you've checked that Fin is sufficiently trained and customized the messenger to match your company branding, you can go to Deploy > Fin Messenger and click Live test at the top of the page.

The Live test screen in Deploy &gt; Fin Messenger, showing the Live test button at the top of the page.

Live testing mode:

  • Launching a live test activates Fin Messenger without impacting your customers.

  • Enter your website below, or add ?intercomLiveTest=true&messenger_environment=c90npiveag at the end of your URL.

The live test URL entry screen where you can enter your website URL or append the test parameter to an existing URL.

This is the best way of seeing exactly how Fin in the Fin Messenger will look and behave within the website or app that you've installed it, without any customers seeing it.

An example of Fin Messenger in live test mode as it appears to the tester on a website, without being visible to customers.


6. How to go live with Fin Messenger

Now you’re ready to set Fin live for your customers. Go to Deploy > Fin Messenger and select Go Live at the top of the page.

The Go Live screen in Deploy &gt; Fin Messenger, showing the Go Live button to activate Fin for customers.

Once live, Fin Messenger will be active for your customers. You can monitor conversations in Inbox and review Fin's performance in Reports > Fin AI Agent.


[Deprecated] How to connect Fin to the Salesforce Enhanced Chat API

⚠️ Deprecated - New Salesforce deployments use Bring Your Own Channel (BYOC). This section is only visible if your workspace already uses Enhanced Chat and is only required if you're using Fin Messenger. If you're setting up Fin to handle Salesforce cases, you can skip this section.

For Fin to be able to hand-off live chats to your team in Salesforce, it needs a connection to the Enhanced Chat API. This requires an embedded service deployment to be set up in Salesforce.

The Connect to the Salesforce Enhanced Chat API screen in Deploy &gt; Fin Messenger, showing the Connect button.

Set up an embedded service deployment then connect to the API

  1. Go to embedded service deployment in Salesforce.

  2. Click New Deployment.

  3. Choose Custom Client.

  4. Give it a name (e.g. "Fin"), select your Messaging Channel, then Save. If you don't already have a Messaging Channel, you'll need to create one.

  5. Go into your new custom client, and click the publish button in the top right hand corner.

  6. Click on the Install Code Snippet link in the Code Snippet box.

  7. Copy the DeveloperName and Url attributes from the code snippet provided by Salesforce into the inputs in the form to connect.

The connection form showing the DeveloperName and URL fields to fill in from the Salesforce code snippet.

Once connected, the page will confirm the Enhanced Chat API connection is active. You can then go back to step 2 and configure your workflow.

The Hand-off to Salesforce agent step in Fin Messenger workflows supports toggling between BYOC and Enhanced Chat. This lets you control which messaging connection the handoff uses.

The Fin Messenger workflow editor showing the 'Hand-off to Salesforce agent' step, with a toggle to switch between BYOC and Enhanced Chat handoff modes.

💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?