Building Chat Bot Apps with Google Actions


In science fiction, we have dreamed about the days when we’ll talk to our computers to make things happen. In Star Trek, crew members can talk to the Holodeck computer to “program” and explore amazing virtual experiences. Tony Stark(aka. Ironman) constantly gets situation awareness from Jarvis during battle by simply talking to his device. We’re still a long way away from Holodecks, R2D2, and Ironman. As developers and makers, we can explore the potential of voice interactions with mobile devices today.

The Google Actions toolkit enables you to integrate your services into the voice command interface of a Google assistant. This technology touches millions of devices including phones, cars, and assistant devices. You can also integrate into services provided by Google or third party services.

This past weekend, our local Google developer group of Central Florida organized a hackathon to explore applications of voice user interfaces and Google Actions. We enjoy getting to organize community workshops like this. Love seeing our community come together. It’s always a great opportunity to learn, meet people, and generate new ideas.

Google Actions Hackathon

In general, Google actions work well in three major use cases. Users on the go. People starting their day. People relaxing at the end of the day.   For my Google Actions app, I tried to think of an application of Google Actions that would support our leadership team for our GDG. We recently adopted a Trello board to help us organize tasks for our club. If you’re not familiar with Trello, it’s simple a task management system popular with Agile teams. ( see a screenshot below )  As a busy Dad and professional, I typically think of stuff that needs to be accomplished for the GDG while I’m driving.

Trello board

I decided to create a simple Google Action to enable me to collect a task and share it on our leadership Trello board. I tried to explore this task in three phases.

1. Get to know the Google Actions API: I used a variety of resources to get to know the Google Actions interface. I, however, found this code lab very helpful.  After doing this code lab, I was able to slightly elaborate on the tutorial to create my own stuff.

2. Build Trello integration code to add a task to a list: On my local laptop, I started playing around with a few options for adding task information to a list.  I found the “node-trello” package for NodeJs worked really well.

3. Integrate the Google Actions API and the NodeJS code together

Here’s a quick tour of the Google Actions conversation setup. Using Dialogflow, it’s really cool that you can create conversational interface actions with almost no code.  JavaScript code becomes necessary if you need to integrate services or databases together.   Let’s focus on one intent: adding a task.   In general, intents enable you to accomplish a focused interaction on your Google assistant.   In my case, the user calls my action by doing the following:

  • Ok, Google.  Let me talk to GDG tasks
    • The system replies with a greeting and a prompt for a command
  • The user can reply “add task.”

In this intent, we can configure the system to respond to similar phrases to “add task.”

Add task

At this point, the intent collects two pieces of information.  (task name and task details).  We configure the intent to fulfill the conclusion of the intent with custom code.

Hope this code sample helps you understand the experience of building a Google Actions application.

Here’s a few more resources and ideas to help you write your own Google Actions app.

    • These are great tutorials for “non-coders” and programmers.  These templates are designed for teachers, educators or people curious about chat bot building.   The tutorials are designed to be very short.