Slackで定期的に確認をサポートするbotアプリ「KurocoWorkflow」のインストールと利用方法

想定作業時間:5分

アプリ概要説明

Slackにてメンションがついた投稿に「👍」スタンプがつけられるまで、定期的にリマインドを送るbotをKurocoにて作成しました。

  • このパッケージはSlack用「確認お願いしますボット」の仕様(誰か作ってほしい)の記事にインスピレーションを得て1日で作成したものです。
  • 月間3000ワークフロー程度の利用で無料枠1100円/月を超える予想ですが、チューニング等もしておりませんので、こちらのパッケージの利用は年内無料とさせていただきます。
  • こちらのパッケージをOEMで提供していただいても改造いただいても構いません。全て管理画面で設定されたものです。不具合や要望など是非、フィードバックをください。

Image (fetched from Gyazo)

起動条件

下記条件にてAppが起動されます。

  • @KurocoWorkflow にメンションがついていること
  • 誰か宛にメンションがついていること

Image (fetched from Gyazo)

リマインド時間の設定

下記条件にて、メンション受けた人で「👍」または「👎」スタンプをつけてない人に定期的にDMでリマインダーが送られます。

  • デフォルト:12時間毎
  • 投稿内に「🔥」が記載されている場合:1時間毎(メッセージを編集して、途中から緊急にもできます)

Image (fetched from Gyazo)

完了条件

下記にてリマインドが完了します。

  • slackのメッセージに「👍」または「👎」スタンプをつける

Image (fetched from Gyazo)

キャンセルの条件

下記にてリマインドがキャンセルされます。

  • slackのメッセージ内に「❌」スタンプを記入する(つまり投稿者のみキャンセル可能です)

Image (fetched from Gyazo)

ウォッチの条件

下記にて結果がDMで共有されます。

  • slackのメッセージに「👀」スタンプをつける

Image (fetched from Gyazo)

ワークフロー終了の条件

メンションを受けた人が全員「👍」または「👎」のリアクションをすると、ワークフローが終了します。

Image (fetched from Gyazo)

Kurocoの登録

それではアプリのインストール方法を説明します。
まずはKurocoの登録します。KurocoのFree Trial画面へアクセスします。 https://kuroco.app/ja/free_trial/

Image (fetched from Gyazo)

必要事項を記入し、[送信する]をクリックします。 「パッケージ」は、必ず「ワークフローSlackボット」を選択してください。

Image (fetched from Gyazo)

登録したメールアドレスに登録完了のメールが届きます。メール内に記載されている管理画面URLをクリックし、ログインを行います。 下記画面が表示されます。

Image (fetched from Gyazo)

APIドメインの確認

Slack連携に必要となるAPIドメインを確認します。[環境設定] -> [アカウント設定]をクリックします。

Image (fetched from Gyazo)

アカウント設定画面が表示されるので、「APIドメイン」を確認します。

Image (fetched from Gyazo)

こちらは後ほど利用するのでコピーをとっておいてください。

エンドポイントの確認

Slack連携に必要となるエンドポイントを確認します。
[API] -> [ForSlack]をクリックします。

Image (fetched from Gyazo)

すでに作成されているエンドポイントのパスを確認します。

Image (fetched from Gyazo)

上記の場合、/rcms-api/3/event をコピーしておいてください。

一旦ここまででKurocoの登録完了です。

Slackアプリのインストール方法

それではAppのインストール方法を記載します。

Appを作成する

Slack APIにアクセスし、[Create an App]をクリックします。

Image (fetched from Gyazo)

ポップアップでApp作成画面が表示されるので、[From an app manifest]をクリックします。

Image (fetched from Gyazo)

Workspace選択画面が表示されます。
「Pick a workspace to develop your app in:」フィールドより、Appを利用するworkspaceを選択し[Next]をクリックします。

Image (fetched from Gyazo)

Enter app manifest below画面が表示されるので、「YAML」のテキストエリアに下記を貼り付けます。

Image (fetched from Gyazo)

_metadata:
  major_version: 1
  minor_version: 1
display_information:
  name: KurocoWorkflow
features:
  bot_user:
    display_name: KurocoWorkflow
    always_online: true
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - channels:history
      - chat:write
      - emoji:read
      - im:history
      - im:write
      - mpim:history
      - reactions:read
      - team:read
      - users:read
      - groups:history
      - groups:read
      - groups:write
settings:
  event_subscriptions:
    request_url: https://sample.a.kuroco.app/rcms-api/3/event
    bot_events:
      - app_mention
      - reaction_added
      - reaction_removed
  org_deploy_enabled: true
  socket_mode_enabled: false
  token_rotation_enabled: false

上記コード内の https://sample.a.kuroco.app/rcms-api/3/eventには、先ほどKurocoの管理画面でコピーした APIドメイン/エンドポイントを記載してください。

貼り付け後、[NEXT]をクリックします。

Image (fetched from Gyazo)

[Create]をクリックし、APIの作成が完了です。

Image (fetched from Gyazo)

AppをWorkspaceにインストールする

次に、先ほど作成したAPIをWorkspaceにインストールします。

[Install to Workspace]をクリックします。

Image (fetched from Gyazo)

アクセス権限のリクエスト画面が表示されるので、[許可する]をクリックします。

Image (fetched from Gyazo)

次に、イベントを設定します。左サイドバーより[Event Subsctriptions]をクリックします。

Image (fetched from Gyazo)

Request URLには、先ほど同様コピーした APIドメイン/エンドポイント を入力し、[Save Changes]をクリックします。

Image (fetched from Gyazo)

次に、トークンを確認します。左サイドバーより、[OAuth & Permissions]をクリックします。

Image (fetched from Gyazo)

「Bot User OAuth Token」が表示されるので、コピーします。

Image (fetched from Gyazo)

Appの情報編集

デフォルトだとAppのアイコンが表示されないので、画像設定をします。 左サイドバーより[Basic Information]をクリックします。

Image (fetched from Gyazo)

「Display Information」より、[Add App Icon]をクリックします。

Image (fetched from Gyazo)

今回はKurocoのアイコンをアップロードしました。(画像はこちらからダウンロードできます。) 画像アップロードされたら完了です。アイコンが設定されました。

Image (fetched from Gyazo)

アプリの確認

Workspaceを確認すると、Appに「KurocoWorkflow」が追加されていることが確認できます。

Image (fetched from Gyazo)

Slackにアプリは追加されていますが、設定完了していないのでまだアプリは動きません。次にKurocoとアプリを連携します。

Kurocoの設定

最後に、Kurocoに先ほどコピーしたトークンを設定します。

Kuroco管理画面より[外部システム連携] -> [slack]をクリックします。

Image (fetched from Gyazo)

Slack連携設定画面が表示されるので、「有効にする」にチェックを入れます。「Bot User OAuth Token」には先ほどコピーしたBot User OAuth Tokenを入力し、[更新する]をクリックします。

Image (fetched from Gyazo)

以上で設定完了です。

動作確認

それではSlackにて動作を確認します。対象のSlack Workspaceに移動し、@kurocoWorkflow と自分にメンションをつけてメッセージを投稿します。

Image (fetched from Gyazo)

「👍」スタンプでリアクションしない場合、リマインダーが届きます。

Image (fetched from Gyazo)

運用

投稿の確認

Kurocoの管理画面[コンテンツ] -> [ワークフロー]より、投稿状況が確認できます。

Image (fetched from Gyazo)

絵文字管理

Kurocoの管理画面[コンテンツ] -> [マスタ] -> [アクション絵文字]をクリックします。

Image (fetched from Gyazo)

マスタ編集より、絵文字とアクションの管理ができます。

Image (fetched from Gyazo)

現在は下記のように設定されています。

actionアクション名emoji絵文字説明
canceledキャンセルするxワークフローのメッセージ内に編集で記入するとキャンセルになります。
approved承認する1👍ワークフローを承認します。メンションされた人が承認か拒否を全員すると完了します
rejected拒否する-1👎ワークフローを拒否します。メンションされた人が承認か拒否を全員すると完了します
asap緊急fire🔥ワークフローのメッセージ内に編集で入れると緊急(1時間毎に通知)になります。
watchウォッチするeyes👀ワークフローが完了になると通知がきます

マスタはCSVのアップロードにより、編集可能です。

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。