# カスタム OAuth プロファイルとは

カスタム OAuth プロファイルを使用することで、Slack 側で作成した独自のカスタムアプリを Workato の Slack コネクターから利用できるようになります。したがって、以下のような Slack アプリの属性をカスタマイズして利用できるということになります。

  • 名称やアイコン (ボット名、ボットのロゴ、背景色)
  • 権限

# Slack でカスタム OAuth プロファイルが必要になる状況

  1. ※訳文のカスタマイズ: 1. 複数のボットを自動化の用途によって使い分けたい場合に必要となります。たとえば、同じ「チャンネルを作成/アーカイブする」という操作でも、※※訳文のカスタマイズ: - Escalation ボットは課題のプライベートチャンネルを作成し、危機管理チームのメンバーを招待して、課題が解決したらそのチャンネルをアーカイブする - Birthday ボットはプライベートチャンネルを作成し、パーティーのプランナーを招待して、誕生日会が終わったらそのチャンネルをアーカイブする※※訳文のカスタマイズ: といった形で目的別にボットを分けたい場合に使用します。※

  2. アプリの名称やアイコンを変更したい場合。

  3. ボットの権限を制御したい場合。以下の表は、最適な利用のために最低限必要となる権限の一覧です。

    トークンのタイプ スコープ 理由
    ボット なし ボットのスコープは必要ありません。
    ユーザー channels:read 公開されている会話のリストを取得します。
    channels:write 公開されている会話を作成/更新します。
    groups:read プライベートの会話のリストを取得します。
    groups:write プライベートの会話を作成/更新します。
    im:read ダイレクトメッセージの会話のリストを取得します。
    im:write ダイレクトメッセージの会話を作成/更新します。
    mpim:write 多人数グループの会話を作成/更新します。
    mpim:read 多人数グループの会話のリストを取得します。
    chat:write メッセージをユーザーとして投稿します。
    users:read ユーザーの情報を取得します。
    users:read.email ユーザーの情報をメールで取得します。

カスタム権限スコープ 権限スコープのカスタムセット

# カスタム OAuth プロファイルの作成

まず、[Tools] ➤ [View all tools] に移動します。 [Connect apps] から、 [Custom OAuth profiles] を選択します。そうしたら、そこで [Create a new custom OAuth profile] を選択します。

カスタム OAuth プロファイル [Custom OAuth profile] が表示されない場合は、自身の Workato チームまたはアカウントにそれに対するアクセス権が付与されていることを確認してください。

続いて、アプリケーションとして [Slack] を選択します。 Slack のカスタム OAuth プロファイル

Step 2で、 [Create new app] を選択します。

新規 Slack アプリの作成

https://api.slack.com/apps (opens new window) に移動する新しいタブが開きます。[Workato] のタブと、この新しいタブの両方を開いておいてください。Step 3と Step 4を完了するには両方が必要になります。

自身のチームにサインインし (まだしていない場合)、 [Create New App] を選択します。

Slack 内の新規アプリの作成 1

フォームがポップアップするので、そこでアプリの名前を付けます。基本的には、そのアプリで意図されている機能を表す名前にします。たとえば、HRBot や SupportBot などです。

このアプリがどの Slack チームに属するかを選び、それから [Create App] を選択します。

Slack 内の新規アプリの作成

これでアプリが作成されました。新しいアプリの [Basic Information] ページが表示されるはずです。もし表示されなくても問題ありません。その場合は左側のナビゲーションメニューから [Basic Information] を選択してください。

新しいアプリが作成された

[App Credentials] までスクロールダウンしてください。この情報は [Workato] タブに戻ってから必要になります。この情報を準備できたので、[Workato] タブに戻って Step 3を完了できるようになりました。

Step 3において、以下の項目を入力してください。

  • Name : これはアプリの作成時に使用した名前と同じである必要があります (例: HRBot)
  • Client ID
  • Client secret
  • Verification token

アプリの資格情報 アプリと接続するための Workato の設定

入力し終えたら、 [Save] をクリックします。これで、アプリと Workato との接続を Step 4で設定できるようになりました。

# イベントの購読の有効化

イベントの購読を有効化するには、Slack アプリのページ ('https://api.slack.com/apps/{your_app_id} (opens new window)' のような URL 形式 - your_app_id はあなたのアプリに固有の ID です) に移動してください。[Event Subscriptions] の下から、[Enable Events] をオンにし、New event (新規イベント) トリガーの URL を [Request URL] フィールドに貼り付けて [Save] をクリックします。

イベントの購読 イベントの購読の有効化

New event トリガー がイベントを取得できるようにするには、アプリがそれらのイベントの送信先を知っている必要があります。このトリガーにターゲット URL があるのは、そのためです。このターゲット URL は、 イベント名 を入力すると生成されます。アプリがレシピのターゲット URL にイベントを送信すると、レシピがそれを引き継ぎ、レシピのアクションを実行できます。

# ワークスペースイベントの購読

Slack はワークスペースイベントの全リストを提供しており、その購読を可能にしています。その中のどのイベントも、Workato のレシピを開始させることができます。

以下の例では、カスタマーサクセス担当のユーザーが、特定のチャンネルやダイレクトメッセージ (DM) で「解決」という言葉を含むメッセージが投稿されるたびに、自分と顧客との間にプライベートチャンネルを作成できるようにしています。そこで、イベント message.channelsmessage.groups、および message.im がトリガーとして選ばれています。

イベントの購読の例 チャンネル、プライベートチャンネル、または DM にメッセージが投稿されると、イベントがレシピに送信される

イベントを購読すると、まだアプリに与えられていないスコープが自動的に追加されます。これにより、意図していない権限が追加のスコープからアプリに与えられてしまう可能性があります。イベントを購読したら、 [OAuth & Permissions][Scopes] でアプリの権限スコープを確認することを強くお勧めします。

# アプリのインストール

ワークスペースイベントを1つでも購読すると、権限スコープが自動的に追加されます。これにより、ワークスペースにアプリをインストールできるようになります。左側のナビゲーションメニューの [Settings] から [Install App] に進んでください。

  • [Install App to Workspace] を選択

アプリのインストール

自身の Slack チームを選び、それに権限を与えてインストールを完了します。

Workato 内のカスタム OAuth プロファイルに戻り、Step 4の下から [Done] を選択してカスタム OAuth プロファイルの設定を完了します。これで、このカスタム OAuth プロファイルを Workato の他の Slack コネクションで使用できるようになりました。

# カスタム OAuth プロファイルの使用

カスタム OAuth プロファイルを作成した後は、Workato のワークスペース内の誰でも、そのプロファイルを Slack のワークスペースに対する各自の Slack コネクションで使用できます。新しい Slack アプリの作成と設定は不要です。

カスタム OAuth プロファイルの使用 新しい Slack コネクションでのカスタム OAuth プロファイルの使用

カスタム OAuth プロファイルは当然のことながら1つの Slack ワークスペースにしか接続できない点に注意してください。つまり、1つのカスタム OAuth プロファイルを複数の Slack ワークスペースにわたって使用することはできません。


Last updated: 2023/8/31 1:07:14