【UiPath】Slack連携アクティビティの使用方法


概要

UiPathより、Slackへのメッセージ送信やメッセージ・添付ファイルを取得したりリプライを送る方法について解説

使用パッケージ(2020/08/22時点)

UiPath.Slack.Activities[Ver 0.3.0]

サンプルプロジェクト(GitHub)

※UiPath Studioより「リポジトリを複製」で参照したい方はこちらのURLを使用下さい
https://github.com/odm-cckte0122/UiPath-SlackConnectSample.git

事前準備

  • Slackにボットを追加する
  • 追加したボットから、接続に必要な情報(ClientID , ClientSecret , Bot Access Token)を取得する
  • 追加したボットを、操作したいチャンネルに追加する ※ボットの追加・設定方法についてはSlack ボットの作成手順を参照

できること(使用頻度が高いもの)

Slackにメッセージを投稿

サンプルファイル:チャンネルにメッセージを投稿.xaml
Send Messageアクティビティを使用することで、指定したチャンネルにメッセージを投稿することができる。
【Send Messageアクティビティ設定情報】

項目名 入力内容
Conversation String 投稿するチャンネル名。必須
※付与した権限によっては、DMやグループチャットへの投稿も可能
Text String 投稿するメッセージ内容。必須
※Slack上で使用するmarkdown記法を使用できる(*で囲むと太字になったりする)
File String 投稿に添付するファイルのパス。任意
※相対パスでも添付可能・ファイルパスに指定した変数が空白の場合は何も添付されない
注意:日本語名のファイルは添付しようとすると文字化けしてしまうため、別途対応が必要

Slackのメッセージにリプライ

サンプルファイル:チャンネルのメッセージにリプライ.xaml
Get Messagesアクティビティと Replyアクティビティを使用することで、指定したチャンネル内の投稿にリプライを送ることができる。
【Get Messagesアクティビティ設定情報】

項目名 入力内容
Conversation String メッセージを取得するチャンネル名。必須
※付与した権限によっては、DMやグループチャットへの投稿も可能
Messages Slack.Models.Message[] 取得したメッセージ情報。必須
※Message型の配列となっており、投稿者の情報やメッセージ内容、メッセージ固有のIDなど様々な情報が格納されている
MaxResults Int32 メッセージの取得上限。任意

【Replyアクティビティ設定情報】

項目名 入力内容
Message Slack.Models.Message リプライを送るメッセージ。必須
※Get Messagesアクティビティで取得したメッセージから取得した情報をもとに返信するメッセージを指定
Text String 投稿するメッセージ内容。必須
※Slack上で使用するmarkdown記法を使用できる(*で囲むと太字になったりする)
File String 投稿に添付するファイルのパス。任意
※相対パスでも添付可能・ファイルパスに指定した変数が空白の場合は何も添付されない

Slackに添付されたファイルをダウンロード

サンプルファイル:投稿に付与されたファイルをダウンロード.xaml
Get Messagesアクティビティと Download Fileアクティビティを使用することで、指定したチャンネル内の投稿にリプライを送ることができる。
【Download Fileアクティビティ設定情報】

項目名 入力内容
File Slack.Models.SlackFile ダウンロードしたいファイル情報。必須
※Get Messagesアクティビティで取得したメッセージにファイルが添付されている場合、SlackFile[]としてこの情報が格納されている
LocalPath String ファイルをダウンロードした時のファイルパス。必須
※相対パスでも添付可能

参考

Slack からエクスポートしたデータの読み方
※Get Messagesアクティビティで取得したmessage情報を読み解くヒントになるかもしれません。
Message情報をログに出力するサンプル:チャンネルのメッセージ情報を取得.xaml