Power AppsでMicrosoft Teamsのスレッドに出退勤をポストする
Power Apps
入門として、リモートワーク開始と終了時に、Microsoft Teams
のスレッドに出勤、退勤をポストするというユースケースをPower Apps
で実装しました。
Power AppsでMicrosoft Teamsにおける特定チーム > チャネル > スレッドに返信する
Microsoft TeamsのAPIを利用するためには、Power Apps
のConnector(コネクタ)
であるMicrosoft Teams
を有効化します。
これにより、MicrosoftTeams
のAPIを利用できます。
特定のスレッドに返信する際は、MicrosoftTeams.PostReplyToMessageV2
を利用します。
PostReplyToMessageV2
https://docs.microsoft.com/en-us/connectors/teams/#post-a-reply-to-a-message-(v2)-(preview)
Name | Key | Required | Type | Description |
---|---|---|---|---|
Team | groupId | True | string | Add Team ID |
Channel | channelId | True | string | Add Teams channel ID |
Message | messageId | True | string | Add Teams message ID |
Subject | subject | string | Subject of the message. | |
Reply | content | True | html | Body of the message. |
groupId, channelId, messageIdの取得方法
ぶら下げたい大元のスレッドの右上3点リーダー >「リンクをコピーする」をクリックして、URLを取得する。
取得したURLをテキストエディタなどで表示して、次の該当箇所を取得する。
https://teams.microsoft.com/l/message/19:[email protected]/1611064421410?tenantId=8826071f-138f-4gc3-bf3a-0774182cbb26&groupId=58742cc7-f7ca-4df0-82fc-1aab7c6276c0&parentMessageId=1611064421410&teamName=sandbox&channelName=01_Channel&createdTime=1611064421410
上記のURLの場合、groupId
, channelId
, messageId
は次のとおり。
- groupId: URLパラメタ
groupId
58742cc7-f7ca-4df0-82fc-1aab7c6276c0
- channelId: message/{groupID}/
- messageId: URLパラメタ
parentMessageId
1611064421410
Teamsのスレッドに返信する
上記で取得したgroupId
, channelId
, messageId
を利用してMicrosoftTeams.PostReplyToMessageV2
を呼び出します。
これにより、Teamsの特定チーム > チャネル > スレッドに返信できます。
MicrosoftTeams.PostReplyToMessageV2(
{groupId},
{channelId},
{messageId},
{
content: Text(Now(),"[$-ja-JP]mm/dd") & " 在宅勤務開始",
contentType: "text"
}
)
作ったPower Appsアプリ
まとめ
Power Apps
の入門として出退勤をポストするアプリを作成してみました。
Connectorを利用して、画面を作り上げていく流れをなんとなく掴むことができました。
日頃の業務改善のため、小さいけど意外とメンドくさいことはどんどんPower Apps
やPower Automate
で自動化していきたい。