IRIS Interoperability adapter for Dasha.AI: voice interface for your application
Dasha.AI is a platform that allows you to create and manage voice interfaces for your applications. One of Dasha’s distinctive features is that most users believe they are talking to a human, not a robot.
Voice is the most natural way for people to interact. Dasha allows to use voice interface to interact with your application as naturally as communication between people.
The voice interface cannot completely replace the traditional user interface of the application, but some tasks could be perfectly solved with the help of the speech interface.
First of all, these tasks include well formalized tasks: collecting feedback, making an appointment with a doctor, a telephone survey, and the first level support.
The implementation of voice interfaces often begins precisely with these tasks.
The Dasha.AI platform provides a REST API for integration, however if you use InterSystems IRIS you can take a ready-to-use Adapter (github repo).
Here are two examples of using Dasha.AI from IRIS (implemented using this adapter):
- CS and NPS
- Appointment with a doctor
CS and NPS
Customer Satisfaction (CS) surveys are used by companies to monitor how their products or services meet customer expectations so that Customer Satisfaction Index (CSI) could be calculated. Another very popular option is Net Promoter Score (NPS). NPS is calculated based on responses to a single question: How likely (on a scale of 1 to 10) is it that you would recommend our company to a friend or colleague?
In real life these two marketing tools (CSI & NPS) could be combined.
Suppose there is a dental clinic called ACME Dental, which implemented a CSI and NPS survey.
Take a listen to this sample conversation with a patient: https://dasha.ai/en/dasha_ai_nps_survey.mp3. Here, Dasha asks questions, acts like a human, and understands the answers.
How to implement it:
- Call Dasha.AI and ask to create settings for your dialogues, setup virtual phone numbers, and get an authorization key to work with Dasha.AI API.
- In IRIS Interoperability Production implement a business operation connected to Dasha.AI Interoperability Adapter.
- In IRIS Interoperability Production implement a REST business service to process webhooks from Dasha.AI.
- In a business operation use the adaptor’s method
NewConversation()to create a new conversation (specify the customer’s phone number). Start this conversation using the adaptor’s method
- The outbound call will not start immediately (all your conversations are processed through a queue). After Dasha.AI and the customer finish talking, the results of this conversation will be immediately transferred to IRIS REST service. Dasha.AI enables you to configure conversation settings: for example, you can set a time limit on when users receive calls (e. g. from 10am to 17pm on working days).
Appointment with a doctor
To schedule an appointment with a doctor, the patient usually calls the clinic by phone. Such a task, among others, can be handled by Dasha.AI.
The patient starts the dialog. After the conversation is finished, Dasha.AI transfers conversation data to IRIS. This data includes the date and time of the appointment, the patient’s name, the doctor’s name and other details.
Listen to a sample conversation here: https://dasha.ai/en/dasha_ai_scheduling_demo_1.mp3
How to implement it with IRIS:
- Call Dasha.AI and ask to creative settings for your dialogues, setup virtual phone numbers, and get an authorization key to work with Dasha.AI API.
- In IRIS Interoperability Production implement a REST business service to process webhooks (i.e. conversation data) from Dasha.AI.
- In IRIS Interoperability Production implement other components to process data or transfer them to an existing Health Information System.
Let’s take a closer look at the examples in repo
Use case: Appointment with a dentist
In this case, it is only necessary to implement a REST web service on the IRIS side to get conversation results from Dasha.AI. Dasha.AI transfers data only by HTTPS, so you might need to configure your web server prior to that.
Here (figure 1), the REST service is implemented by the business-service
AppointmentService (to get and parse data from Dasha.AI). The business operation
DBOperation is used to save the data in the database, but you can replace it by a business-operation compatible with your HIS.
Figure 1. IRIS Production components required to implement the Appointment to a doctor example.
Figure 2 shows IRIS Visual Trace. The message here is redundant: it includes the original JSON received from Dasha.AI and the same data parsed to process in other components.Figure 2 shows IRIS Visual Trace. The message here is redundant: it includes the original JSON received from Dasha.AI and the same data parsed to process in other components.
Figure 2. IRIS Visual Trace for the Appointment to a doctor example.
Use case: CSI and NPS survey
To implement this use case, the following Production components are used:
- NPSService, NPSResultService — business services
- NPSBusinessProcess — business process
- DashaOperation — business operation
A list of the customer’s phone numbers is transferred to
DashaOperation is a business operation with
Dasha.AI Adapter; this operation is used to call Dasha.AI API from IRIS. In the Business operation settings specify Dasha.AI’s connection settings and credentials (Dasha.AI’s staff will provide you with this information).
The business process here is implemented as a custom business process (not BPL), and this implementation doesn’t process all possible cases (e.g. when Dasha.AI did not reach the patient and it’s necessary to reschedule a conversation).
As described above, Dasha may not immediately send a response, so the deferred response (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...) is used here.
Therefore, the response from Dasha that came through the REST service is interpreted by the business process as a response from a business operation.
I am sure that automatic voice interfaces will occupy their niche in modern applications, simplifying the life of the user and reducing the cost of maintaining a call center for the customer.
To get a better idea of how the example above can be implemented, take a look at the source code in our repository.
Start discovering the world of voice interfaces with Dasha.AI.