送信 Webhook を作成する

送信 Webhook はボットとして機能し、@メンションを使用してチャネル内のメッセージを検索します。 外部 Web サービスに通知を送信し、カードや画像を含むリッチ メッセージで応答します。 Microsoft Bot Framework を使用してボットを作成するプロセスをスキップすることができます。

送信 Webhook を作成する方法については、次のビデオを参照してください。


送信 Webhook の主な機能

次の表には、送信 Webhook の機能と説明があります。

機能 説明
スコープ構成 Webhook はチームのレベルでスコープが設定されます。 各必須のセットアップ プロセスでは、送信 Webhook が追加されます。
反応性のあるメッセージング Webhook がメッセージを受信するには、ユーザーが @メンション を使用する必要があります。 現在ユーザーが送信 Webhook でメッセージを送信できるのは公開チャネルのみです。個人またはプライベートのスコープ内では行えません。
標準の HTTP メッセージ交換 応答は元の要求メッセージと同じチェーンに表示され、Bot Framework メッセージの内容を含めることができます。 たとえば、リッチ テキスト、画像、カード、絵文字などです。 送信 Webhook はカードを使用することができますが、openURL のカード アクションしか使用することができません。
Teams API メソッドのサポート 送信 Webhook は HTTP POST を Web サービスに送信し、応答を取得します。 チーム内の参加者一覧やチャネルのリストの取得など、他の API にはアクセスすることはできません。

送信 Webhook を作成する

送信 Webhook を作成し、カスタム ボットを Teams に追加します。 送信 Webhook を作成するには、次の手順を実行します。

  1. 左側のウィンドウから Teams を選択します。

    [Teams] アイコンが表示された左側のウィンドウを示すスクリーンショット。

  2. [Teams] ページで、送信 Webhook を作成するために必要なチームを選択し、[••] を選択します。

  3. ドロップダウン メニューから [ チームの管理 ] を選択します。

    Teams チャネルの [Teams の管理] オプションを示すスクリーンショット。

  4. チャネル ページで [ アプリ ] を選択します。

    Teams チャネルの [アプリ] タブを示すスクリーンショット。

  5. [ 送信 Webhook の作成] を選択します

    [送信 Webhook の作成] オプションを選択するスクリーンショット。

  6. [ 送信 Webhook の作成 ] ページに次の詳細を入力します。

    • 名前: webhook タイトルと @メンション タブ。
    • コールバック URL: JSON ペイロードを受け入れ、Teams からの POST 要求を受信する HTTPS エンドポイントです。
    • 説明: プロファイル カードとチーム レベルのアプリ ダッシュボードに表示される詳細な文字列。
    • プロファイル画像: Webhook のアプリ アイコン (省略可能)。
  7. [作成] を選択します。 送信 Webhook は、現在のチームのチャネルに追加されます。

    [送信 Webhook の作成] ウィンドウの [作成] ボタンを示すスクリーンショット。

ハッシュ ベースのメッセージ認証コード (HMAC) ダイアログが表示されます。 これはセキュリティ トークンで、Teams と指定された外部サービス間の呼び出しを認証するために使用されます。 HMAC セキュリティ トークンは有効期限がなく、構成ごとに一意です。

注:

URL が有効で、サーバーとクライアントの認証トークンが等しい場合、チームのユーザーは送信 Webhook を使用できるようになります。 たとえば、HMAC ハンドシェイクなどです。

次のシナリオは、送信 Webhook を追加するための詳細です。

  • シナリオ: Teams のチャネル データベース サーバーの変更状況通知をアプリにプッシュします。
  • 例: すべての CRUD (作成、読み取り、更新、削除) 操作を追跡する組織 (LOB アプリ) 用に構築されたカスタム アプリがあります。 これらの操作は、Microsoft 365 テナント全体の Teams チャネル人事ユーザーによって従業員レコードに対して行われます。

アプリのサーバー上で URL を作成し、JSON ペイロードを使用して POST 要求を受け入れて処理する

サービスは、標準の Azure Bot Service のメッセージング スキーマでメッセージを受信します。 Bot Framework Connector は、Azure Bot Service API で文書化されているように、サービスが HTTPS プロトコルを使用して JSON 形式のメッセージ交換を処理できるようにする RESTful サービスです。 Microsoft Bot Framework SDK を使用して、メッセージの処理と解析を行うこともできます。 詳細については、Azure Bot Service の概要 を参照してください。

送信 Webhook は、team レベルにスコープが設定され、チームのすべてのメンバーに表示されます。 ユーザーがチャネルで呼び出すには、送信 Webhook の名前を @メンションする必要があります。

送信 Webhook でアダプティブ カードを使用する

アダプティブ カード、ヒーロー カード、テキスト メッセージは、送信 Webhook で添付ファイルとして送信できます。 カードは書式設定をサポートしています。 詳細については、「 Markdown を使用してカードを書式設定する」を参照してください。 送信 Webhook のアダプティブ カードでは、カードアクションのみがopenURLサポートされます。

以下のコードは、アダプティブ カードの応答例です。

サンプル コード リファレンス


// This method is to read the request body content
string content;
using (var reader = new StreamReader(Request.Body))
    {
        content = await reader.ReadToEndAsync();
    }

var Card = new AdaptiveCard(new AdaptiveSchemaVersion("1.4"))
{
    Body = new List<AdaptiveElement>()
    {
        new AdaptiveTextBlock(){Text= $"Request sent by: {incomingActivity.From.Name}"},
        new AdaptiveImage(){Url=new Uri("https://c.s-microsoft.com/en-us/CMSImages/DesktopContent-04_UPDATED.png?version=43c80870-99dd-7fb1-48c0-59aced085ab6")},
        new AdaptiveTextBlock(){Text="Sample image for Adaptive Card.."}
    }
};

var attachment = new Attachment()
{
    ContentType = AdaptiveCard.ContentType,
    Content = Card
};

var sampleResponseActivity = new Activity
{
    Attachments = new [] { attachment }
};

return sampleResponseActivity;

コード サンプル

サンプルの名前 説明 .NET Node.js
Webhookの送信 このサンプルでは、送信 Webhook を実装して使用する方法を示します。 表示 表示

ステップ バイ ステップのガイド

ステップ バイ ステップ ガイド」に従って、Teams で送信 Webhook を作成します。

関連項目