アクティビティ
最新
バナーの背景画像
Integration Service のアクティビティ
最終更新日 2024年4月9日

メッセージが Slack に投稿されたときに、HTTP Webhook コネクタを使用してオートメーションをトリガーする

概要

概要: メッセージが Slack チャンネルに投稿されたときに、HTTP Webhook コネクタを使用してオートメーションをトリガーします。

アプリケーション: Slack、HTTP Webhook

説明
HTTP Webhook コネクタを使用すると、RPA 開発者は Webhook を使用して外部イベントに基づいてオートメーションをトリガーできます。 HTTP Webhook コネクタにより Webhook URL が生成されます。 これは、プライベート Slack OAuth アプリの設定で設定し、それぞれのイベントの種類を有効にする必要があります。 イベントは、この URL を介して Orchestrator によって即座に受信されます。
ユースケース

Slack ヘルプチャンネルで提出されたカスタマーサポートリクエストを管理する。 リクエストでは、Jira または Zendesk のチケットを作成するか、Slack ボタンを使用してチームまたはユーザー グループに Slack 通知を送信する必要があります。

このユーザー ガイドでは、ユース ケースの最初のワークフローである、メッセージが Slack チャンネルに投稿されたときに Webhook コネクタを使用してオートメーションをトリガーする方法について説明します。 2 つ目のワークフロー、つまり Slack ボタンのクリック イベントに基づいてオートメーションをトリガーするワークフローについては、「 CRM システムで商談が成立したときに Slack ボタンを使用する」をご覧ください。


このワークフローでは、HTTP Webhook コネクタとその Webhook イベント発生トリガーである JSON を逆シリアル化、およびいくつかの Slack アクティビティ ( [ユーザーにメッセージを送信][チャンネルの情報を取得]) を使用します。 [チャンネルにメッセージを送信] または [返信を送信] アクティビティを使用することもできます。

ワークフロー

メモ: 時間を節約するには、[ メッセージが Slack チャンネルに投稿されたときに Webhook コネクタを使用してオートメーションをトリガー ] を使用して、Studio Web の [チャンネル テンプレート] を使用してこのワークフローを構築します。
  1. Studio Web を開いて、新しいプロジェクトを作成します。
  2. 手動トリガー の その他のオプションdocs image メニュー を選択し、 トリガーの変更 を選択します。
  3. トリガー カタログから [HTTP Webhook: Webhook イベントの発生時] を選択します。 このトリガー アクティビティで、以下の手順を実行します。
    1. Slack コネクションを追加します。 HTTP Webhook コネクタによって Webhook URL が生成されます。これは手順 4 で必要になります。


    2. 必要に応じて、フィルターを追加します。 少なくともチャンネル ID にはフィルターを使用することをお勧めします。 それ以外の場合、ワークスペースの任意のチャネル内のメッセージによってイベントがトリガーされます。
      • チャンネル ID にフィルターを追加するには、[ データ フィルター ] フィールドを選択してフィルター ビルダーにアクセスします。 最初の列に「 body.event.channel」と入力し、[等しい] 演算子を選択して、3 番目の列にチャネル ID を追加します。
        docs image
    3. また、ユース ケースにより適した名前にトリガー アクティビティの名前を変更することもできます。
  4. 手順 1 で生成された Webhook URL をコピーします。
    1. 別のブラウザタブで、 https://api.slack.com/apps をクリックし、Slack のプライベート OAuth アプリケーションを開きます。
    2. [ イベント サブスクリプション ] 設定ページに移動します。
      1. [ イベントを有効化 ] トグルを [オン] に切り替えます。

      2. [ 要求 URL ] フィールドに Webhook URL を貼り付けます。


    3. 次に、[ ユーザーに代わってイベントをサブスクライブする ] まで下にスクロールし、 [ ワークスペース イベントの追加] を選択します。 message.channels イベントを追加します。これにより、ユーザーがチャネルにメッセージを投稿したときにイベントが取得されます。 任意の他のイベントを追加できます。


    4. [ Save Changes] を選択します。 これで、アプリに Webhook が設定されました。
    メモ: Webhook コネクタの出力 (Webhook URL を Slack 用に構成した後) は、特定の JSON 文字列形式になります (サンプルは以下のセクションに記載されています)。 後続のアクティビティでチャンネル ID、ユーザー ID、メッセージ テキストなどのイベント ペイロード フィールドを使用するには、JSON オブジェクトに変換する必要があります (JSON ドット表記/VB 式を使用)。 Slack イベントのペイロードは、 https://api.slack.com/types/eventからも取得できます。 エラーを回避するには、JSON ドット表記/VB 式を使用する前に、[ メッセージをログ ] を使用してイベント ペイロード文字列を取得/ログ記録します。
  5. [ JSON を逆シリアル化] アクティビティをワークフローに追加します。 この手順では、Webhook コネクタの JSON 文字列出力を JSON オブジェクトに変換します。
    1. JSON 文字列入力パラメーターを選択して変数を追加します。
    2. [ Webhook イベントの発生時] で、[本文] > [コンテンツ] に移動します。
      docs image
  6. Slack の [ チャンネル情報を取得 ] アクティビティをワークフローに追加します。 この手順では、[JSON ドット表記/VB 式を使用して JSON を逆シリアル化 ] アクティビティの出力フィールドを渡して、チャンネル名を取得する必要があります。 このアクティビティで、以下の手順を実行します。
    1. [チャネル] フィールドで、[詳細docs imageを確認] アイコンを選択して入力の種類を変更し、[式エディターを開く] を選択します。Webhook イベントで取得したチャンネル ID を渡すには、以下のエントリを使用します。
      jSONObject("event")("channel").ToStringjSONObject("event")("channel").ToString
  7. Slack の [ユーザーにメッセージを送信 ] アクティビティをワークフローに追加します。 次に、メッセージが特定のチャネル (ヘルプ チャネル) に投稿されたときにユーザー (自分自身) にメッセージを送信し、変数を使用して投稿されたメッセージとチャネル名を入力します。 このアクティビティの内容は次のとおりです。
    1. [ ユーザー 入力] フィールドで、ドロップダウン リストからユーザーを選択するか、ユーザーのメール アドレスを手動で入力します。
    2. [ メッセージ ] フィールドに、変数を使用してチャネル名 (メッセージが投稿された場所) とメッセージ テキストの内容を入力し、メッセージを入力します。 例: "チャネル<name> : にカスタマーjSONObject("event")("text") サポート リクエストがあります"
    3. [ボタン アクション] フィールドに、[チケットの承認] と [チームに通知] の 2 つのボタン アクションを入力します。アクション ID (必須)、アクション名 (必須)、スタイル (プライマリ/危険)、確認タイトル、確認テキスト、確認 OK タイトル、確認拒否タイトルをコンマ区切り形式で追加します。
      aks1,Approve Ticket,primary;
      aks2,Notify Team;aks1,Approve Ticket,primary;
      aks2,Notify Team;
  8. これで、プロジェクトをパブリッシュまたは実行する準備ができました。 ワークフローの上部にある [ パブリッシュ] ボタンを選択し、オートメーション名、説明、ワークスペースなどの詳細を入力します。 バージョンは自動的に更新されます。
    docs image

サンプル JSON 文字列

{
 "token": "SUAVTSGdUyb2qBaclIC14wKq",
 "team_id": "T02KZCJHY1W",
 "enterprise_id": "E02K962QC91",
 "context_team_id": "T02KZCJHY1W",
 "context_enterprise_id": "E02K962QC91",
 "api_app_id": "A04JJM6SUFM",
 "event": {
   "client_msg_id": "4abfc195-c381-4c8e-b952-00aa705ce507",
   "type": "message",
   "text": "YoYo",
   "user": "U02K95UU71Q",
   "ts": "1705418063.837779",
   "blocks": [
     {
       "type": "rich_text",
       "block_id": "moF7O",
       "elements": [
         {
           "type": "rich_text_section",
           "elements": [
             {
               "type": "text",
               "text": "YoYo"
             }
           ]
         }
       ]
     }
   ],
   "team": "T02KZCJHY1W",
   "channel": "C05LTLGRHEJ",
   "event_ts": "1705418063.837779",
   "channel_type": "channel"
 },
 "type": "event_callback",
 "event_id": "Ev06E0PJ7M45",
 "event_time": 1705418063,
 "authorizations": [
   {
     "enterprise_id": "E02K962QC91",
     "team_id": "T02KZCJHY1W",
     "user_id": "U02K95UU71Q",
     "is_bot": false,
     "is_enterprise_install": false
   }
 ],
 "is_ext_shared_channel": false,
 "event_context": "4-eyJldCI6Im1lc3NhZ2UiLCJ0aWQiOiJUMDJLWkNKSFkxVyIsImFpZCI6IkEwNEpKTTZTVUZNIiwiY2lkIjoiQzA1TFRMR1JIRUoifQ"
}{
 "token": "SUAVTSGdUyb2qBaclIC14wKq",
 "team_id": "T02KZCJHY1W",
 "enterprise_id": "E02K962QC91",
 "context_team_id": "T02KZCJHY1W",
 "context_enterprise_id": "E02K962QC91",
 "api_app_id": "A04JJM6SUFM",
 "event": {
   "client_msg_id": "4abfc195-c381-4c8e-b952-00aa705ce507",
   "type": "message",
   "text": "YoYo",
   "user": "U02K95UU71Q",
   "ts": "1705418063.837779",
   "blocks": [
     {
       "type": "rich_text",
       "block_id": "moF7O",
       "elements": [
         {
           "type": "rich_text_section",
           "elements": [
             {
               "type": "text",
               "text": "YoYo"
             }
           ]
         }
       ]
     }
   ],
   "team": "T02KZCJHY1W",
   "channel": "C05LTLGRHEJ",
   "event_ts": "1705418063.837779",
   "channel_type": "channel"
 },
 "type": "event_callback",
 "event_id": "Ev06E0PJ7M45",
 "event_time": 1705418063,
 "authorizations": [
   {
     "enterprise_id": "E02K962QC91",
     "team_id": "T02KZCJHY1W",
     "user_id": "U02K95UU71Q",
     "is_bot": false,
     "is_enterprise_install": false
   }
 ],
 "is_ext_shared_channel": false,
 "event_context": "4-eyJldCI6Im1lc3NhZ2UiLCJ0aWQiOiJUMDJLWkNKSFkxVyIsImFpZCI6IkEwNEpKTTZTVUZNIiwiY2lkIjoiQzA1TFRMR1JIRUoifQ"
}
  • 概要
  • ワークフロー
  • サンプル JSON 文字列

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.