1. SIS Lab
  2. >
  3. Blog
  4. >
  5. Power AppsでMicrosoft Teamsのスレッドに出退勤をポストする

Power AppsでMicrosoft Teamsのスレッドに出退勤をポストする

更新日:2021.02.11 作成日:2021.01.21
Power AppsでMicrosoft Teamsのスレッドに出退勤をポストする

Power Apps入門として、リモートワーク開始と終了時に、Microsoft Teamsのスレッドに出勤、退勤をポストするというユースケースをPower Appsで実装しました。

Power AppsでMicrosoft Teamsにおける特定チーム > チャネル > スレッドに返信する

Microsoft TeamsのAPIを利用するためには、Power AppsConnector(コネクタ)であるMicrosoft Teamsを有効化します。 これにより、MicrosoftTeamsのAPIを利用できます。

特定のスレッドに返信する際は、MicrosoftTeams.PostReplyToMessageV2を利用します。

PostReplyToMessageV2

https://docs.microsoft.com/en-us/connectors/teams/#post-a-reply-to-a-message-(v2)-(preview)

NameKeyRequiredTypeDescription
TeamgroupIdTruestringAdd Team ID
ChannelchannelIdTruestringAdd Teams channel ID
MessagemessageIdTruestringAdd Teams message ID
SubjectsubjectstringSubject of the message.
ReplycontentTruehtmlBody 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 AppsPower Automateで自動化していきたい。

B! Pocket