Help us understand the problem. What is going on with this article?

Slack ワークフロービルダーの新しいトリガー(日時/Webhook)を使ってみよう!

はじめに

ワークフロービルダーの新機能が2020/02/12にリリースされました:smile:
追加機能の概要と、簡単な使い方をまとめておきます!
前回投稿したワークフロービルダーの基本的な解説はこちら

追加機能(3点)

新しいトリガーが2点と、追加機能が1点リリースされました。

新しいトリガー(スケジュールされた日付と時間)
 特定の日または定期的なワークフローをスケジュール起動する機能

新しいトリガー(Webhook)
 外部システムまたはツールからSlackのワークフローを起動する機能

新しい機能(フォームデータをCSVとしてダウンロード)
 ワークフロービルダーのフォームから収集した回答をCSV形式でダウンロードできる

:warning: 注意事項:warning:
Webhookトリガーや、フォームデータをCSVとしてダウンロードするためには
事前にワークスペース管理者が権限設定を行う必要があります。

新しいトリガー(スケジュールされた日付と時間)

もう1つ追加された新しいトリガーです。こちらは解説するまでもなく直観的に使える機能だと思います。
/remind などで繰り返しメッセージを設定するのもひとつですが、定期的なフォーム入力の催促などを
ワークフローとして実現したい場合には活用できそうな気がします。

今回フォーム入力データがCSVダウンロードできるようになったので相性もいいですね。
image.png

新しいトリガー(Webhook)

サンプルとして、新しいトリガー(Webhook)を、GoogleAppsScriptから利用する場合の手順を書いていきます。
なお、今回追加されたWebhookは、従来から提供されているIncoming Webhookに相当する機能です。
Incoming Webhookの仕様はあわせて公式リファレンスをご確認ください。

(1) 適当な名前で新しいワークフローを作成します。
image.png

(2) トリガー設定に、今回追加されている機能が表示されています。Webhookを選択してください。
image.png

(3) Incoming Webhookで受け取る変数を追加します。変数を追加するを選択してください。
image.png

(4) 変数を追加します。今回はサンプルでmessageを追加します。データタイプはテキストを選択してください。
image.png

データタイプにはテキスト以外にも、以下の中から選ぶことが可能です。
-テキスト
-Slackユーザーのメールアドレス
-SlackユーザーID

(5) Webhookが登録された状態です。この時点ではWebhookURLが発行されていません。
image.png

(6) ステップを追加しメッセージを送信を選択してください。
image.png

(7) メッセージの送信先を選択し、メッセージのテキストには変数を挿入するをクリックし、(4) で作成した変数messageを指定します。
image.png

(8) ワークフロービルダーの準備はこれで完了です。右上の公開するをクリックします。
image.png

(9) Webhook用のURLが新規発行されます。
image.png

(10) GoogleAppsScriptで新規スクリプトを作成します。
サンプルコードのpayloadの部分に、(4)で設定したワークフロービルダーの変数の値を設定します。

sample.js
function sample(){

  //ワークフロービルダーで作成したWebhookURLを設定
  webhookurl = 'https://hooks.slack.com/workflows/XXXXXXXXX/XXXXXXXXX/000000000000000000/XXXXXXXXXXXXXXXXXXXXXXXX';

  //ワークフロービルダーで設定した変数の値を設定
  var payload = {
    'message' : 'Hello World!',
  };

  //HTTPリクエストを送信
  var params = {
    'method' : 'post',
    'payload' : JSON.stringify(payload)
  };
  var response = UrlFetchApp.fetch(webhookurl, params);

  var content = response.getContentText("UTF-8");

}

(11) サンプルコードを実行してメッセージが表示されれば完成です!🎉
image.png

新しい機能(フォームデータをCSVとしてダウンロード)

ワークフロービルダーの編集画面右上にある「...」から、フォーム形式で回答をダウンロードするを押すだけです。
image.png

ファイルダウンロード準備が整うと、SlackBotからユーザー宛にダウンロードURLが通知されます。
image.png

さいごに

今回Incoming Webhookに対応されたことで、GSuiteや他SaaSサービスとの連携がやりやすくなりました。
Slackを呼び出す側は、JSON形式で値を渡す必要があるため、多少プログラミングスキルは求められますが
ユーザーのSlackを活用したアイデアを形にしやすくなったと思いますし、非常に良いアップデートだと思います。
これからもワークフロービルダーには追加機能の実装が期待されるところですね。

以上

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした