以前下記の記事で超速でTeams用のBotを作成する方法について解説しました。
▼この記事の方法では、下の図のようにBotのアイコンや投稿者名を変更することができませんでした。
▼今回の記事では、下図のようにアイコンやBot名を自由に変更できるBotの作成方法について解説します。
前提条件(プレミアムコネクタが利用できるライセンス環境が必要です。)
Power AutomateからTeamsのIncoming Webhookにメッセージを送信するには、Power AutomateのHTTPコネクタを使用します。HTTPコネクタはプレミアムコネクタに該当しますので、Microsoft365に付属するPower Automate for Office365プランでは使用することができません。プレミアムコネクタが利用できるライセンスが必要になりますのでご注意ください。
もし、ライセンスがない環境でプレミアムコネクタを選択すると下記のような画面が表示されます。「無料体験する」をクリックすると90日間無料で試用することが可能です。クリック後はすぐにプレミアムコネクタが使用できます。ライセンスが無い方で導入を検討されていらっしゃる方は試してみると良いかなと思います。
手順の解説
下記の2ステップで作業を行います。とてもかんたんです。
- TeamsでIncoming Webhookを有効にします。
- Power Automateでフローを作成します。
(STEP1)TeamsのIncoming Webhookを有効にします。
Webアプリでもデスクトップアプリでもどちらでも大丈夫です。スマホ版からは操作できません。
チャネルのメニューをクリックして、コネクタをクリックします。
①はBotの名前を設定します。これは送信者の名前になります。
②はBotのプロフィール画像をアップロードします。
③設定したら「作成」をクリックします。
①コピーアイコンをクリックして、エンドポイントURLをクリックして②完了をクリックします。
以上でIncoming Webhookの追加設定は終わりです。
(STEP2)Power Automateのフローを作成します。
▲今回はインスタントクラウドフローのタイプで作成します。①左側メニューの作成をクリックして②インスタントクラウドフローをクリックします。定期実行したい場合は「スケジュール済みクラウドフロー」で作成してください。
- フロー名を入力します。
- 手動でフローをトリガーします。
- 作成をクリックします。
▲HTTPというキーワードで検索して、HTTPコネクタをクリックします。
▲HTTPアクションを追加します。
- 方法:Postを選択します。
- URI:STEPで取得したTeamsのIncoming WebhookのエンドポイントURLを張り付けます。
- ヘッダー:空欄にします。
- クエリ:空欄にします。
- 本文:JSON形式でメッセージ本文を入力します。
- Cookie:空欄にします。
もっともシンプルにテキストメッセージだけ送信したい場合は、下記のようにTextキーのバリューにテキストを渡せばOkです。
{"text":"うまい!!!!"}
▲画面右上にあるテストをクリックしてテスト実行します。
botからメッセージを受信できていれば成功です。
同じチャネルに複数のIncoming Webhookを追加するには?
STEP1の作業を繰り返し作業して、Incoming Webhookを複数追加すればBotを複数追加することが可能です。
設定済みのIncoming Webhookの設定を変更するには?
Incoming Webhookの設定を変更する方法について解説します。
設定変更してもエンドポイントURLは変わりませんので、Power Automate側の設定変更は不要です。
設定済みのIncoming Webhookを削除するには?
Incoming Webhookを削除する方法について解説します。
上で紹介した[設定変更手順]に従って、削除対象の構成済みのbot設定を開きます。
Webhookにアダプティブカードを送信するには?
アダプティブカードをWebhookに送信することも可能です。
下記のJSONの★★のところにアダプティブカードデザイナーの出力を張り付ければOkにゃ。
{ "type": "message", "attachments": [ { "contentType": "application/vnd.microsoft.card.adaptive", "content": ★★ここにアダプティブカードデザイナーで作成したJSONを張り付ける。 } ] }
アダプティブカードを作成する方法については下記の記事が参考になるかと思います。
下記はサンプルのJSONです。このまま張り付けてテストすることが可能にゃ。
{ "type": "message", "attachments": [ { "contentType": "application/vnd.microsoft.card.adaptive", "content": { "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.3", "body": [ { "type": "TextBlock", "text": "換気してください!!!", "wrap": true, "color": "Attention", "size": "ExtraLarge", "isSubtle": true, "fontType": "Default" }, { "type": "Image", "url": "https://1.bp.blogspot.com/-E1rJJnTVwFc/YHDkLHCHfFI/AAAAAAABdlk/duM30iE3dq4q-WOaao92w-r8sQgsqUnuACNcBGAsYHQ/s1092/kanki_winter_man.png" } ] } } ] }
Webhook宛てのメッセージではメンションをつけることができない!
Webhook宛てのメッセージでは図のようにメンショントークンが文字列になってしまってメンションになりません。メンションは非対応のようです。
まとめ
以上、Webhookを使ったBotの作成方法について解説しました。
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。