SlideShare a Scribd company logo
Developed Google Home app
(Actions on Google)
using Microsoft Azure Functions
 Everyone calls me “Chomado”.
 Based in Tokyo, Japan. Love
anime/manga
 Before joining Microsoft, I’d been a
mobile app developer using Xamarin +
Microsoft Azure
 I’m not only an engineer but also a
manga artist:
My manga work:
“Run! Coding Academy”
37.4K
Twitter : @chomado
I love my Grandma
She has presbyopia
(aged eyes) and
difficult to read.
So I bought a smart
speaker for her.
I think VUI (Voice UI) is good
for old-aged people.
What is “Smart
Speaker”?
Wireless speaker with AI assistant!
Virtual
Assistant
(logo)
Virtual Assistant Owned by Devices Languages/Markets
Microsoft Cortana
Harman Kardon
INVOKE
English
for US, Canada, Australia, India
Amazon Alexa Amazon Echo
English for US, UK, Ireland, Canada, India,
Australia, New Zealand;
German (Germany, Austria);
Japanese (Japan);
Google Assistant Google Home
English (U.S., U.K., Canada, Australia),
French (France, Canada),
German,
Japanese
Siri Apple HomePod English for US, UK, Australia
Clova
Clova Friends,
Clova WAVE
Japanese and Korean
for Japan and South Korea
markets
Virtual
Assistant
(logo)
Virtual Assistant Owned by Devices Languages/Markets
Microsoft Cortana
Harman Kardon
INVOKE
English
for US, Canada, Australia, India
Amazon Alexa Amazon Echo
English for US, UK, Ireland, Canada, India,
Australia, New Zealand;
German (Germany, Austria);
Japanese (Japan);
Google Assistant Google Home
English (U.S., U.K., Canada, Australia),
French (France, Canada),
German,
Japanese
Siri Apple HomePod English for US, UK, Australia
Clova
Clova Friends,
Clova WAVE
Japanese and Korean
for Japan and South Korea
markets
(ToT)
Google Home
How Microsoft Cortana skill works?
How's the weather like in
Tokyo today? voice
How's
the weather like in Tokyo
today? text
Weather
Service
When you say a
command which Google
Assistant knows
How Google
Assistant works
Speech to Text,
NLP,
Knowledge Graph,
ML Ranking,
User Profile,
Text to Speech
Devices Google Assistant
Weather Service
Connect to
HelloAzureFunctio
ns service voice
HelloAzureFunctions
I don’t know such service.
I don’t know what to do
When you say a command
which Google Assistant
does NOT know
Speech to Text,
NLP,
Knowledge Graph,
ML Ranking,
User Profile,
Text to Speech
Devices Google Assistant
Connect to
HelloAzureFunction
s service text
How Google
Assistant works
When you say a command
which Google Assistant
does NOT know
Speech to Text,
NLP,
Knowledge Graph,
ML Ranking,
User Profile,
Text to Speech
Devices Google Assistant
How Google
Assistant works
So, to make Google Assistant do your own
command,
you need to create an Google Assistant
app called “Actions on Google”
(same as Cortana/Alexa skill development motivation)
You need to implement
this function (Web API)
called by Webhook
Speech to Text,
NLP,
Knowledge Graph,
ML Ranking,
User Profile,
Text to Speech
Devices Google Assistant
Create Actions on Google to run your own
command on your Google Assistant
Hi, I’m Madoka
(voice)
Hi, I’m Madoka
(in cool voice)
I made a voice
changer app (action)
working like this!
I post its demo video to Twitter
two weeks ago (16 March)
I made this app
using Microsoft Azure
Functions (C#) and it
works like this …
47.5 K views
in 2 weeks!
It means many Google developers got
interested in Microsoft technology.
https://twitter.com/chomado/status/974534165419892736
Actions on Google
“I’m Madoka”
She says “I’m Madoka”.
Invoke Webhook
Microsoft Azure
Dialogflow
(Natural language user interface like MS LUIS)
Actions on Google
“I’m Madoka”
She says “I’m Madoka”.
Invoke Webhook
Azure Functions
(where my code running)
“I’m Madoka”
(json data)
Microsoft Azure
Dialogflow
(Natural language user interface like MS LUIS)
Actions on Google
“I’m Madoka”
She says “I’m Madoka”.
Invoke Webhook
Azure Functions
(where my code running)
“I’m Madoka”
(json data)
VoiceText
Web API
(text to speech service
by HOYA, Inc)
“I’m Madoka”
(string)
Microsoft Azure
Dialogflow
(Natural language user interface like MS LUIS)
Actions on Google
“I’m Madoka”
She says “I’m Madoka”.
Invoke Webhook
Azure Functions
(where my code running)
“I’m Madoka”
(json data)
VoiceText
Web API
(text to speech service
by HOYA, Inc)
“I’m Madoka”
(string)
Azure Storage
(Blob)
Microsoft Azure
Dialogflow
(Natural language user interface like MS LUIS)
Actions on Google
“I’m Madoka”
She says “I’m Madoka”.
Invoke Webhook
Azure Functions
(where my code running)
“I’m Madoka”
(json data)
VoiceText
Web API
(text to speech service
by HOYA, Inc)
“I’m Madoka”
(string)
Azure Storage
(Blob)
mp3 data’s URL +
Request to play the
mp3 file
(written in
SSML)
Microsoft Azure
Dialogflow
(Natural language user interface like MS LUIS)
Actions on Google
“I’m Madoka”
She says “I’m Madoka”.
Invoke Webhook
I’m Madoka
(in cool voice)
Azure Functions
(where my code running)
“I’m Madoka”
(json data)
VoiceText
Web API
(text to speech service
by HOYA, Inc)
“I’m Madoka”
(string)
Azure Storage
(Blob)
mp3 data’s URL +
Request to play the
mp3 file
(written in
SSML)
Microsoft Azure
Dialogflow
(Natural language user interface like MS LUIS)
Trigger: HttpTrigger
Output: CloudBlockBlob (I chose this because it
can directly access the stored mp3 file’s URL)
Azure Function (v1)
which is called by
Google’s Webhook
Google Assistant users’ input text
(“I’m Madoka!”) is stored in this JSON
property named “ResolvedQuery”,
so we use it.
In the Function
In speech execution, it’s better to use
SSML format. (Speech Synthesis Markup
Language: an XML-based markup language for
speech synthesis applications)
Not only Google Assistant but also our
Cortana and Amazon Alexa support it.
You can access the URL which
stores the mp3 file in Azure Blob
Storage
As you know, Azure
Functions allows us to
connect & post data to Azure
Storage sooooo easily! Azure
Functions is awesome. Everyone
knows it.
It got 58 stars
and forked 10 times
Google Assistant app (Actions on Google) with Microsoft Azure Functions in C# (Serverless service by Microsoft)

More Related Content

PDF
ExpOn 2011 - Cassiano Travareli - A Base para Link Building
PDF
Build chatbots with api.ai and Google cloud functions
PDF
Build a homemade AI device. Antimo Musone - Ernst & Young
PPTX
Virtual Assistants
PDF
Let's talk about voice
PDF
Google Assistant Revolution
PDF
Building for google assistant
PDF
Tackling the Problem of Multilingualism in Voice Assistants
ExpOn 2011 - Cassiano Travareli - A Base para Link Building
Build chatbots with api.ai and Google cloud functions
Build a homemade AI device. Antimo Musone - Ernst & Young
Virtual Assistants
Let's talk about voice
Google Assistant Revolution
Building for google assistant
Tackling the Problem of Multilingualism in Voice Assistants

Similar to Google Assistant app (Actions on Google) with Microsoft Azure Functions in C# (Serverless service by Microsoft) (20)

PPTX
Voice assistants - How can they help your day to day life
PPTX
Personal Voice Assistant using python.pptx
PPTX
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
PDF
Building Windows 10 Universal Apps with Speech and Cortana
PPTX
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
PDF
Optimizing for Conversational Search #FOS19
PPTX
The virtual assistant tour adelaide
PDF
The Voice Interface Revolution
PPTX
AI Days LATAM Intelligent Apps and Agents
PDF
Antimo Musone - Vocal Assistant - build natural and rich conversational exper...
PPTX
Voice User Interface Design - Big Design 2017
PPTX
Advances in Voice & Speech Recognition
PPTX
Robin Langfield Newnham - Voice AI Presentation
PDF
Adventures on the Road to Enterprise Virtual Assistants
PDF
AI Assistant Enabled Voice Experiences
PPTX
NUS-ISS Learning Day 2017 - Voice Computing - The Next Digital Disruption!
PDF
Building Conversational Experiences for Google Assistant
PPTX
Virtual assistanttour globalai_bootcamp_dec19
PPTX
Add more Speech API to your bot
PDF
Solvion Trendwerkstatt - Microsoft Azure + Bots
Voice assistants - How can they help your day to day life
Personal Voice Assistant using python.pptx
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Building Windows 10 Universal Apps with Speech and Cortana
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
Optimizing for Conversational Search #FOS19
The virtual assistant tour adelaide
The Voice Interface Revolution
AI Days LATAM Intelligent Apps and Agents
Antimo Musone - Vocal Assistant - build natural and rich conversational exper...
Voice User Interface Design - Big Design 2017
Advances in Voice & Speech Recognition
Robin Langfield Newnham - Voice AI Presentation
Adventures on the Road to Enterprise Virtual Assistants
AI Assistant Enabled Voice Experiences
NUS-ISS Learning Day 2017 - Voice Computing - The Next Digital Disruption!
Building Conversational Experiences for Google Assistant
Virtual assistanttour globalai_bootcamp_dec19
Add more Speech API to your bot
Solvion Trendwerkstatt - Microsoft Azure + Bots
Ad

More from Madoka Chiyoda (20)

PDF
最後の HoloLens meetup での登壇資料。HLとコミュニティの皆様への感謝
PDF
マイクロソフト企業紹介 at clusterGAMEJAM 2020 in Winter
PDF
#MRDevDaysJP HoloLens 2 アプリ開発入門
PDF
HoloLens 2 アプリ開発ハローワールド
PDF
Azure 入門 (と言いながらちょまどの好きな Azure サービス紹介)
PDF
ハッカソンで使い勝手の良さそうな Microsoft の AI 系のサービス紹介
PDF
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
PDF
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
PDF
2020年8月_HoloLens 2 アプリ開発入門
PDF
Microsoft ゲーム部門紹介スライド
PDF
クラウド入門とプログラミング楽しいという話 ( #技育祭 登壇資料)
PDF
[学生向けオンライン登壇] クラウド入門 + キャリアの話
PDF
HoloLens 2 + Microsoft の Mixed Reality 製品 入門 (D365)
PDF
2020年4月版_Xamarin.Forms 入門 (Mac での開発編)
PDF
200126_Azure Spatial Anchors
PDF
HoloLens 2 開発入門 (公式チュートリアルの紹介)
PDF
HoloLens 2 開発公式チュートリアルとフィードバック待ってます話
PDF
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
PDF
191014『オタクな私の拡がる世界』オタ駆動開発 at DevFest Women 2019
PDF
クラウドサービス Microsoft Azure 基本
最後の HoloLens meetup での登壇資料。HLとコミュニティの皆様への感謝
マイクロソフト企業紹介 at clusterGAMEJAM 2020 in Winter
#MRDevDaysJP HoloLens 2 アプリ開発入門
HoloLens 2 アプリ開発ハローワールド
Azure 入門 (と言いながらちょまどの好きな Azure サービス紹介)
ハッカソンで使い勝手の良さそうな Microsoft の AI 系のサービス紹介
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
若手エンジニア向けカンファレンス #BitValley2020 登壇資料 (オタ駆動開発)
2020年8月_HoloLens 2 アプリ開発入門
Microsoft ゲーム部門紹介スライド
クラウド入門とプログラミング楽しいという話 ( #技育祭 登壇資料)
[学生向けオンライン登壇] クラウド入門 + キャリアの話
HoloLens 2 + Microsoft の Mixed Reality 製品 入門 (D365)
2020年4月版_Xamarin.Forms 入門 (Mac での開発編)
200126_Azure Spatial Anchors
HoloLens 2 開発入門 (公式チュートリアルの紹介)
HoloLens 2 開発公式チュートリアルとフィードバック待ってます話
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
191014『オタクな私の拡がる世界』オタ駆動開発 at DevFest Women 2019
クラウドサービス Microsoft Azure 基本
Ad

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Machine learning based COVID-19 study performance prediction
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PPTX
Spectroscopy.pptx food analysis technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
A comparative analysis of optical character recognition models for extracting...
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
Assigned Numbers - 2025 - Bluetooth® Document
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Machine learning based COVID-19 study performance prediction
Chapter 3 Spatial Domain Image Processing.pdf
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Spectroscopy.pptx food analysis technology
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation

Google Assistant app (Actions on Google) with Microsoft Azure Functions in C# (Serverless service by Microsoft)

  • 1. Developed Google Home app (Actions on Google) using Microsoft Azure Functions
  • 2.  Everyone calls me “Chomado”.  Based in Tokyo, Japan. Love anime/manga  Before joining Microsoft, I’d been a mobile app developer using Xamarin + Microsoft Azure  I’m not only an engineer but also a manga artist:
  • 3. My manga work: “Run! Coding Academy”
  • 5. I love my Grandma She has presbyopia (aged eyes) and difficult to read. So I bought a smart speaker for her. I think VUI (Voice UI) is good for old-aged people.
  • 6. What is “Smart Speaker”? Wireless speaker with AI assistant!
  • 7. Virtual Assistant (logo) Virtual Assistant Owned by Devices Languages/Markets Microsoft Cortana Harman Kardon INVOKE English for US, Canada, Australia, India Amazon Alexa Amazon Echo English for US, UK, Ireland, Canada, India, Australia, New Zealand; German (Germany, Austria); Japanese (Japan); Google Assistant Google Home English (U.S., U.K., Canada, Australia), French (France, Canada), German, Japanese Siri Apple HomePod English for US, UK, Australia Clova Clova Friends, Clova WAVE Japanese and Korean for Japan and South Korea markets
  • 8. Virtual Assistant (logo) Virtual Assistant Owned by Devices Languages/Markets Microsoft Cortana Harman Kardon INVOKE English for US, Canada, Australia, India Amazon Alexa Amazon Echo English for US, UK, Ireland, Canada, India, Australia, New Zealand; German (Germany, Austria); Japanese (Japan); Google Assistant Google Home English (U.S., U.K., Canada, Australia), French (France, Canada), German, Japanese Siri Apple HomePod English for US, UK, Australia Clova Clova Friends, Clova WAVE Japanese and Korean for Japan and South Korea markets (ToT) Google Home
  • 9. How Microsoft Cortana skill works?
  • 10. How's the weather like in Tokyo today? voice How's the weather like in Tokyo today? text Weather Service When you say a command which Google Assistant knows How Google Assistant works Speech to Text, NLP, Knowledge Graph, ML Ranking, User Profile, Text to Speech Devices Google Assistant Weather Service
  • 11. Connect to HelloAzureFunctio ns service voice HelloAzureFunctions I don’t know such service. I don’t know what to do When you say a command which Google Assistant does NOT know Speech to Text, NLP, Knowledge Graph, ML Ranking, User Profile, Text to Speech Devices Google Assistant Connect to HelloAzureFunction s service text How Google Assistant works
  • 12. When you say a command which Google Assistant does NOT know Speech to Text, NLP, Knowledge Graph, ML Ranking, User Profile, Text to Speech Devices Google Assistant How Google Assistant works So, to make Google Assistant do your own command, you need to create an Google Assistant app called “Actions on Google” (same as Cortana/Alexa skill development motivation)
  • 13. You need to implement this function (Web API) called by Webhook Speech to Text, NLP, Knowledge Graph, ML Ranking, User Profile, Text to Speech Devices Google Assistant Create Actions on Google to run your own command on your Google Assistant
  • 14. Hi, I’m Madoka (voice) Hi, I’m Madoka (in cool voice) I made a voice changer app (action) working like this!
  • 15. I post its demo video to Twitter two weeks ago (16 March) I made this app using Microsoft Azure Functions (C#) and it works like this … 47.5 K views in 2 weeks! It means many Google developers got interested in Microsoft technology. https://twitter.com/chomado/status/974534165419892736
  • 16. Actions on Google “I’m Madoka” She says “I’m Madoka”. Invoke Webhook Microsoft Azure Dialogflow (Natural language user interface like MS LUIS)
  • 17. Actions on Google “I’m Madoka” She says “I’m Madoka”. Invoke Webhook Azure Functions (where my code running) “I’m Madoka” (json data) Microsoft Azure Dialogflow (Natural language user interface like MS LUIS)
  • 18. Actions on Google “I’m Madoka” She says “I’m Madoka”. Invoke Webhook Azure Functions (where my code running) “I’m Madoka” (json data) VoiceText Web API (text to speech service by HOYA, Inc) “I’m Madoka” (string) Microsoft Azure Dialogflow (Natural language user interface like MS LUIS)
  • 19. Actions on Google “I’m Madoka” She says “I’m Madoka”. Invoke Webhook Azure Functions (where my code running) “I’m Madoka” (json data) VoiceText Web API (text to speech service by HOYA, Inc) “I’m Madoka” (string) Azure Storage (Blob) Microsoft Azure Dialogflow (Natural language user interface like MS LUIS)
  • 20. Actions on Google “I’m Madoka” She says “I’m Madoka”. Invoke Webhook Azure Functions (where my code running) “I’m Madoka” (json data) VoiceText Web API (text to speech service by HOYA, Inc) “I’m Madoka” (string) Azure Storage (Blob) mp3 data’s URL + Request to play the mp3 file (written in SSML) Microsoft Azure Dialogflow (Natural language user interface like MS LUIS)
  • 21. Actions on Google “I’m Madoka” She says “I’m Madoka”. Invoke Webhook I’m Madoka (in cool voice) Azure Functions (where my code running) “I’m Madoka” (json data) VoiceText Web API (text to speech service by HOYA, Inc) “I’m Madoka” (string) Azure Storage (Blob) mp3 data’s URL + Request to play the mp3 file (written in SSML) Microsoft Azure Dialogflow (Natural language user interface like MS LUIS)
  • 22. Trigger: HttpTrigger Output: CloudBlockBlob (I chose this because it can directly access the stored mp3 file’s URL) Azure Function (v1) which is called by Google’s Webhook Google Assistant users’ input text (“I’m Madoka!”) is stored in this JSON property named “ResolvedQuery”, so we use it.
  • 23. In the Function In speech execution, it’s better to use SSML format. (Speech Synthesis Markup Language: an XML-based markup language for speech synthesis applications) Not only Google Assistant but also our Cortana and Amazon Alexa support it. You can access the URL which stores the mp3 file in Azure Blob Storage As you know, Azure Functions allows us to connect & post data to Azure Storage sooooo easily! Azure Functions is awesome. Everyone knows it.
  • 24. It got 58 stars and forked 10 times

Editor's Notes

  • #11: Neuro Linguistic Programing(神経言語プログラミング)
  • #12: Neuro Linguistic Programing(神経言語プログラミング)
  • #13: Neuro Linguistic Programing(神経言語プログラミング)