Voice-based (Google Assistant Action) app
Budget: ₹37,500 – ₹75,000 INR
Development Environment
1. The user interface of the pilot will be developed as a Google Assistant Action.
2. The response business functionality will be via Web hooks in Node JS
3. The database for any storage will be using Firestore
Conversational Flow
1. Invocation
On a Google Assistant interface (mobile / tablet / smart speaker / nest device), the way to invoke the pilot will be
Hey Google talk to CBT
The response from the system will be
Hello
<pause>
May I know your name
Unlike the normal user-prompt resulting in intent-identification leading to system-response, here on invocation, the intent becomes a gather-user-info intent.
2. Gather User Info
This step will be a series of conversation flows that will conclude only after satisfaction of intent (or sudden exit from the action - pt 4). This is tricky because unlike the standard format of a dialog where the user asks a question and the system responds, in this case the query of the user is to a pending response!
The information to be gathered are:
• name of person
• age of person
• place of stay
The system needs to give a response based on user query. In this case, the response is the next question till all questions are answered. Below are some cases
If My name is XXX is user query, then system response is: Thanks for name <pause> What is your age
If What do you do is user query, then system response will be: I do not understand <pause> may I know your name
If I am 72 is user query, then system response should be: Thanks for your age <pause> may I know your name
Essentially, during the Gather-Info state of the user conversation, the system must continue asking for the above 3 data till it deems to be satisfied.
On completion of this intent, the system must store the information as a log in firestore and responds with: Thanks for the info <pause> what would you like me to help you with
The user can exit at any point saying Goodbye or Bye
3. Play YouTube video
The backend (firestore) will have a set of youtube links for different types or categories of videos. Based on the invocation of video type (e.g. pranayam) by the user, the system will randomly pick one of the videos and play it. For example
If Play Pranayam video is user query, then the system plays a video via widget.
If Play rock music video is user query, then the system response is: I do not have those videos <pause> what would you like me to help you with
If Show me a movie is user query, then the system response is: I do not understand your query <pause> What would you like me to help you with
If My name is xxx is user query, then system response is: Thanks for name <pause> what would you like me to help you with
4. Unsupported Actions
For any query that is not understood, there is a standard response. For example
If What is today is user query, then the system response is: I do not understand your query <pause> what would you like me to help you with
If Whad fdast dasa dafasi is user query, then the system response is: I do not understand your query <pause> what would you like me to help you with
1. The user interface of the pilot will be developed as a Google Assistant Action.
2. The response business functionality will be via Web hooks in Node JS
3. The database for any storage will be using Firestore
Conversational Flow
1. Invocation
On a Google Assistant interface (mobile / tablet / smart speaker / nest device), the way to invoke the pilot will be
Hey Google talk to CBT
The response from the system will be
Hello
<pause>
May I know your name
Unlike the normal user-prompt resulting in intent-identification leading to system-response, here on invocation, the intent becomes a gather-user-info intent.
2. Gather User Info
This step will be a series of conversation flows that will conclude only after satisfaction of intent (or sudden exit from the action - pt 4). This is tricky because unlike the standard format of a dialog where the user asks a question and the system responds, in this case the query of the user is to a pending response!
The information to be gathered are:
• name of person
• age of person
• place of stay
The system needs to give a response based on user query. In this case, the response is the next question till all questions are answered. Below are some cases
If My name is XXX is user query, then system response is: Thanks for name <pause> What is your age
If What do you do is user query, then system response will be: I do not understand <pause> may I know your name
If I am 72 is user query, then system response should be: Thanks for your age <pause> may I know your name
Essentially, during the Gather-Info state of the user conversation, the system must continue asking for the above 3 data till it deems to be satisfied.
On completion of this intent, the system must store the information as a log in firestore and responds with: Thanks for the info <pause> what would you like me to help you with
The user can exit at any point saying Goodbye or Bye
3. Play YouTube video
The backend (firestore) will have a set of youtube links for different types or categories of videos. Based on the invocation of video type (e.g. pranayam) by the user, the system will randomly pick one of the videos and play it. For example
If Play Pranayam video is user query, then the system plays a video via widget.
If Play rock music video is user query, then the system response is: I do not have those videos <pause> what would you like me to help you with
If Show me a movie is user query, then the system response is: I do not understand your query <pause> What would you like me to help you with
If My name is xxx is user query, then system response is: Thanks for name <pause> what would you like me to help you with
4. Unsupported Actions
For any query that is not understood, there is a standard response. For example
If What is today is user query, then the system response is: I do not understand your query <pause> what would you like me to help you with
If Whad fdast dasa dafasi is user query, then the system response is: I do not understand your query <pause> what would you like me to help you with
Related categories:
Google App Engine
Node.js
Google Cloud Platform
Google Firebase
Google Apps Scripts