コンポーネントを使用してSlackワークスペースに接続するには、Slackアプリを作成し、APIトークンを取得する必要があります。
Slackアプリとは?
Slackアプリを利用すると、Slackコンポーネントのようなクライアント側のアプリケーションをワークスペースに接続することができます。クライアント側のアプリケーションは、Slack APIを使用してワークスペースと通信します。
APIトークンとは?
Slackアプリを作成すると、そのSlackアプリ用のAPIトークンが生成されます。コンポーネントとの接続認証は、ユーザー名とパスワードの代わりに、APIトークンを使用して行います。
ユーザーアカウントの下でコンポーネントを実行して自分のアクションを自動化することができます。また、botとしてコンポーネントを実行することもできます。
Slackコンポーネントからの接続
この記事では、アプリを作成し、APIトークンを使用してコンポーネントから接続する方法を紹介します。
Slackアプリの作成
以下の手順に従って、Slackアプリを作成してください。
- Slackワークスペースにサインインし、Slackアプリ設定ページにアクセスします。
- 「Create New App」をクリックし、スクラッチからアプリを作成するオプションを選択します。
- アプリの名前を入力します。
- アプリを開発するワークスペースを選択するメニューで、自分のワークスペースを選択します。
- 「Create App」をクリックします。
今回は、「webinar-planners」という名前のアプリを作成し、「northwindsuppliers_test」というワークスペースを使用します。
アプリ権限の設定
アプリを作成した後、権限ページに移動します。基本情報ページで、「Add Features and Functionality」メニュー内の「Permissions」をクリックします。
「OAuth & Permissions」ページの「Scopes」セクションまでスクロールします。
ここでは、アプリが要求する権限、またはアクセス範囲を指定します。
ほとんどの場合は、botトークンを使用しコンポーネントをbotとして実行します。または、ユーザートークンを取得して、ユーザーとしてコンポーネントを実行することもできます。「Bot Token Scopes」または「 User Token Scopes」で、「Add an OAuth Scope」をクリックし、アプリに必要な機能に対応するスコープを追加します。
続いて、いくつかの仮のスコープを追加します。以下は、「OAuth & Permissions」ページの「Scopes」セクションです。
例えば、Slackのすべての操作方法に対して同じbotを使用する場合、botトークンに以下のすべてのスコープを追加します。以下は、各コンポーネントを使用するために必要なスコープです。
SlackPost
- chat:write
- chat:write.public
- chat:write.customize
SlackUpload
- files:write
SlackGet
- channels:history
- groups:history
- im:history
- mpim:history
SlackDelete
- chat:write
ワークスペースにSlackアプリを追加する方法
サイドバーにある「Setting」セクションの「Install App」を選択して「Install to Workspace」をクリックします。
「アプリがアクセスする権限をリクエストしています」というページで、「許可する」をクリックします。
トークンの取得
アプリをインストールした後、「Settings」>「Install App」ページに進むとアプリのトークンが表示されます。ユーザートークンまたはbotトークンをコンポーネントのSlackトークンプロパティにコピーします。以下に示すのは、Slackを操作するために使用するbotのトークンです。
Slackコネクションの作成
SlackコネクションはAPIトークンを保存することで使用できるようになり、チャンネルやダイレクトメッセージに接続することができます。以下は、フローデザイナーでのSlackコネクションの作成方法とコネクションのプロパティ設定方法です。
-
左下にあるフローデザイナーのコネクションペインにある「コネクションの作成」をクリックします。「接続種別」よりSlackを選択し、コネクションの名前を入力します。
-
右上のインスペクターにあるAPIトークンのプロパティに上記でコピーしたbotトークンを設定します。
-
コンポーネントから接続したいチャンネルまたはダイレクトメッセージをチャンネルプロパティに指定して設定します。
チャンネルには、チャンネル名(例:#general)、チャンネルID(例:C024BE91L)、またはダイレクトメッセージID(例:D023BB3L2)を入力して設定できます。
IDはチャンネルまたはユーザーの詳細ページからコピーできます。
APIトークンとチャンネルの設定が完了すると、コンポーネントとSlackワークスペースを接続する準備ができました。コネクションのプロパティは以下のようになります。
-
コネクションペインの「コネクションの保存」をクリックします。
-
「接続のテスト」をクリックして、接続が正常であることを確認します。
「200 OK」というメッセージが表示された場合、Slackコンポーネントとワークスペースを接続する準備ができています。
エラーが表示された場合は、APIトークンの値が正しいか確認してください。
チャンネルまたはダイレクトメッセージのIDの取得
Slackワークスペースのサイドバーにあるチャンネルまたはユーザー上で右クリックし、「チャンネル詳細を表示する」をクリックします。
詳細ページで、下にスクロールし、IDをコピーするボタンをクリックします。
コンポーネントからの接続
コンポーネントの「コネクション」プロパティのプルダウンを選択して、接続するコネクションを設定することができます。
他の方法として、コネクションペインからワークスペースにSlackコネクションをドロップし、フローに追加できるコンポーネントのリストからSlackコンポーネントを選択する方法もあります。
または、すでに配置されているコンポーネント上にSlackコネクションをドロップすることでも、コンポーネントの「コネクション」プロパティを設定することができます。
以上で、チャンネルやダイレクトメッセージとSlackコンポーネントの接続が可能になります。