前回の記事で、Googleで指定した単語を検索する自動化プロジェクトを作成し「明日の天気」を検索しました。今回は、検索した明日の天気を Slack に投稿する自動化プロジェクトを作成します。
※Slack にはログイン済みであることが前提です
ログイン処理含めた自動化プロジェクトは、個別で記事を作成する予定です。
まずはいつも通りからのプロジェクトを作成しましょう。
ちなみに下記の追うなプロセス名で作成しようとしたころエラーとなりました。どうやらプロセス名にカギカッコを使用することはできないようです。
気を取り直してカギカッコのないプロセス名でプロジェクトを作成します。
アクティビティを配置する前に、あらかじめ Chrome ブラウザで
https://www.google.com/search?q=明日の天気
にアクセスしてページを開いておきます。
次に、アクティビティパネルからアプリケーション > カード「アプリケーション/ブラウザを使用」を選びます。
「アプリケーションを指定」をクリックし、明日の天気を検索しておいたウィンドウを選択します。
これで明日の天気をGoogleで検索、表示するためのワークフローが完成しました。
ここから天気をSlackに投稿するために、名前付きの変数に格納します。まずはテキストを取得アクティビティを配置しましょう。
「画面上でターゲットを指定」をクリックし、ターゲットとしてGoogleの検索結果のページで、天気を表示しているテキスト要素を選択します。
また、保存先のプラスマークをクリックし、「後で使用するために保存」をクリックして、取得した天気のテキストに名前を付けておきます。
「明日の天気の Text」という名前を付けました。
念のためメッセージボックスアクティビティを使用して、正しく値が取得できているかを確認します。
明日の天気がメッセージボックスに表示されました。
次にSlackで投稿したいチャンネルをブラウザ上で開き、URLをコピーしておきます。今回は社内 Slack の自身宛のDMチャンネルを選びました。
このURLを「URLに移動」アクティビティに入力することで、Slackの任意のチャンネルを自動で開くことができます。
Slack にテキストを投稿させるため、「文字を入力」アクティビティを追加します。
文字の入力先として、投稿用のテキストボックスを選択します。
入力する値として「明日の天気 Text」を選択します。
また、Slackへの投稿はCtrl+Enterで行う設定となっていますので、キーボードショートカットアクティビティによりCtrl+Enterをレコーディングします。
全体としては次のようなワークフローとなっています。
ここで、なぜか「文字を入力」アクティビティが文字変換(IME)が起動した状態で文字入力されるため、一回余分にEnterを押さないと、想定通り投稿されない(変換確定となってしまう)という現象があったため、キーボードショートカットで投稿(Ctrl+Enter)の前に、Enterを1つ追加しました。
※上記は暫定策なので、時間のある際に改めて原因を調査します。
下の画像のように、自分あてのDMに天気が投稿されました。
まとめ
今回は汎用性の高いSlackへの投稿を自動化する方法を解説しました。テキストの取得元のページ、URLを変えることで、株価の変化を自動で投稿させたり、新型コロナウイルスなどの統計情報をリアルタイムで投稿させるなど様々な応用が可能ですので、是非お役立てください。