Power AppsによるTeamsの拡張について

5973 ワード


Power Appsによって、Microsoft 365の拡張が可能になりました。
SharePointにデータ登録やOutlookでメール送信などができますが、Teamsでも同様に操作することができます。

このチュートリアルでは、Power AppsとTeamsの拡張について学習できます。

はじめに

今回作成する勤怠連絡アプリでは、在宅勤務時に作業開始報告を行うために利用します。
Teamsに対しての定型文を必要な情報を入力するだけで、自動的にTeamsに投稿してくれるため、作業効率の向上が見込まれます。

Power Apps Studioで新しいキャンバスアプリを作成する

新しく作成したキャンバスアプリで、画面の上部に「勤怠連絡アプリ」というテキストラベルを挿入します。

次に、画面にテキストラベルを配置します。これはアプリ利用者に向けたメッセージを表示させます。

配置したラベルに以下のプロパティを設定します。

Text : Concatenate(
    "おはようございます、",
    Office365ユーザー.MyProfileV2().displayName,
    "さん。本日は",
    Text(
        Today(),
        "yyyy/mm/dd(dddd)"
    ),
    "です。"
)

次に、作業内容を入力するため、テキストラベルとリッチテキストエディターを1つずつ配置し、下部にボタンを配置します。

Teamsと連携する

アプリの基本的な設計が完了しました。次にTeamsへの投稿するため、必要な情報を取得し、メッセージを投稿できるようにします。

新しい画面を作成し、テキストラベル2つとコンボボックス1つのペアを2つ配置します。

  • チーム
  • チャネル

Microsoft Teamsとデータ接続します。これにより、このアプリでTeamsへの操作が可能となります。

各コンボボックスに以下のプロパティを設定します。

チーム
Items : MicrosoftTeams.GetAllTeams().value
チャネル
Items : With(
    {groupId: cmb_Setting_Team.Selected.id}, 
    If(
        !IsBlank(groupId),
        MicrosoftTeams.GetChannelsForGroup(groupId).value
    )
)

各ラベルに以下のプロパティを設定します。

チーム
Text : cmb_Setting_Team.Selected.id
チャネル
Text : cmb_Setting_Channel.Selected.id

これで、チームとチャネルのIDを取得できるようになりました。このIDを次の手順から利用します。

Teamsにメッセージを投稿する

この記事での目標はTeamsへのメッセージ投稿することです。投稿に必要な情報も取得できたので、早速、Teamsに操作をできるようにしましょう。

メッセージの投稿が完了した際に成功画面を表示させます。テンプレート画面である成功画面を追加しましょう。

次に、勤怠連絡用の画面に戻り、ボタンに以下のプロパティを設定します。
チームID、チャネルIDはそれぞれ前の手順で取得したIDを設定してください。

OnSelect : With(
    {
        groupId: [チームID],
        channelId: [チャネルID]
    },
    MicrosoftTeams.PostMessageToChannelV3(
        groupId,
        channelId,
        {
            content: Concatenate(
                "作業開始します。<br><br>作業内容<br>",
                txt_Work_Contact.HtmlText
            ),
            contentType: "html"
        },
        {
            subject: Text(
                Today(),
                "yyyy/mm/dd"
            ) & Office365ユーザー.MyProfileV2().displayName
        }
    )
);
Navigate('Success Screen');

アプリを保存して公開します。
これで、Teamsにメッセージを投稿することができるようになりました。
また、Teamsの埋め込みをすることでより簡易的な操作で勤怠連絡をすることができます。