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:
Order the Shomi custom add-on on user level
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:
the telephony channel is enabled (should be automatically the case)
Make sure to enable "Keep the same conversation ID after close" in the telephony channel (should be automatically the case)
Enable the REST API channel
Optionally define your custom logic
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:
Use the standard
conversation_closewebhookUse 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:
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?
