Google Assistant Bot

You can deploy a Now Assistant bot to the Google Assistant directory. Follow the below steps.

This requires for your Now Assistant server to be publicly accessible. Learn more

1. Create a Google Assistant app project

Go to https://console.actions.google.com/ and click on Add/import project.

Add Google Assistant project

On the next screen enter a Project name and click on Create Project.

Create project

On the next page, just click Skip to not select any presets.

Skip Presets

Now we should be on the overview page of our new project. Click on the cogwheel icon in the top left-hand corner and then Project settings.

Project settings

Now take a note of your Project ID as it will be required in the next step.

Note Project ID

2. Configuring Actions

We have prepared a configuration file. Download this from our Github repo.

Update JSON for Google Actions

Open the file and in line 43, change the URL to match the Public Server URL of your Now Assistant server, i.e. https://<PublicServerURL>/botgoogleassistant

3. Uploading Actions

To upload our modified configuration file we will need to use a command prompt (or Terminal on a Mac).

  1. Download the command line interface that's right for your platform from this Google website
  2. On a PC: Open cmd prompt as Administrator On a Mac: Open Terminal
  3. Point your command line interface to the folder that contains your file
  4. Enter chmod +x gactions to make the binary file executable
  5. On a PC: Then enter $ gactions update --action_package google.assistant.bot.action.json --project <Your-Google-Project-ID> On a Mac: Then enter ./gactions update --action_package google.assistant.bot.action.json --project <Your-Google-Project-ID>

    <Your-Google-Project-ID> is the Project ID as noted under step 1

  6. You will now likely get the following message: Gactions needs access to your Google account.... This means you need to follow the link to authenticate with Google and paste the code you are given back into the command line.
  7. If successful, your actions should have updated; but if not, just repeat step 5

4. Invocation

Invocation settings

Now we want to give our project an invocation name. So please go to Invocation and follow these steps:

  1. Enter a phonetic invocation phrase. This should be how a machine would hear your bot skill's name and not be stylized.
  2. Enter the title as it should be listed in the Google Assistant directory
  3. Click Save

5. Testing

To test if the connection is established we need to enable a testing mode in Now Assistant.

Enable test mode on Now Assistant

  1. Go to https://<PublicServerURL>/Admin/adenin.GateKeeper/GlobalSettings/adenin.GateKeeper.GoogleAssistantBot
  2. Enter your Google email address (often ending in @gmail.com)
  3. Click the checkmark icon to save

Now we open the Simulator and select the Draft version of our app for testing. Say "Talk to Now Assistant" to get started.

Your invocation name would be different if you have entered something else under step 4.

Use Google Actions simulator

The expected response from Now Assistant should be: "I'm sorry, I did not understand: Talk to Now Assistant".

This means the connection is established, even though the response is non-sensical at this point.

6. Set up Now Assistant for account linking

In order for Now Assistant to accept requests by Google Assistant we need to set up a new API Client.

Create new API Client in Now Assistant

  1. Go to https://<PublicServerURL>/Admin/Contents/Create/APIClient
  2. Enter a Name
  3. Enter a Title
  4. Enter https://oauth-redirect.googleusercontent.com/r/<Your-Google-Project-ID>
  5. Click Save

7. Set up account linking with Google Assistant

Now we need to set up account linking on the Google side.

Account linking on Google Actions

  1. Click on Account linking
  2. Select No, I only want to allow account creation on my website
  3. Click Next
  4. Account linking on Google Actions Select OAuth from the dropdown
  5. Select Authorization code
  6. Select Next
  7. Account linking on Google Actions

    Paste value _A_

  8. Paste value _B_
  9. Paste value _C_
  10. Paste value _D_
  11. Click Next
  12. Account linking on Google Actions

    Click Next

  13. Enter testing instructions as to how Google can review your submission before it is entering their public directory.
  14. Click Save