
今回は Questetra BPM Suite の Slack 関連の自動工程の中から、「Slack: チャット投稿 (Bots)」と「Slack: ファイルアップロード(Bots)」の2つを取り上げます。
Slack とは
Slack は、Slack 社が開発・運営するビジネス向けのチャットツールです。話題やチームなどに応じて複数のチャンネルを使い分けることができるほか、様々なアプリとの連携ができたり、API を使用して Bot を作成することもできます。
Slack について詳しくは、Slack の公式ページをご覧ください。
自動工程の説明
まず、各工程について簡単に説明します。
Slack: チャット投稿(Bots)
Slack のチャンネルにQuestetra からメッセージを投稿する自動工程です。Attachment と呼ばれる付加情報を指定することもできます。

テキストメッセージの他、Attachment の一部も使えます。「送信するテキスト」「Attachment のタイトル」「Attachment のテキスト」の3つ全てが空白になっているとスクリプトエラーになります。また、 このとき、「C6: Attachment のタイトル」を入力しないと、 「C7: Attachment のタイトルリンク」 は無効になります。
Attachment について
Attachment は、Slack のメッセージを拡張する仕組みです。Questetra の自動工程では、「タイトル」「タイトルリンク」「テキスト」「色」「Attachment の要約(フォールバックメッセージ )」に対応しています。
メッセージの各設定と実際に投稿されるメッセージとの関係は、以下の画像のようになっています。

「Attachment の要約」はメッセージ本体には反映されず、「送信するテキスト」が空の場合のみ通知に使用されます。
Attachment については、Slack の公式ドキュメント(英語)もご覧下さい。
Slack: ファイルアップロード(Bots)
Slack のチャンネルにファイルをアップロードします。

Questetra と Slack の連携設定
Questetra と Slack の連携設定を行います。
- HTTP 認証設定を追加するにはシステム管理者権限が必要です
- 追加登録された HTTP認証設定は、同一ワークフロー基盤の他のアプリでも共有されます
Questetra のワークフローアプリの編集画面にて上記の自動工程を設置後、プロパティ画面を開きます。設定項目「C1: OAuth2 設定 」の下部にある[設定はこちらから]をクリックすると「HTTP 認証設定 Slack」という設定画面が開きます。
[追加]をクリックし、[名前]を指定します。(任意の文字列:後で見て分かり易いものが良いでしょう。)

追加した設定の[トークンの取得]をクリックすると Slack の認証画面へと移ります。まず、連携するワークスペースを指定します。(使用しているブラウザですでに Slack にサインインしている場合はこの画面はスキップされます。)

サインインします。(サインイン済の場合スキップされます。)

接続を許可すれば設定は完了です。なお、この手順で同時にワークスペースに Questetra BPM Suite アプリがインストールされます。

これで Slack との OAuth2 認証のトークンが取得されました。([トークンの取得]ボタンの上部に「○(アクセストークン)」と表示されます。)

Bot のチャンネルへの招待
これらの自動工程からは Bot として Slack のチャンネルに投稿/アップロードします。Bot はメンバーと同様にチャンネルに招待されてなければそのチャンネルにアクセスできません。
「questetra_bot」をチャンネルに招待するには、招待したいチャンネルで「/invite @questetra_bot」と投稿すると Bot が招待されます。何らかの理由で Bot をチャンネルから除きたい場合は、「/remove @questetra_bot」で除くことができます。
なお、Bot を招待するには Slack のワークスペースに Questetra BPM Suite がインストールされている必要があります。インストールは Questetra と Slack の連携設定をすることにより自動的に行われます。
サンプルアプリ
これらの自動工程の使い方として、例えば以下のようなものが挙げられます。
- プロセスの終了を Slack で通知する
- エラー発生時にその旨を Slack で通知する
- 担当者以外にも報告されるべき事柄を自動的に Slack で報告する
- ファイルを共有する
ここでは基本形となるシンプルなサンプルアプリを紹介します。実際の使用時には用途に合わせて他のアプリに組み込むなどして使用してください。

[投稿セット]工程で投稿する内容とアップロードするファイルを指定します。「Slack 投稿」工程でメッセージ本文と Attachment が投稿され、続けて「アップロード」工程でファイル型データ項目にセットされたファイルがアップロードされます。
データ項目の設定
データ項目は以下のようになっています。
データ項目名 | タイプ | 必須 | 「投稿セット」工程 | 説明 |
件名 | – | – | 編集可 | プロセスの件名です。 |
メッセージ | 文字列型 ( 複数行 ) | – | 編集可 | メインの投稿メッセージです。 |
Attachment タイトル | 文字列型 (単一行) | – | 編集可 | Attachment のタイトル文字列です。 |
Attachment タイトルリンク | 文字列型 (単一行) | – | 編集可 | リンク先となる URL です。 |
Attachment テキスト | 文字列型 (複数行) | – | 編集可 | Attachment のテキストの文字列です。 |
アップロードするファイル | ファイル型 | – | 編集可 | この項目のファイルがアップロードされます。 |
「Slack 投稿」(Slack: チャット投稿 (Bots))の設定
「Slack 投稿」工程の設定は以下のとおりです。
項目名 | 必須 | 説明 |
C1: OAuth2 設定 | ○ | Slack への接続に使用する HTTP 認証設定名を指定します。指定する名前の認証設定であらかじめOAuth2 トークンを取得しておく必要があります(「Questetra と Slack の連携設定」を参照)。 |
C2: 投稿するチャンネルの名前 | ○ | 投稿先となるチャンネルの名前を入力します。# の有無は問われません。 |
C3: 送信するテキスト | – | 送信するメインのメッセージを入力します。 このサンプルではデータ項目「メッセージ」の参照式を指定します。 |
C4: Attachment の要約 | – | 「 C2: 送信するテキスト 」が空の場合に Slack からの通知に使われるテキストを入力します。 |
C5: Attachment の色 | – | Attachment のサイドバーの色を設定します。16進数のカラーコードを固定値として指定します。 |
C6: Attachment のタイトル | – | Attachment のタイトルに使用するテキストを入力します。 このサンプルではデータ項目「Attachment タイトル」の参照式を指定します。 |
C7: Attachment のタイトルリンク | – | Attachment のタイトルにリンクを設定する場合、リンク先の URL を入力します。 このサンプルではデータ項目「Attachment タイトルリンク」の参照式を指定します。 |
C8: Attachment のテキスト | – | Attachment の本文に使用するテキストを入力します このサンプルではデータ項目「Attachment テキスト」の参照式を指定します。 |
「アップロード」(Slack: ファイルアップロード (Bots))の設定
「アップロード」工程の設定は以下のとおりです。
項目名 | 必須 | 説明 |
C1: OAuth2 設定 | ○ | 「Slack 投稿」で指定したものと同じ設定名を選択して指定します。 |
C2: Slack チャンネル名 | ○ | 投稿先となるチャンネルの名前を入力します。# の有無は問われません。 |
C3:アップロードするファイルが保存されているデータ項目 (ファイル) | ○ | リストから「アップロードするファイル 」を選択して指定します。 |
アプリを実行すると、以下のように Slack に投稿されます。
