はじめに
Microsoft Teamsを社内やチームのコラボレーションで使用しており、
情報収集やイベント運営などの自動化のために、MS Flowで他システムと連携して自動投稿させています。
運用自体はうまく行っていたのですが、イベント管理サイトからデータを落として来て集計したものを投稿したくなったり、
業務量も増えてきて、ワークフロー全体を自動化していきたいというニーズが高まってきましたので、RPAで諸々の処理を自動化することにしました。
その前準備としてRPAのAutomation Anywhereでまず、Microsoft Teamsに投稿する部分を作ってみました。
参考にしたページ
今回作成した際に下記の記事を参考にさせて頂きました。
画面のスクリーンショットも日本語環境で掲載されているので、良ければこちらも試してみてください。
Microsoft Teams に PowerShell で投稿してみる - Qiita
下記のページも分かりやすいです。
Microsoft Teams API (Incoming Webhook) で投稿 - Qiita
試した環境
Automation Anywhere Enterprise 11.3.2 日本語版
Microsoft Teams (Office 365)
おおまかな流れ (所要時間10分~15分)
- Microsoft Teams側の設定 (Webhookコネクタの追加)
- URIをコピーしてメモ帳などに保存
- 投稿するための中身(今回はJSON形式)を用意する
- Automation Anywhere Enterprise ClientでBot作成
- REST Web ServiceコマンドをBotに追加
- メソッドをPostに設定
- URIを記入
- リクエスト -> ヘッダーのContent-Typeを設定
- PARAMETER -> Post にJSONを記入
- レスポンス -> レスポンスの保存先にサーバーからの応答メッセージを格納する変数を設定
- PARAMETER -> リクエストの送信 で、投稿できるかテスト
- REST Web ServiceコマンドをBotに追加
つくり方
Microsoft Teams側の設定 (Webhookコネクタの追加)
Botに投稿したいチャンネルの右側にある「・・・」をクリック。
書いてあることを念のためざっと確認して、インストール を押す。
名前をつけます。ここで設定した名前で投稿されるようになるので、恥ずかしくない名前をつけましょう。
投稿時に使用されるアイコンも変えられます。
設定が終わったら「完了」を押す。
URIをコピーしてメモ帳などに保存
あとで使う大事なURI(≒URL)なので無くさないようにしましょう。
「完了」を押したらMicrosoft Teams側は準備完了!
投稿するための中身(今回はJSON形式)を用意する
とりあえず今回はこんな感じで。
{ "text" : "AA Clientからのメッセージ投稿テスト" }
Markdown記法も使えるようです。なお、改行は\nで可能です。
JSONって何?という方はこちらを参照。
非エンジニアに贈る「具体例でさらっと学ぶJSON」 | DevelopersIO
Automation Anywhere Enterprise ClientでBot作成
さあ、Bot組むぞ!と気合が入るかもしれませんが、コマンド1個置いて設定するだけの作業です。
REST Web ServiceコマンドをBotに追加
新規Botを作成したら、
ちょっとクールな青いアイコンのコマンド。これを追加します。
メソッドをPostに設定、URIを記入
こんな設定画面が開きますので、
「URI:」の欄に先ほど保存しておいたURIを貼りつけます。
「メソッド:」を「POST」に変更。
リクエスト -> ヘッダーのContent-Typeを設定
「リクエスト」のタブへ移動し、左側のメニューから「ヘッダー」を選択。
「Content-Type」を「application/json」へ変更。
(他のContent-Typeも使用できますが、今回はJSONで試します。)
PARAMETER -> Post にJSONを記入
こんな感じで貼りつけます。
変数も使えるので、実際使う場合は先にメッセージを生成してから変数で受け渡ししようと思っています。
レスポンス -> レスポンスの保存先にサーバーからの応答メッセージを格納する変数を設定
なんでも良いですが、投稿に失敗した時に分かるようにしておいたり、後続の処理を変えられるようにしておいたほうが良いでしょう。
PARAMETER -> リクエストの送信 で、投稿できるかテスト
「PARAMETER」のタブで、実際動くか試してみることが出来るボタンがあるので、押してみましょう。
完成!!
Bot Creatorに追加したコマンドはこれ一つだけです。
次回予告?
次回はこれを部品として使えるように改造して、業務フローに組み込んでみようと思います。
追記
以下の方法で画像の埋め込みも出来るようです。
【MS Teams】Incoming Webhook経由で画像を送信する方法 - Qiita