Chatlayer Documentation
Get in touchAbout Chatlayer
  • Welcome
  • What's new
  • Send feedback
  • start quickly
    • Leadzy tutorial
      • 0. Introduction
      • 1. New bot, new block
      • 2. Understand your users
      • 3. Collect and display user input
      • 4. Steer the conversation with Conditions
      • 5. Empower your bot with Actions
      • 6. Set up a channel and publish your bot
    • Templates
      • Banking
      • E-Commerce Returns
      • E-Bike Shop
      • E-Scooter Support
      • Feedback
      • Find Nearest Location
      • GPT
      • 🆕Gym
      • Job applications
      • Knowledge base AI template
      • Lead generation
      • 🆕NPS
      • Restaurant
      • Retail
  • navigation
    • Analytics
      • Dashboard
      • Customers
      • Conversations
      • User flow
      • Intents
      • 🆕Funnels [Beta]
    • Bot builder
      • Flows
        • Canvas functionalities
        • Collaborate with team members
        • Manage your flows
        • 🆕[Beta] Export and import flows
      • Bot dialogs view
      • Translations
      • Events
    • NLP
      • Dashboard
      • Intents
      • Expressions
      • Entities
      • Train
      • NLP settings
      • Improve
    • Knowledge base AI
      • Add content to your KBAI
      • Build your KBAI flow
      • Use your KBAI source URL in a button
      • Use tags to limit your KBAI content
      • 🆕Use Tables to store your KBAI questions
      • 🆕Manage handover where KBAI is unsatisfactory
    • History
      • Conversations
      • Execution logs
      • Versions
    • Channels
    • Tables
      • Create a table with records
      • Column types
      • Operate on your records
        • Insert record
        • Update record
        • Retrieve record
        • Delete record
      • API
    • Settings
      • Bot settings
      • Offloading
      • Variables
      • Voice
      • Import/Export
  • build your bot
    • Conversation design
      • Plan your bot
      • Conversation design workflow
    • Flow logic
      • Blocks
        • Message
        • Condition
        • Collect input
        • Action
      • Go-to connections
    • 🆕Emulator
    • Tips & best practices
      • Route your flow depending on the time
      • Improve the Not understood block
        • How to create better not understood messages
        • Not understood counter
        • Not understood Google search
      • Go to previous block
      • Recognizing a returning user
      • Skip introduction message
      • Route your flow depending on the channel
      • Reuse flows
      • Connect two bots to each other
  • understand users
    • Natural language processing (NLP)
      • Basic NLP concepts
      • Detect information with entities
        • Match entities
        • Contextual entities
        • System entities
        • Composite entities
      • NLP best practices
        • Word order and diversity of expressions
      • AI intent booster
      • Train your NLP
      • Context
      • NLP import & export
      • Sentiment analysis
    • Languages
      • Supported languages
      • Make your bot multilingual
      • Change language within the conversation
  • set up channels
    • Add a channel to your bot
    • All channels
      • 🚨Facebook Messenger [Deprecated soon]
        • Facebook Admin Removal
        • Facebook Webview Whitelisting
        • Facebook Messenger API updates for Europe
      • 🚨Google Assistant [Deprecated soon]
      • Webhook
      • Web
        • 🚨Web V1 [Deprecated]
          • Customize web widget
          • Live example web widget
        • 🆕Web V2
          • 🆕From Web V1 to V2
          • 🆕Web V2 methods and options
    • Sinch Conversation API
      • Configure your Sinch Conversation API
      • 🆕 Make the most of RCS with Carousels
      • WhatsApp Business API
  • integrate & code
    • API calls
      • Configure your API integration
      • Advanced API features
      • V1 API Reference
      • Custom integrations 101
    • Code editor
      • [Example] Sending data to Airtable (POST)
      • [Example] Retrieving data from Airtable (GET)
      • [Example] Making SOAP requests
    • App integrations
      • Airtable
      • Freshdesk
      • Freshdesk Messaging
      • 🆕Gmail
      • Intercom
      • Mailgun
      • OpenAI: GPT-3, ChatGPT and GPT-4
      • Salesforce
      • 🆕Slack
      • Topdesk
      • Zendesk Support
      • Zendesk Sunshine (beta)
    • 🆕Expression syntax
    • Human handover & live chat
      • Sinch Contact Pro
      • #Interact
      • Genesys Cloud
      • Offloading Webhook
      • Salesforce Service Cloud
      • Sparkcentral by Hootsuite
      • Zendesk Chat
    • Chatlayer messages specifications
  • Publish
    • Publish your bot
      • Publish a flow
  • Analyze & maintain
    • Analytics definitions
    • Data retention
    • Maintenance
    • Session
    • Track events for analytics
  • VOICE
    • 🆕Send bot response as audio
    • Voicebots
      • Create a voicebot
      • Voicebot-specific actions
      • Test your voicebot
      • From chat to voice
  • access & support
    • Identity & Access
      • Single Sign-On (SAML SSO)
    • Billing & subscription
    • Get in touch
    • Chatlayer glossary
    • SaaS Regions & IP Ranges
    • Status
    • Debug your bot
      • No correct response
      • Collect input not working
      • Video isn't working
Powered by GitBook
On this page
  • 1 – Configuration in Sinch Contact Pro
  • 2 – Configuration in Chatlayer
  • Setting up the channel
  • Setting up offload action
  • Sharing variables to Sinch Contact Pro
  • Final steps
  • Restart bot after offloading is complete
  • Sending call attached data to Sinch Contact Pro
  • Voice message format type for input validation

Was this helpful?

  1. integrate & code
  2. Human handover & live chat

Sinch Contact Pro

PreviousHuman handover & live chatNext#Interact

Last updated 4 months ago

Was this helpful?

It is now possible to connect your bot with Sinch Contact Pro and ensure a seamless offloading experience from bot to human agent.

Keep reading for a step-by-step guide on how to set this up!

1 – Configuration in Sinch Contact Pro

  • Log into your Sinch Contact Pro Domain

  • Configure a new agent that will act as the bot

  • Set-up a new queue specifically for chatbots

  • Open the configuration panel

  • Click “Create new configuration” and go to “Common settings”

  • Find the Visitor ECF Server URL

  • Copy this URL, you need it later for the Chatlayer configuration

  • Lastly, select your newly created Chatbot queue in the Sinch Contact Configuration Panel and click “Save”

2 – Configuration in Chatlayer

Setting up the channel

  • Go to 'Channels' on the left hand side

  • Click on the '+' sign in the 'Sinch Contact' row to see the pop-up below:

Looking at the URL you copied before, you can identify Region and Tenant Name:

https://prod-region.domain.com/tenantname/visitor/ecfs

  • Now fill in the following:

    • Your region - https://prod-region.domain.com/tenantname/visitor/ecfs

    • Tenant name - https://prod-region.domain.com/tenantname/visitor/ecfs

The other fields can be found in Sinch Contact Pro:

  • Username and password: fill these fields in from the newly created virtual agent

Now click 'Continue' to save your configuration

The Cloud Configuration has following regions:

  • na: 'login-na-w2.cc.sinch.com'

  • eu: 'login-eu-c1.cc.sinch.com'

  • au: 'login-au-s2.cc.sinch.com'

  • af: 'login-af-s1.cc.sinch.com'

Do you have an On Premise environment of Sinch Contact Pro? Toggle 'Is On Premise' and fill out the following: For the URL

The host is 'mywebsite.com', and the tenant name will be 'integrations/sinch-contact/tenantname'

Setting up offload action

  • Add an Action block to your flow that contains a “Send to offload provider” plugin (for example, after “Not understood”)

  • Select Sinch Contact in that plugin and the queue you want to offload to

Sharing variables to Sinch Contact Pro

Chatlayer shares the following information to Sinch Contact Pro:

  • First Name: sinchContactPro.firstName OR internal.user.firstName

  • Last Name: sinchContactPro.lastName OR internal.user.lastName

  • Phone Number: sinchContactPro.phoneNumber

  • Email: sinchContactPro.email

It is recommended to fill in the above listed variables, so the agent in Sinch Contact Pro knows who they are talking to.

You may want to pass additional information about the user to Sinch Contact Pro, next to the above fields. To do this, you can declare additional session variables with the following format: sinchContactPro.customFields. All these will be added as attached data fields in Sinch Contact Pro.

For example, to add the user's location as a custom field, you would adjust your bot's flow to ask the users location and store the answer as a variable under sinchContactPro.customFields.location

Final steps

In the example below, we'll use the Sinch Contact Pro web widget as a channel. You can also use channels like WhatsApp, Facebook Messenger, or the Chatlayer web widget.

  • Open the page where you’ve configured your Sinch Contact Pro Widget

  • Fill in your contact details, select the “Chatlayer Agents” queue and start the conversation

After being transferred to an agent, open the right queue and take over the conversation:

Restart bot after offloading is complete

The returning part of your bot flow after offloading is complete will look like this:

Three things need to be set up for this use case to work:

  1. The variables that are going to identify the bot conversation and offloaded conversation are still active or paused need to be created:

In this example, we created internal.isPaused to identify when the bot is paused and internal.offload to identify when the offload is active:

2. The bot needs to identify that the offloading isn't active anymore:

For that, we built a Condition block with the conditions: if the variable internal.offload does not exist, trigger the desired block to get user feedback, in the example below we named it "Feedback flow start", otherwise go to an empty block, "do nothing" as we named it in our example, because the offloaded conversation is still active.

3. The bot needs to identify when the offloaded conversation is no longer active

An event needs to be created by accessing the tab Events from the left-side menu, under the Bot Dialogs section. That event that will be triggered when the offloading variable is paused when the block from step 2 is visited.

Once the offloaded conversation is ended by the agent, like in the screenshot below, the bot will be able to identify that internal.offload is inexistent.

Ant the bot will restart the conversation, following the first condition of the Condition block.

And there you go, your Sinch Contact Pro offloading is all set up!

Sending call attached data to Sinch Contact Pro

It is possible to send call attached data (CAD) when transferring a call to Sinch Contact Pro. That will help ensure the compliance with data privacy laws and allow quality assurance and audit of the calls on the Contact Pro platform.

From the moment on the bot flow where the consent to being recorded or not has been identified, you can redirect the user to an empty bot message with the variables RecordingEnabled and RecordingConsentGiven with the values 'yes' or 'no' depending on the will of the caller.

From an active call on the Communications panel from Sinch Contact Pro, you can access the Conversation Details widget, on the right side menu:

You can also check the Chatlayer Transcript widget to read the bot transcripts and listen to the recorded part of the bot, if there's any:

Here you can see a screenshot of the widget with an audio clip from the chatbot in an ongoing conversation and in the Wrap up page from Sinch Contact Pro:

In both of these cases:

  • call recording is not enabled for a part or the etire bot conversation

  • when the whole call (bot + live agent conversation) is being recorded

you won't be able to listen to the recording. The widget will appear empty like shown in this image:

Voice message format type for input validation

This only works if you are using channels connected to your bot that are different from Sinch Contact Pro web , only works in setting.

You can save anything the user is saying as a variable by using the voice message format type in an input validation. Read more .

https://mywebsite.com/integrations/sinch-contact/tenantname
here
widget
this