Enterprise Blue Ocean ◮

神谷町RPAブログ

  • Blue Prism 初級者向け
    • Blue Prism を 無料で利用する 方法はこちら
    • Blue Prism の Blue Prism 事始め!オンボーディングの記事はこちら
    • Blue Prism で Excelを操作 する記事はこちら
  • Blue Prism、ちょっと進んだコンテンツ☆
    • Blue Prism の ベストプラクティス 記事はこちら
    • Blue Prism の 逆引きナレッジ wiki こちら
    • Blue Prism を リアルタイムで起動する 方法はこちら
  • RPA、そもそも論!
    • Youtube で、あらためて振り返る RPA とは?・・・はこちら☆

Blue Prism から Webhook 経由で MS Teams へ通知する

こんにちは、「レッドブーツ88」です。

 

個人的に少し前に Twitter で流れていたドラムセンサーが気になります。昔、真面目にドラムを練習していた頃にこれが有ればなと思いました。ドラムの打ち込みにも活用できそうなのも良いです。

www.axismag.jp

 

さて、今回は、Blue Prism から Webhook 経由で MS Teams へメッセージを送信するための手順を紹介いたします。(実はあるお客様の方が先に実現されていたので、それに影響されて私も VBO を用意してみました)

 

 

MS Teams 側でチームを作成

チームを作成後、チャネルを追加します。ここではデフォルトで作成されてる [一般] チャネルを利用しています。

f:id:EnterpriseBlueOcean:20200114112654p:plain

  

Webhook コネクタを追加

追加したチャネルへ新しいコネクタとして Incoming Webhook を追加します。
f:id:EnterpriseBlueOcean:20200114113019p:plain

(補足) 私の環境ではチーム作成後のチャネルメニューへ [コネクタ] が表示されるまでに時間が掛かりました。(10分くらい)

 

f:id:EnterpriseBlueOcean:20200114113058p:plain

f:id:EnterpriseBlueOcean:20200114113111p:plain

 

Webhook への URL をコピー

Incoming Webhook コネクタ管理画面にある URL をコピーします。

f:id:EnterpriseBlueOcean:20200114113309p:plain

 

Teams オブジェクトを用意

Blue Prism 上で以下のような Teams オブジェクトを用意します。

f:id:EnterpriseBlueOcean:20200114113441p:plain

 

なお、今回用意した Teams オブジェクトでは Utility - HTTP VBO を利用してベタで HTTP リクエストを呼び出していますが、今風な定義にするなら以下のブログで紹介している Web API 機能を用いるのが良いと思います。

www.ebocean.work

 

(解説)コレクション型で送信するメッセージデータを用意

Teams へ送信する JSON データに対応するコレクション型のデータを用意します。

f:id:EnterpriseBlueOcean:20200114113932p:plain

  

(解説)コレクションから JSON データへ変換

Utility - JSON VBO の [Collection to JSON] アクションを用いてコレクションから JSON データへ変換します。

f:id:EnterpriseBlueOcean:20200114114055p:plain

f:id:EnterpriseBlueOcean:20200114114103p:plain

f:id:EnterpriseBlueOcean:20200114114911p:plain

(解説)MS Teams が期待する JSON データへ変換

留意する点として、変換した JSON データと MS Teams が期待する JSON データで差異があるため、AVO.Regex VBO の [Regex Replace] アクションなどを用いて先頭の "[" と最後の "]" を削除する必要があります。

f:id:EnterpriseBlueOcean:20200114115342p:plain

(補足)正規表現としては "[\[\]]" な感じで対応できました。

 

f:id:EnterpriseBlueOcean:20200114115543p:plain

 

(補足) Utility - JSON VBO が変換した JSON データ

[{"title":"テスト","text":"テストメッセージ"}] 

(補足) MS Teams が期待する JSON データ

{"title":"テスト","text":"テストメッセージ"}


なお、AVO.Regex VBO は以下のページなどで紹介されております。

www.ebocean.work

 

(解説)URL、Body、Context Type などを指定し実行

あとは適宜、Utility - HTTP VBO の [HTTP Request] アクションの [Address URL] へ Incoming Webhook コネクタへ URL、[Body] へ用意した JSON データ、[Context Type] へ "application/json"、[Method] へ "POST" などを指定し実行します。

f:id:EnterpriseBlueOcean:20200114115353p:plain

f:id:EnterpriseBlueOcean:20200114120746p:plain

 

ちなみに、モバイル版 Teams アプリからも確認可能ですので、以下のように Blue Prism からの通知を iPhone 上で確認するようなことも可能です。

f:id:EnterpriseBlueOcean:20200114120854p:plain

まとめ

  • Utility - HTTP VBO を活用すると Webhook 経由で Teams への通知が可能です
  • Web API 機能から Webhook を呼び出す方が今風でカッコ良いです
  • サンプル定義をユーザーコミュニティ上で共有しました (ログインが必要です)

 

昨年末から対応しようと思ってましたが、やっと投稿することができました。このような感じで様々なシステムと Webhook 経由による連携が可能となるため、Blue Prism をシステム連携製品のように活用するのも面白いと思います。