「オッケーグーグル！」でWinActorロボを自動起動させてみた

RPAが盛り上がりを見せている昨今ですが、お家に眠っているGoogle Homeを活用してみませんか？
例えば、「オッケーグーグル！出勤しておいて！」を言うと、WinActorのロボが立ち上がり社内の勤怠システムに出勤してくれるロボットが自動起動すると嬉しいですよね！

そんなことが簡単にできるようになるためのやり方をお伝えしようと思います。

## イメージ動画
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Google AssistantとWinActor連携デモです。<br>Google Homeにロボ起動を指示するとWinActorが自動起動します。<br>実行完了するとWinActorがGoogle Homeに完了通知してくれます。<br>音声操作で起動から完了通知まで一括で行ってくれるのでとても便利ですね！<a href="https://twitter.com/hashtag/RPA?src=hash&amp;ref_src=twsrc%5Etfw">#RPA</a> <a href="https://twitter.com/hashtag/WinActor?src=hash&amp;ref_src=twsrc%5Etfw">#WinActor</a> <a href="https://t.co/xZn33IZWzk">pic.twitter.com/xZn33IZWzk</a></p>&mdash; がおまる@LINE API Expert (@gaomar) <a href="https://twitter.com/gaomar/status/1187197039790051328?ref_src=twsrc%5Etfw">October 24, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## 事前準備
* Chromeブラウザ（推奨）
* node.js のインストール（v10以上、v10.16.3 推奨）  
https://nodejs.org/ja/download/
* git のインストール  
https://git-scm.com/
* Visual Studio Codeのインストール  
Visual Studio Code: https://azure.microsoft.com/ja-jp/products/visual-studio-code/

## WinActorローカル環境を構築しよう！
### 1-1. GitHubからプロジェクトを取得する
ローカルの環境に予め用意しているプロジェクトを構築しましょう。GitHubからクローンしてきます。

```
> cd %homepath%\Documents
> git clone https://github.com/gaomar/callGoogleHome.git
```

### 1-2. WinActorのショートカットを作成する
WinActorを起動して、［設定］- [起動ショートカット作成]をクリックします。

<img width="365" alt="s100.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/23bc159b-db1c-b142-67bf-e078b2b847c4.png">

ドキュメントフォルダの `callGoogleHome` フォルダにある `callMemo.ums6` ファイルを選択します。
実行オプションは2つ共チェックを入れてください。［作成］ボタンをクリックします。

![s101.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/74d95efc-0f1d-9c58-c68e-e8360af2dd36.png)

保存先は `callGoogleHome` フォルダの直下に保存しておいてください。
ファイル名は `callMemo` という名前にしてください。

![s102.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/5d6d0e98-9583-87ec-7453-7a577c877dd4.png)

下記のようにショートカットファイルが作成されていることを確認してください。

![s103.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/f3ad6b6b-3036-b47a-1b91-e2368249e29b.png)

### 1-3. Visual Studio Codeに展開する
下記コマンドを実行してください。

```
> code callGoogleHome
```

Ctrl + @ を押してターミナルを表示します。

![s104.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/e707336e-9bdc-bf7e-a8dd-80542d643849.png)

下記コマンドを実行してインストールしてください。

```shell
> npm install
```

### 1-4. プログラムを実行する
必要なモジュールがインストールできたら、プログラムを起動します。
下記コマンドを実行してください。

```shell
> node index.js
```

`Server running on 3000` と表示されればOKです。

![s105.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/50196ace-7502-69e5-da39-aee2b3ad34df.png)

### 1-5. ngrokインストール
ngrokがまた未インストールの方は下記コマンドを実行してください。

```shell
> npm i -g ngrok
```

### 1-6. ngrok起動
まず、VSCodeでウィンドウを分割します。
インストール済みの方は、分割した右側のウィンドウで下記コマンドを実行してngrokを起動してください。

```shell
> ngrok http 3000 
```

![s106.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/5416c6e1-d717-631e-f250-f84dfb789465.png)

起動したら発行される `https://` 側のURLをメモしておきます。

![s107.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/46b9278e-6c39-4d33-a42f-5a88711637e0.png)

## Dialogflowの設定
Dialogflowを使って自然言語処理部分を実装していきます。

### 2-1. Agentを作成する

[https://dialogflow.com/](https://dialogflow.com/)にアクセスしてください。
［Sign up for free］ボタンをクリックします。お持ちのGoogleアカウントでログインしてください。

<img width="1114" alt="s200.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/1b071c1c-fd78-791f-05a0-26f930471f2d.png">

初めてDialogflowをお使いになる方は利用許可してください。

<img width="207" alt="s201.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/8cc6fe4a-3c7b-3451-4f3d-da43fd80f912.png">

Terms of Service部分のチェックを入れてから［ACCEPT］ボタンをクリックします。
<img width="701" alt="s202.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/005a6c52-443a-fbe7-7880-d65c7c98a798.png">

［CREATE AGENT］ボタンをクリックします。
<img width="955" alt="s203.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/617672e5-f077-9e50-beb2-1e036d1071b3.png">

`MyHello` と入力して、デフォルト言語を `Japanese - ja` に選択してから［CREATE］ボタンをクリックします。

![s204.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/9e1cc7f2-bd41-cf49-a440-f16776a65d25.png)

### 2-2. Default Welcome Intentを編集する
Agentが作成できたら、この画面が表示されるので、［Default Welcome Intent］をクリックします。

![s205.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/574957e0-c65c-3fa7-56e7-fdf5aee8c13e.png)

Action and parametersカテゴリの `Set this intent as end of conversation` と Fulfillmentカテゴリの `Enable webhook call for this intent` を有効にします。最後に必ず［SAVE］ボタンをクリックします。

![s206.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/c6938dfe-d061-3c62-d397-aae39dc02da3.png)

### 2-3. Fulfillmentの設定をする
webhookのアクセス先URLを設定します。左メニューの「Fulfillment」をクリックし、webhookを有効化します。
URLは `1-6` で発行されたURLを貼り付けます。

![s207.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/580a1385-de49-2d49-22e4-03c1c7add260.png)

### 2-4. Google Assistantの設定をする
左メニューの「Integrations」をクリックして、Google Assistant部分をクリックします。

![s208.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/7b98cba0-c553-3781-5447-28a4147bd167.png)

`Auto-preview changes` を有効化して、「TEST」をクリックします。

![s209.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/13a39b22-bfb8-b32b-d8f0-5d7b62f305a1.png)

### 2-5. 起動設定をする
「オッケーグーグル！」の後に発話してアクションを起動するための `起動ワード` を設定します。
今回は「ロボットテスト」としました。

この画面は上部メニューの「Develop」をクリックし、Display nameに入力します。最後に右上の「Save」ボタンをクリックします。

![s210.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/0091750c-3676-17d9-9cdb-2e631c61caa0.png)

### 2-6. 動作確認する
これで、上部メニューの「Test」をクリックすると、シミュレーターが起動します。「ロボットテストにつないで」部分をクリックすると動作確認することができます。
うまくいけば、WinActorが自動的に起動してメモ帳が立ち上がります。

![s211.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154355/d7b369b9-b192-6769-e21e-5f5e3cad1815.png)

## まとめ
簡単に音声操作でWinActorを実行することができました。
注意点としてはngrokの無料プランだと8時間しかURLが有効ではないのでずっと使うことが出来ません。

システム化のご検討やご相談は弊社までお問い合わせください。
https://i-enter.co.jp/contact/