「任意のメッセージを、Webhook アクション を使用して Microsoft Teams のチャネルに通知する」という SORACOM Flux アプリ (以下、Flux アプリ) を作成します。
操作を始める前に準備が必要です (クリックして確認してください)
(1) SORACOM アカウント (オペレーター) を作成する
SORACOM アカウント (オペレーター) を作成します。また、支払い方法の登録も必要です。詳しくは、STEP 1: SORACOM アカウント (オペレーター) を作成する を参照してください。
(2) Microsoft Power Automate、Microsoft Teams のライセンス、アカウントを用意する
詳しくは、以下のページを参照してください。
(3) Microsoft Teams で通知先のチャネルを用意する
通知先の Microsoft Teams のチャネルを用意してください。詳しくは、Microsoft Teamsで標準、プライベート、または共有チャネルを作成する を参照してください。
準備完了ステップ 1: Microsoft Power Automate でワークフローを作成する
Microsoft Power Automate のコンソール にログインします。
→ の順にクリックします。

をクリックします。

を入力し、 で「Teams Webhook 要求を受信したとき」を選択して、 をクリックします。

「Teams Webhook 要求を受信したとき」の をクリックします。

に「チャットまたはチャネルにメッセージを投稿する」を入力し、 をクリックします。

Microsoft Teams にサインインしてください
Microsoft Teams にサインインしていない場合は、サインインして Microsoft Teams への接続を作成します。 をクリックして、画面の指示に従って操作してください。

「チャットまたはチャネルにメッセージを投稿する」で、以下の項目を設定します。
項目 説明 「フローボット」を選択します。 「チャネル」を選択します。 メッセージの投稿先のチームを指定します。 メッセージの投稿先のチャネルを指定します。

続けて、 を設定します。
設定項目について詳しくは、Power Automate を使用して Teams でメッセージを送信する を参照してください。
の入力欄をクリックして、 をクリックします。

「triggerBody()?['text']」を入力して、 をクリックします。

triggerBody()関数は、トリガー (ワークフローが実行されたときの Webhook) の HTTP ボディを返します。たとえば、@{triggerBody()?['text']}と指定した場合、Webhook の HTTP ボディで{"text":"Hello from Flux!"}を受信すると、Hello from Flux!が返却されます。関数の詳細は Azure Logic Apps および Power Automate のワークフロー式関数のリファレンス ガイド を確認してください。をクリックします。

で「誰でも」を選択して、 をクリックします。

HTTP URL が発行されます。
の をクリックして、HTTP URL をコピーします。

この HTTP URL をこれ以降、${http_url} と表記します。例:
https://xxxx-xx.japaneast.logic.azure.com:443/workflows/xxxxxxxxx...(省略)...
もう一度 HTTP URL を確認するには
もう一度 HTTP URL を確認する手順は以下のとおりです。
→ → 作成したクラウドフローの順にクリックします。
をクリックします。

をクリックします。
ステップ 2: Flux アプリを作成する
ユーザーコンソールにログイン し、Flux アプリを作成するカバレッジタイプを選択します。
たとえば、グローバルカバレッジでイベントが発生したときに Flux アプリが実行されるようにする場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。

をクリックします。

以下の項目を設定します。
項目 説明 Flux アプリの名前を入力します。 Flux アプリの概要を入力します。

をクリックします。
Flux アプリが作成され、SORACOM Flux Studio の タブが表示されます。

ステップ 3: API/マニュアル実行イベントソースと Webhook アクションを作成する
Microsoft Teams のチャネルに通知するように設定します。具体的には、Webhook アクションを作成します。
Webhook アクションについて詳しくは、アクションリファレンスの Webhook アクション を参照してください。
SORACOM Flux Studio の タブで、 をクリックします。

「新しいチャネルを作成」画面が表示されます。
→ の順にクリックします。
この Flux アプリでは、任意のタイミングで、メッセージを次のチャネルに送信するように設定します。
API/マニュアル実行イベントソースから、次のチャネルに送信されるメッセージについて詳しくは、API/マニュアル実行イベントソース を参照してください。
以下の項目を設定します。
項目 説明 チャネルの名前を入力します。 チャネルの概要を入力します。例: SORACOM Harvest Files にファイルがアップロードされたときにイベントメッセージを送信します。

をクリックします。
イベントソースに連結したチャネルが作成され、チャネルの詳細画面が表示されます。
→ の順にクリックします。

「新しいアクションを作成」画面が表示されます。
→ の順にクリックします。
「新しいアクションを作成: Webhook」画面が表示されます。
以下の項目を設定します。
項目 説明 Teams 通知の名前を入力します。 Teams 通知の概要を入力します。 「有効」にします。

続けて、以下の項目を設定します。
項目 説明 Webhook の HTTP メソッドを選択します。ここでは「POST」を選択します。 Webhook の送信先の URL (Microsoft Power Automate で発行した HTTP URL) を設定します。ここでは、${http_url} を入力します。例: https://xxxx-xx.japaneast.logic.azure.com:443/workflows/xxxxxxxxx...(省略)...「なし」を選択します。 Webhook の HTTP リクエストの HTTP ヘッダーを設定します。ここでは、 で をクリックすると、 content-typeとapplication/jsonが自動的に入力されます。をクリックして、Webhook の HTTP リクエストの HTTP ボディを設定します。ここでは、以下の内容を入力します。
{"text":"${payload.message}"}${payload.message}で、このチャネルに送信された MESSAGE のmessageの値を指定しています。アクションで指定できる変数は 入力できる変数、演算子、関数について を参照してください。

をクリックします。
Microsoft Teams のチャネルにメッセージを送信する Webhook アクションが作成され、チャネルの詳細画面の タブに戻ります。
動作確認
API/マニュアル実行でメッセージを送信する
ここでは、API/マニュアル実行チャネルの タブでメッセージを送信します。
ステップ 3: API/マニュアル実行イベントソースと Webhook アクションを作成する で作成したチャネルの をクリックします。

に Microsoft Teams のチャネルに送信するメッセージを含む JSON を入力して、 をクリックします。
たとえば、「{"message":"Hello from Flux!"}」を入力すると、Microsoft Teams のチャネルに「Hello from Flux!」が送信されます。

Microsoft Teams に通知が届いていることを確認する
指定した Microsoft Teams のチャネルに、メッセージが届いていることを確認してください。
Microsoft Teams にアクセスします。
→ チーム → チャネルの順にクリックします。
「Hello from Flux!」のようにメッセージが表示されます。

Flux アプリの実行履歴を確認する
SORACOM Flux Studio の タブでも、実行履歴を確認できます。
ユーザーコンソールにログイン し、Flux アプリを作成したカバレッジタイプを選択します。
たとえば、グローバルカバレッジに Flux アプリを作成した場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
作成した Flux アプリをクリックします。
をクリックします。
チャネルごとに、、、そのチャネルで実行されたアクションの 、 が表示されます。詳しくは、実行履歴 (ログ) を参照してください。
