Google Assistant - setup guide

The project idea has appeared while I was watching Google I/O 2018 conference and there was a talk about Google Assistant.

The main idea is that Google implemented the assistant into all their devices. Then they gave an access to console that allows to create your own assistant to make it perform commands both specific for one user and a group. It could be a "smart" house module and people could manage appliances, lightning, etc. from all over the world with Internet connection. Or there's a tendency in IT companies to create different bots on complete platforms (VKBotAPI, TelegramBotAPI) that can teach new employees by text requests. Google made it possible to create the same bot but with voice control feature.
Assistant performed a command to turn the light off
Google Assistant features
  • Recognise some variables in voice command. For ex, "turn off the № 3 lamp". The № 3 is a parameter that can be used for exact purposes (the info below);
  • Send the requests to server and get answers by webhooks if the operation is long-termed;
  • Recognise different params' types: numbers, lines, dates, boolean (turn on/turn off). Also it's possible to add the command into operation. For ex, "increase fan speed by 10%" … "5% more"… "3% more";
  • Answer with phrases that have the same sense but different sound. For ex, "Turn the teapot on at 12:30" -> "Ok", etc., possible answers set by developer. Recognise synonyms, for ex "Turn the teapot on at 12:30" and "Activate the teapot on at 12:30". This can be set by developer too.
The custom assistant is registered on Gmail. The system foresees bot's launching in public and private modes. It gets name and you can call it with this name.
How to create a voice assistant
1) Go to the Actions on Google console: https://console.actions.google.com/
2) Create new project, name the project (it's not the bot name!), choose country and language
3) Choose your bot activity category. It's important for first assistant settings
4) Then go to the general settings and set the bot name. Also you can choose voice, colour and photo and go to commands
Voice assistant settings
Go to the command addition, choose Custom intent.
Then we go to the Dialogflow console that shows all the bot features.
Some information:
Intents are the functions that have to be performed by your bot. Here are the variables and its result set and the answer resource.

Entities is synonyms and termins vocabulary for both user and groups. It's used for bot's and users' vocabulary extension.

Knowledge is a database with documents. Relevant for companies with work rules. It can be loaded to the database and bot will recognise exact parts from the documents and output to user.

Fulfillment is a module for webhooks setting and server connection.

Integrations is your bot integration into most popular services and messengers as Slack, WhatsApp, Skype, Telegram, Trello, etc.

Training is a bot training, work quality control and specific features teaching.

History and Analytics are all about logging, usage, errors and requests statistics management.
Contexts allows to chain multiple functions. It shows before current function and after current function.

Events allows to replace Google Assistant standard triggers by its own.

Training phrases are voice commands that have to be sound for bot performance.

Actions and parameters set the variables.

Responses - bot's response phrase.

Fulfillment is setting for request or hook for function performance.
I replaced standard greeting intent by my own. The result is:
So I've stopped on this step as it's not enough time to write test server. I told you about Google Assistant possibilities so you can create your own assistant based on this manual and test it yourself.
Thanks for reading!