Before you begin
You need:- A Salesforce Service Cloud org with Enhanced Chat (formerly Messaging for In-App and Web) and the required Digital Engagement entitlements
- Salesforce administrator access
- Omni-Channel configured for the agents who receive messaging sessions
- An IrisGPT chatbot installed on your website
- Access to the IrisAgent dashboard
This integration uses a Salesforce Enhanced Chat custom client deployment. It does not display Salesforce’s standard embedded chat widget and does not require customers to leave the IrisGPT widget.
1. Prepare Salesforce routing
If your organization already routes Enhanced Chat sessions to support agents, continue to Create a custom client deployment. Otherwise, in Salesforce Setup:- Enable Omni-Channel.
- Create a service channel for the Messaging Session object.
- Create a queue and add the support agents who should receive IrisGPT handoffs.
- Create the presence statuses agents use to become available for messaging.
- Create and activate an Omni-Channel flow that routes the
recordIdinput to the queue, agent, or skills used by your support team. - Add Enhanced Chat to the Salesforce Service Console so agents can accept and reply to sessions.
2. Create a custom client deployment
- In Salesforce Setup, search for Messaging Settings.
- Create or open an Enhanced Chat messaging channel.
- Select the Omni-Channel flow and fallback queue that should receive IrisGPT handoffs.
- Create an Enhanced Chat custom client deployment for the website where IrisGPT is installed.
- Add your website’s top-level domain to the deployment. Add a deployment for each website domain that hosts the IrisGPT widget.
- Publish the deployment and enable the Enhanced Chat REST API.
3. Send the deployment details to IrisAgent
From the custom client deployment’s configuration or generated code snippet, copy these values:
Send these three values, along with the name of the IrisGPT chatbot configuration you want to enable, to your IrisAgent point of contact or contact@irisagent.com. IrisAgent will associate the Salesforce deployment with that chatbot configuration.
Salesforce also documents these values under Create an Enhanced Chat Deployment.
4. Enable live chat in IrisAgent
After IrisAgent confirms that the Salesforce deployment is connected:- Sign in to the IrisAgent dashboard.
- Go to IrisGPT → Configure.
- Open the chatbot configuration used by your website.
- Under Agent Handoff, select Start a live chat.
- Save the configuration.
data-token in your website’s IrisGPT embed snippet belongs to the same chatbot configuration. See Chatbot on Website for installation instructions.
5. Test the handoff
- Have a Salesforce agent open the Service Console and set their Omni-Channel presence to the messaging status configured for the queue.
- Open IrisGPT on your website and ask to speak with a human agent.
- Confirm that IrisGPT displays a waiting or queue status.
- Accept the Messaging Session in Salesforce.
- Send a reply from Salesforce and confirm that it appears in the IrisGPT widget.
- Reply from IrisGPT and confirm that the message appears in the same Salesforce session.
- Reload the website and confirm that the conversation and live-agent connection are restored.
Troubleshooting
The widget says that no agents are available
- Confirm at least one assigned agent is online with the correct Omni-Channel presence status.
- Confirm the messaging channel’s flow and fallback queue are active.
- Confirm the agent is a member of the selected queue and has capacity for another Messaging Session.
The handoff remains in a waiting state
- In Salesforce, verify that the Omni-Channel flow routes the Messaging Session service channel.
- Confirm that the flow’s input variable is named exactly
recordId, is text, and is available for input. - Check that the deployment is published and the Enhanced Chat REST API is enabled.
Messages do not appear in IrisGPT
- Confirm the Salesforce deployment includes the exact top-level domain where the IrisGPT widget is running.
- Confirm the Organization ID, REST API base URL, and deployment developer name sent to IrisAgent match the published deployment.
- If the Salesforce deployment was replaced or renamed, send the updated values to IrisAgent.