リモートワークで導入して良かったツール詳しく見る

TeamsのWebhookを使って煉獄さんBotを作成しました。

じょじお

以前下記の記事で超速でTeams用のBotを作成する方法について解説しました。

▼この記事の方法では、下の図のようにBotのアイコンや投稿者名を変更することができませんでした。

Teams

▼今回の記事では、下図のようにアイコンやBot名を自由に変更できるBotの作成方法について解説します。

Teams Bot
目次

前提条件(プレミアムコネクタが利用できるライセンス環境が必要です。)

Power Automate
プレミアムコネクタ

Power AutomateからTeamsのIncoming Webhookにメッセージを送信するには、Power AutomateのHTTPコネクタを使用します。HTTPコネクタはプレミアムコネクタに該当しますので、Microsoft365に付属するPower Automate for Office365プランでは使用することができません。プレミアムコネクタが利用できるライセンスが必要になりますのでご注意ください。

Power Automate試用

もし、ライセンスがない環境でプレミアムコネクタを選択すると下記のような画面が表示されます。「無料体験する」をクリックすると90日間無料で試用することが可能です。クリック後はすぐにプレミアムコネクタが使用できます。ライセンスが無い方で導入を検討されていらっしゃる方は試してみると良いかなと思います。

手順の解説

じょじお

下記の2ステップで作業を行います。とてもかんたんです。

  1. TeamsでIncoming Webhookを有効にします。
  2. Power Automateでフローを作成します。

(STEP1)TeamsのIncoming Webhookを有効にします。

STEP
Teamsを開きます。

Webアプリでもデスクトップアプリでもどちらでも大丈夫です。スマホ版からは操作できません。

STEP
チャネルを選択してコネクタ設定を開きます。
Teams

チャネルのメニューをクリックして、コネクタをクリックします。

STEP
Incoming Webhookを探して、「構成」ボタンをクリックします。
Teams
STEP
Incoming Webhookのパラメータを設定します。
Teams

①はBotの名前を設定します。これは送信者の名前になります。

②はBotのプロフィール画像をアップロードします。

③設定したら「作成」をクリックします。

STEP
Incoming Webhookの設定を完了すると、エンドポイントのURLが発行されるのでコピーします。
Teams

①コピーアイコンをクリックして、エンドポイントURLをクリックして②完了をクリックします。

STEP
Incoming Webhookが追加されると、チャネルに下記のようなメッセージが投稿されます。
Teams

以上でIncoming Webhookの追加設定は終わりです。

(STEP2)Power Automateのフローを作成します。

STEP
Power Automateのホーム画面を開きました。
STEP
フローを新規作成します。
power automate add flow

▲今回はインスタントクラウドフローのタイプで作成します。①左側メニューの作成をクリックして②インスタントクラウドフローをクリックします。定期実行したい場合は「スケジュール済みクラウドフロー」で作成してください。

STEP
フローの設定を入力します。
Power Automate
  1. フロー名を入力します。
  2. 手動でフローをトリガーします。
  3. 作成をクリックします。
STEP
新しいステップをクリックしてアクションを追加します。
Power Automate
STEP
HTTPコネクタを探してHTTPアクションを追加します。
Power Automate

▲HTTPというキーワードで検索して、HTTPコネクタをクリックします。

Power Automate

▲HTTPアクションを追加します。

STEP
HTTPアクションのパラメータを設定します。
Power Automate Httpアクション
  • 方法:Postを選択します。
  • URI:STEPで取得したTeamsのIncoming WebhookのエンドポイントURLを張り付けます。
  • ヘッダー:空欄にします。
  • クエリ:空欄にします。
  • 本文:JSON形式でメッセージ本文を入力します。
  • Cookie:空欄にします。
じょじお

もっともシンプルにテキストメッセージだけ送信したい場合は、下記のようにTextキーのバリューにテキストを渡せばOkです。

{"text":"うまい!!!!"}
STEP
フローをテスト実行します。
テストの実行

▲画面右上にあるテストをクリックしてテスト実行します。

STEP
Teamsでメッセージを確認します。
Teams

botからメッセージを受信できていれば成功です。

同じチャネルに複数のIncoming Webhookを追加するには?

じょじお

STEP1の作業を繰り返し作業して、Incoming Webhookを複数追加すればBotを複数追加することが可能です。

設定済みのIncoming Webhookの設定を変更するには?

じょじお

Incoming Webhookの設定を変更する方法について解説します。

STEP
チャネルを選択してコネクタの設定を開きます。
Teams
STEP
左側のペインの中の「構成済み」をクリックします。
Teams
STEP
Incoming Webhookの[構成済み]の中から、設定を変更したいbotの管理ボタンをクリックします。
Teams
STEP
設定画面がひらきますので設定を変更します。

設定変更してもエンドポイントURLは変わりませんので、Power Automate側の設定変更は不要です。

設定済みのIncoming Webhookを削除するには?

じょじお

Incoming Webhookを削除する方法について解説します。

STEP
Botの設定画面を開きます。

上で紹介した[設定変更手順]に従って、削除対象の構成済みのbot設定を開きます。

STEP
画面の下の方にある「削除」ボタンをクリックします。
Teams

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学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。RPA界隈では有名なRPAエンジニア集団である『ロボ研』さんが監修されている解説書です。テスト用の業務Webシステム/デスクトップ業務アプリを使いながら実践形式で学習できる点が一番のメリットかなぁと思います。

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は1500円~2000円弱の価格になります頻繁にセールを実施しているので絶対にセール時に購入してください。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

ノンプログラマーでも自動化スキルを身につける。

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
目次
閉じる