Chat Widget
Maven offers a chat widget that allows you to embed a Maven experience directly into your website.
Installation
To install the chat app on your agent:
- Navigate to the Apps page in the Agent Designer.
- Click on Browse & Install on the Apps Directory tile.
- Search for “Chat” and click on the Chat app tile.
- Click on the Install button.
Integration
To add the chat widget to your website, you need to add a small piece of javascript to your page. This javascript code will initialize the widget and connect it to your Maven instance.
Your personalized code snippet can be found on the chat settings page under the “Instructions” tab. Copy and paste the following code snippet into your website’s HTML, preferably just before the closing </body>
tag:
Basic Settings
The chat app supports several basic configuration options that can be customized through the Dashboard:
- Logo URL - The URL of the logo to display in the chat header.
- Brand Color - The accent color used on the chat UI.
- Welcome Message - The message displayed when the chat widget is opened.
- Popular Questions - Questions shown directly under the welcome message.
Additionally, the appearance of the widget on your site can be further customized:
Advanced Settings
The full list of chat app settings:
The full list of widget configuration options:
Programmatic Control
You can programmatically control the widget using the following methods:
Live Agent Handoff
Maven Chat supports seamless handoff to live agent support through various service providers. When configured, conversations can be automatically transferred to human agents.
Currently supported providers:
- Salesforce
- Zendesk
- Front
Salesforce Configuration
Maven Chat integrates with Salesforce Live Agent to provide human support capabilities. This integration requires configuration in both Salesforce and Maven.
Requirements
- Salesforce account with Live Agent enabled
- Access to Salesforce Setup
- A configured Live Agent deployment and button
Setup Process
Follow these steps to configure Salesforce integration:
-
Configure Live Agent Deployment
- Navigate to Salesforce Setup > Embedded Service Deployments
- Locate or create a new deployment
- Note the Deployment ID and ES Live Agent Dev Name
-
Configure Chat Button
- Navigate to Setup > Chat Buttons & Invitations
- Create or select an existing chat button
- Note the Button ID
-
Locate Live Agent Settings
- Find your Chat Host URL in the Salesforce Live Agent settings
- Note your Organization ID
Configuration
Create a handoff configuration object with the following structure:
- Create your configuration object:
- Convert to JSON and add to Maven:
- Convert the object to a JSON string
- Enter it in the Live agent handoff configuration field in chat app settings
Configuration Options
Zendesk Configuration
Maven Chat integrates with Zendesk Conversations to provide human support capabilities. This integration requires configuration in both Zendesk and Maven.
Requirements
- Zendesk account with Professional plan or above
- Access to the Conversations API
- Admin access to configure integrations
Setup Process
Follow these steps to configure Zendesk integration:
-
Create Zendesk Integration
- Navigate to the Zendesk Admin Center
- Go to Apps and integrations > Integrations > Conversations integrations
- Click Create integration
- Enter a unique name for the integration
-
Configure Webhook
- Set Webhook endpoint URL to
https://chat.onmaven.app/api/zendesk/webhook
- Uncheck Webhook body data
- Check all Webhook subscriptions
- Click Save
- After saving, note the Webhook ID from the URL (it will be in the format
https://admin.zendesk.com/admin/integrations/webhooks/{webhookId}
)
- Set Webhook endpoint URL to
-
Generate API Key
- Navigate to the API Keys tab
- Click Create API key
- Enter an identifying name for the key
- Copy and securely store the provided ID and secret key
- Click Next to complete the setup
Configuration
Create a handoff configuration object with the following structure:
- Create your configuration object:
- Convert to JSON and add to Maven:
- Convert the object to a JSON string
- Enter it in the Live agent handoff configuration field in chat app settings
Configuration Options
Front Configuration
Maven Chat integrates with Front to provide human support capabilities. This integration requires configuration in both Front and Maven.
Requirements
- Front account with admin access
- Access to Front’s developer settings
- Maven-created Front Application Channel
Setup Process
Follow these steps to configure Front integration:
-
Create Front Application
- Navigate to Front Developer Settings
- Click Create App
- Enter app name and description
- Note the App UID and App Secret from Basic Information
-
Configure Channel
- Go to the Features tab
- Click Create channel type
- Configure the following settings:
- Set Webhook URL to
https://chat.onmaven.app/api/front
- Set Authentication strategy to
Bearer
- Set Contact type to
Custom
- Set Supported attachments to
Text
- Enable Reply/Compose
- Set Composer type to
Basic
- Set Timeline Type UI to
Chat Timeline
- Set Webhook URL to
- Click Create
-
Connect Channel in Front
- Navigate to Channels under your workspace
- Click Connect a channel
- Find your channel under the “Other” section
- Set Name and Token to
orgId-agentId
- Select target inbox and click Continue
Configuration
The handoff configuration requires two steps:
- Create your configuration object:
- Convert to JSON and add to Maven:
- Convert the object to a JSON string
- Enter it in the Live agent handoff configuration field in chat app settings
Configuration Options
Additional Setup Requirements
-
Content Security Policy
- Update your CSP to allow content from
chat.onmaven.app
- Update your CSP to allow content from
-
Widget Installation
- Include the widget script:
- Initialize with configuration:
- Include the widget script:
Authentication
Signed User Authentication
Maven Chat now accepts signed and encrypted user authentication, allowing our customers to securely authenticate their users with Maven and persist user data across Maven apps. Authentication is optional and users will fall back to anonymous sessions.
Requirements
- A server-generated, signed and encrypted JWT containing user data
- A shared symmetrical encryption key, provided in the chat app settings (Encryption secret)
- A shared public key for verifying signing, provided in the chat app settings (JWT public key)
User Data Requirements
The user data object must include:
firstName
- User’s first namelastName
- User’s last nameid
- User’s unique identifier (UUID)- At least one of:
phoneNumber
- User’s phone numberemail
- User’s email address
- Additional fields will be included in the Maven user that’s created
Generating User Authentication Token
To protect the user data in transit, generate a signed JWT token containing user data and encrypt the token with ES256
and a 32-bit secret key. This token must be generated on the backend and passed into the chat widget via the signedUserData
property.