When Fullview's AI can't resolve a customer's issue, it can automatically escalate the conversation to a live agent in Salesforce. This guide walks you through connecting Fullview to Salesforce and choosing the escalation approach that fits your team.
Choose your integration type
When you first open the Salesforce escalation settings in Fullview, you'll be asked to choose between two approaches. Pick the one that matches how your Salesforce instance is set up.
| Omni-Channel Flow | Fullview Flow |
Best for | Fullview hands the conversation directly to Salesforce, which routes it to the right agent queue using its native Omni-Channel engine | If the escalation happens during business hours, Fullview creates a live Salesforce Messaging conversation. Outside of business hours, it creates a Case with the full conversation history instead |
Salesforce features used | Messaging for In-App and Web, Omni-Channel routing, Apex actions | Cases, optionally Messaging for In-App and Web |
Not sure which to pick? If your Salesforce team already has Omni-Channel configured with routing rules and queues, choose Omni-Channel Flow. If you'd prefer a simpler setup where Fullview automatically handles routing based on business hours — live conversation, ticket outside of those hours — choose Fullview Flow.
Prerequisites
Before you begin, ensure you have:
Salesforce Administrator access to your Salesforce org
Service Cloud or Sales Cloud enabled (Enterprise, Performance, Unlimited, or Developer Edition)
For messaging: Live agents available to handle escalated conversations
Option A: Omni-Channel Flow
Part 1: Salesforce Chat Configuration
To enable live messaging, you'll need to set up the following in Salesforce:
Enable Messaging Settings
Create a Routing Configuration (optional)
Create a Queue for messaging sessions (optional)
Create a Messaging Channel
Create an Embedded Service Deployment
Enable Pre-Chat
Step 1: Enable Messaging
In Salesforce Setup, search for `Messaging Settings` in the Quick Find box
Click Messaging Settings
Toggle Enable Messaging to ON
Click Save
Step 2: Create a Routing Configuration (optional)
In Setup, search for `Routing Configurations` in the Quick Find box
Click Routing Configurations
Click New
Configure the routing (example):
Routing Configuration Name: `Fullview Messaging Routing`
Routing Priority: `1` (should be handled before anything else)
Routing Model: Select `Most Available` (routes to the agent with the most available capacity)
Units of Capacity: `1` (each messaging session uses 1 capacity unit)
Click Save
Step 3: Create a Messaging Queue (optional)
In Setup, search for `Queues` in the Quick Find box
Click Queues
Click New
Configure the queue:
Click Save
Step 4: Create a Messaging Channel
In Setup, search for `Messaging Settings` in the Quick Find box
Click Messaging Settings
Scroll down to the Channels section
Click New Channel
In the popup select Enhanced Chat
Configure the channel:
Messaging Channel Name: `Fullview Messaging Channel`
Developer Name: Auto-populated
Deployment Type: Web
Click Next
Routing Type: Use the routing that makes sense for your organization (e.g. see the optional steps 2 and 3 on how to set up an Omni-Queue)
Click Save (this might take a while)
Click Activate and accept the terms
In the Channels list locate the messaging channel entry you've just created and click on the "arrow down" button on the right
Click Edit
Increase the Authorization Token Expiration Time for Unverified Users to 4320 (the upper limit)
Scroll to the Queue Wait Time and Position section and Set the Notification dropdown to Queue Position. Once enabled, Fullview will automatically display the customer's queue position in the chat window while they wait. No additional configuration is needed on the Fullview side.
Step 5: Create an Embedded Service Deployment
In Setup, search for `Embedded Service Deployments` in the Quick Find box
Click Embedded Service Deployments
Click New Deployment
Select Enhanced Chat
Click Next
Select deployment type: Custom Client
Click Next
Configure the deployment:
Embedded Service Deployment Name: e.g. `Fullview Messaging Deployment`
API Name: Auto-populated
Messaging Channel: Select the channel you created in Step 5
Click Save
Step 6: Enable Pre-Chat
From the Embedded Service Deployments list, click on your deployment you've just created e.g. Fullview Messaging Deployment
Click `Edit Pre-Chat`
Check the `Activate the pre-chat feature` checkbox and click Save
Step 7: Get Your Deployment Configuration
After creating the deployment, you need to retrieve the configuration details for Fullview:
From the Embedded Service Deployments list, click on your deployment you've just created e.g. Fullview Messaging Deployment
Click the Install Code Snippet button
In the code snippet you'll find the OrganizationId, DeveloperName and Url
Step 8: Add the information to Fullview
Part 2: Connected App Configuration (OAuth)
This section covers setting up OAuth authentication so Fullview can create Cases in your Salesforce org automatically.
Step 1: Create an External Client App
Log in to Salesforce as an Administrator
Click the gear icon in the top right and select Setup
In the Quick Find box (left sidebar), type `App Manager`
Click App Manager from the results
Click the New External Client App button in the top right
Step 2: Configure Basic Information
Fill in the following details on the External Client App creation page:
App Name: `Fullview Integration` (or any name you prefer)
API Name: Leave as auto-populated
Contact Email: Your email address
Step 3: Enable OAuth Settings
Expand the API (Enable OAuth Settings) section
Check the Enable OAuth checkbox
In the App Settings section set the Callback URL to `https://login.salesforce.com/services/oauth2/success`
Under Selected OAuth Scopes, add the following scopes from the Available OAuth Scopes list:
`Manage user data via APIs (api)`
`Access the identity URL service (id, profile, email, address, phone)`
Under Flow Enablement, check Enable Client Credentials Flow
Click Save at the bottom of the page
Step 4: Enable Client Credentials Flow
After saving, you'll be taken to the External Client App details page.
Select the Policies tab
Click the Edit button
Expand the OAuth Settings section and locate the OAuth Flows and External Client App Enhancements subsection
Check the box for Enable Client Credentials Flow
In the Run As (Username) field, input the Salesforce username that should own the API actions.
Tip: This user needs permission to create Cases. We recommend creating a dedicated integration user for this purpose.
Click Save
Step 5: Get Your Client ID and Client Secret
From the External Client App details page, click Settings at the top
Expand the OAuth Settings section
Click Consumer Key and Secret
You may need to verify your identity (enter password or use authenticator app)
Copy the Consumer Key - this is your Client ID
Copy the Consumer Secret - this is your Client Secret
⚠️ Important: Keep your Client Secret secure. Never share it publicly or commit it to version control.
Step 6: Find Your Salesforce Domain
In the Quick Find box (left sidebar), type `My Domain`
In the My Domain Details section you'll find the `My Domain Name`
Step 7: Provide Configuration to Fullview
As a last step you'll have to provide the Client ID, Client Secret and Domain from the previous steps to Fullview in the escalation configuration settings.
Part 3: Configure the apex action
Why this step exists?
When Fullview creates a conversation in Salesforce, it has no way of knowing whether any agents are available — that decision is made inside your Omni-Channel Flow. This means there are situations where the flow determines that no agent can handle the request and creates a Case instead. In those situations, Fullview needs to be notified so it can update the customer accordingly.
You do this by adding a Fullview Apex Action at the point in your flow where a Case is created and the conversation cannot be handled. Depending on how you configure the action, Fullview will either:
Tell the customer a case was created and that an agent will follow up asynchronously — if you pass the
caseIdas a parameterSilently end the conversation in Fullview — if you don't pass a
caseId
Step 1: Install the Fullview app from AppExchange
The Apex class used in this step is shipped as part of the Fullview managed package. You must install it before the action will be available in your flow.
Make sure the installed version is v43 or higher - earlier versions do not include the Apex action. You can verify this in Setup → Installed Packages
Step 2: Update Fullview Metadata in Salesforce
In Salesforce, go to Setup → Custom Metadata Types → Fullview Settings → Manage Records
Create or update an existing record
You can find all the information in Fullview on Configure Apex Action card, on escalation configuration page (FV Api Endpoint, Organisation Id, Escalations Token).
For escalations token, copy the existing one or generate a new one
5. The setting in salesforce will look like this:
Step 3: Add a Remote Site Setting
Salesforce requires you to explicitly whitelist any external URL that your Apex code will call out to. Without this, the Apex action will fail silently when trying to notify Fullview.
Go to Setup → Security → Remote Site Settings → New Remote Site
Fill in:
Remote Site Name:
Fullview(or any name you prefer)Remote Site URL: copy the FV Api Endpoint value shown in the Fullview dashboard. Should be the one you've already added in the settings
Step 4: Add the Apex Action to your Omni-Channel Flow
Add this action at the point in your flow where no agent is available and a Case has been created. That is the moment Fullview needs to be notified.
In Salesforce, open Process automation → Flows and edit the flow that handles your escalation queue
Find the branch where the request cannot be routed to an agent and a Case is created
Add a Action Step after the case is created. The action name is Fullview End Conversation.
For input, we need the following values:
Step 5: Confirm in Fullview
Back in Fullview, check the box "I have configured the Apex action" to mark this step as complete.
Part 4: Routing Attributes
Routing attributes are key-value pairs that Fullview sends to Salesforce when creating a conversation. Salesforce's Omni-Channel flow uses them to decide which queue the conversation should be routed to. For example, you might route conversations from enterprise customers to a dedicated queue, or send billing-related escalations to a specific team.
Before configuring routing attributes in Fullview, you need to set up the corresponding fields in Salesforce first.
Step 1: Enable Pre-Chat on your Embedded Service Deployment
Pre-Chat must be active for custom attributes to be passed through when a conversation starts.
Go to Setup → Embedded Service Deployments
Find your deployment and click Edit Pre-Chat
Check Activate the pre-chat feature
Save
Publish the deployment
Step 2: Define a Custom Parameter on the Messaging Channel
For each value you want to route on, you need to declare it as a custom attribute on the channel.
Go to Setup → Messaging Channels, find your channel and click on the Channel Name
Scroll to the Custom Parameters section and click New
Fill in:
Parameter Name
Parameter API Name
Channel Variable name: the key you will use in Fullview (e.g.
plan,queueName)Data Type: Text
Save
Repeat for each attribute you want to route on
Step 3: Add a Parameter Mapping on the Messaging channel
Go to Setup → Messaging Channels, find your channel and click on the Channel Name
Scroll to the Parameter Mappings section and click New
Select the created parameter and choose a variable name for your flow
Click Save
Step 4: Add the Custom Parameter to Pre-Chat Fields
Each custom parameter must also be added as a Pre-Chat field so that Salesforce accepts it when the conversation is initiated.
Go to Setup → Embedded Service Deployments, find your deployment and click Edit Pre-Chat
Scroll to the Hidden Pre-Chat Fields section and click New
Make sure the attributes are selected
Click Save
Publish the deployment
Step 5: Configure Routing Attributes in Fullview
Once Salesforce is configured, open the Routing Attributes card in Fullview:
Click + Add more to add a row
For each row:
Attribute — select the customer property from the dropdown (this is the Fullview customer data that will be sent)
Value — type the value that should be mapped (must match what your Omni-Channel routing rules expect - It is the CHANNEL VARIABLE NAME
Click Save
You can click any saved attribute label to copy its value to the clipboard.
Option B: Fullview Flow
This flow has two parts. Part 1 is required and handles all escalations outside of business hours by creating a Salesforce Case. Part 2 is optional and adds real-time live chat for escalations that happen during business hours.
Part 1: Oauth Setup
Follow the same steps as Part 2: Connected App configuration above to create a Connected App in Salesforce and obtain your Domain, Client ID, and Client Secret.
With Part 1 complete, Fullview will automatically create a Salesforce Case for every escalation that occurs outside of business hours, including the full conversation transcript and customer context.
Part 2: Live Chat Setup (optional)
If you want real-time live chat escalation during business hours, complete this part as well. When an escalation occurs during your configured business hours, Fullview will create a live Salesforce Messaging session and route the customer to an available agent. Outside of business hours, it falls back to creating a Case automatically — no conversation is lost either way.
Follow the same steps as Part 1: Salesforce chat configuration above to create a messaging channel, embedded deployment and other required prerequisites.






























