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. Enreach Contact users can use the Enreach Contact desktop app to access the transcriptions.

Access to transcriptions is currently offered through the Call History section of the desktop app. Simply click on the "transcription" button that appears when hovering over a previous call opens the Shomi chat assistant. Using the Shomi assistant users can then ask questions related to the phone call or have the summary pushed to the CRM (when having a subscription to Contact Connect or Red Cactus) or have it send by e-mailed. Please refer to your Enreach Contact documentation regarding the use of Shomi.

The Shomi Custom Smart App is a technical solution for amending or customizing the transcriptions done by 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).

This page describes how to setup a Shomi Custom Smart App.

Prerequisites

Ordering the extensions

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 Smart App extension on tenant level

Step 2 results in a Shomi custom Smart App being installed in your DialoX environment after which all transcriptions of calls from the users for which you ordered the Shomi custom add-on will now be processed by your Shomi custom bot.

Bubblescript

At the moment Shomi Custom is only adviced to be ordered and used by Partners that fully onboarded, trained and experienced in using BubbleScriptarrow-up-right 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. Enable the REST API channel

  3. Optionally define your custom logic

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.

You can write your custom logic in the custom/process file inside the process_transcript task for which a simple example is already included:

When more files are needed, they can be added in the same custom/ folder.

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 debug

To test you can add transcription objects in YAML files in the samples/* folder. There is one example.yaml file with an example of such a transcript. By running the bot in Preview mode, you can select a file and test it in the studio. Inspect the console for the results.

How to test

The DialoX test running can be used to perform automated tests. See the tests/example script to see how the process_transcript task can be tested.

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 documentationarrow-up-right for more information.

Custom webhook

You can also define your own webhooks that adhere to your own interface requirements. Read about custom webhook tasks herearrow-up-right.

Data structure

The following attributes are available in the transcript:

Property
Description

account_id

your account id

audio_url

the audio url, only available for limited time

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 in meeting minutes style

text

the full transcription in text

text_url

an url to the full transcription in text

topic

the topic of the conversation

actions

the actions part of the extended summary

minutes

the minutes part of the extended summary

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

notifications

array of string with optional notifications for Shomi assistant to present to the user (e.g. auto pushed to crm, or auto emailed)

keylink

user has a keylink subscription

redcactus

user has a redcactus subscription

auto_email

user has auto email enabled

auto_push_crm

user has auto push to CRM enabled

live

transcription was live transcribed

pushed

transcription has been pushed to the CRM

emailed

transcription has been emailed

extra

extra analysis fields added by 3rd party services, like juvoly

schema_version

the version of the transcription schema

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

Last updated

Was this helpful?