Shomi Custom

Shomi is a built in feature of the Enreach Contact UCaaS suite that allows you to transcribe all or parts of your phone calls. The transcription is then offered to you as a user in your Enreach Contact desktop app for revision or analysis. Using the Shomi assistant you can then ask questions related to the phone call or have the summary pushed to your CRM (if you own a Contact Connect or Red Cactus subscription) or have it e-mailed to you. Please refer to your Enreach Contact documentation regarding the use of Shomi.

Shomi Custom is called by the Shomi transcription bot in the very last step of the transcription process. By then, Shomi already transcribed the conversation and generated the summaries and rest of the meta data and the Shomi Custom bot can add final post processing before offering it to the Shomi assistant (in the Enreach Contact desktop client).

Prerequisites

Ordering the extensions

However, when you as a partner have a customer that requires the default summary format, tone or voice or template to be different, you can order a Shomi Custom subscription. This needs to be done by submitting at least the following two orders in Operator:

  1. Order the Shomi custom add-on on user level

  2. Order the Shomi custom extension on tenant level

Now you will get the Shomi custom Smart App installed in your DialoX environment and all calls from the users for which you ordered the Shomi custom add-on will now be forwarded from the Enreach Contact builtin shomi to the Shomi custom bot for further post processing.

Bubblescript

At the moment Shomi Custom is only adviced to be ordered and used by Partners that fully onboarded, trained and experienced in using BubbleScript and subscribed to DialoX Creator for premium Developer access and support.

Customization

Once ordered, the Shomi Custom bot allows for customization using bubblescript through the DialoX studio.

How to enable in the studio

Open the Shomi custom bot and make sure:

  1. the telephony channel is enabled (should be automatically the case)

  2. Make sure to enable "Keep the same conversation ID after close" in the telephony channel (should be automatically the case)

  3. Enable the REST API channel

  4. Optionally define your custom logic

  5. Optionally configure your webhooks in the REST API channel configuration

How to extend

The transcribed conversation including the LLM generated summaries and rest of the meta data is made available in the global variable transcript. The map that is available for you in this variable is described in the last section of this article called data structure.

Using this bot you can extend the experience of Shomi in the Desktop App primarily by changing for instance the extended_summary attribute by your own version or by adding quick_replies in the form of a name-value map. The key of the map represents the quick reply button and the value would be the answer that you generate in this bot, for instance:

How to integrate

The contents of the transcript variable can be pushed to any system using webhooks. You can define webhooks in the REST API channel configuration pages. There are two options:

  1. Use the standard conversation_close webhook

  2. Use a custom webhook

Standard webhook

Use this webhook if you don't care so much about the webhook structure and contents. It will simply send all available information about the user, the conversation and the corresponding transcription.

The transcript variable is exposed in the conversation_data element that will be pushed as part of the conversations webhook, see the manuals for more information. See the developer documentation for more information.

Custom webhook

Make sure to enable the code specified in the task custom_webhook in the main file and populate the return object with the attributes you need. Make sure to reflect the attributes in the schemas.yaml file too so the API reflects your return value.

Data structure

The following attributes are available in the transcript:

Property
Description

account_id

your account id

audio_url

the audio url

caller_text

only the text uttered by the caller

duration

the duration in seconds

json_url

the transcript in JSON format

locale

the locale of the transcript (nl, en, de, etc)

raw_json_url

the raw transcript in JSON format

session_id

the internal session id of the call

summary

the summary of the call

extended_summary

the extended summary as displayed in the Enreach Contact desktop

text

the full transcription in text

text_url

an url to the full transcription in text

quick_replies

a key value struct with specific shomi quick_replies and answers

caller_displayname

the name of the caller

caller_number

the number of the caller

user_email

the email address of the user that initiated the recording

user_phone

the phone number of the user that initiated the recording

user_extension

the extension number of the user that initiated the recording

user_operator_id

the operator id of the user that started the recording

callee_number

the number of the callee

callee_displayname

the name of the callee

direction

the direction of the call seen from the user: "in" or "out"

roles_description

a description of the roles of the caller, callee and user that can be used in any LLM call to help the LLM understand the roles of the parties

conversation_uuid

to have a reference to the originating conversation

capabilities

enum to define or limit the capabilities for shomi, available options: ["email"]

sentiment

the sentiment of the call

class

the call class, like sales, service, billing, etc

ℹ️ Notice that the URL's will be available for only a limited amount of time for privacy reasons

Technical background information

Technically Shomi is built up of two bots. One bot that is taking part of performing the analysis and generating the transcription and a second bot that is exposed through the Enreach Contact Desktop app for the user to interact with about the transcription.

Using the Botsquad Naming System (BNS) the platform is able to dynamically find the right bot in the platform. It is using BNS aliases to dynamically redirect and share information between the right bots.

When a Shomi Custom bot is ordered, the bot that is installed in the environment of the customer will get a BNS alias like "123.shomicustom". When the Shomi Assistant then wants to access the transcription that is post processed by this Shomi Custom it will try to look it up using the BNS "123.shomicustom". When there isn't a Shomi Custom installed, it will fall back to the regular Shomi Transcription bot which has the alias "shomicustom" (without the tennant id). Therefore the Assistant will always be able to find the right transcription without needing to know the existance of a Shomi Custom bot.

Last updated

Was this helpful?