Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Actions SDK sample app for Google's Assistant

This project is a sample app for the Google Assistant that makes use of Google's Actions SDK.

The project was described in detail in the blog post Using the Actions SDK to Develop for the Google Assistant.

Getting Started

After cloning the project you should make sure to create all node dependencies. For this switch to the functions folder and enter

npm install

This will install all necessary libraries into the folder node_modules. Since I lock the versions of the libraries with a package-lock.json file you should be using the same versions of all libraries that I use.

Afterwards go back to the root folder of the project and follow the instructions of my two blog posts for

You should then be able to deploy your project to the Actions Console by using

gactions update --action_package action.json --project actionConsoleProjectId

And you can start testing the assistant app by issuing

gactions test --action_package action.json --project actionConsoleProjectId


You need to have node.js and npm installed.

You also need to install mocha and nyc globally:

npm install -g mocha
npm install -g nyc

You also need to have access to the Actions Console. Create a project with any name you like.

You also need to use Cloud Functions for Firebase. Read my post about how to setup Cloud Functions for Firebase projects to prepare a cloud functions project.

Note: I make outbound http calls in this project. For this to work your project must not be on the Spark plan (that's the free plan). So be warned. You might want to either replace the outbound call - which you can find in api/api.js - or switch to another solution or switch to the blaze plan. It's up to you!

Finally you should download the gactions command line tool and make it executable and accessible in your PATH.

Running the tests

The project comes with a set of tests and code coverage. To run all tests and get a code coverage report on the console, simply issue

npm test

You can find an html version of the coverage report in .nyc_output/coverage.

Tests are written using mocha and use BDD assertions by chai. For spies and stubs I use sinonjs.

For code coverage istanbul and it's nyc command line interface are used.



This project is licensed under the Apache License, v2 - see the LICENSE file for details


Sample app for the Google Assistant using the ActionsSDK







No releases published


No packages published