Rev.0, Y.Nishimura, 2023/1/17
このブログでは、Power AppsからTeamsにメッセージを投稿するアプリをご紹介します。
完成イメージ
アプリの完成イメージです。
アプリの外観
Teamsに投稿したメッセージ
アプリの構築
Power Automateのフローを新規作成し、アプリを構築します。
フローの作成
Power Automate > +フローの追加 > フローを新規作成する を選びます。
フローの作成画面が現れますので、フローの名前を設定します。
ここでは、「Teamsにメッセージを投稿する_デモ」という名前を付けました。
フローは以下のように2つのステップから成ります。
トリガー
Power Apps (V2)のトリガーを選びます。
+入力の追加から、以下のように変数を設定します。
ユーザー入力の種類の選択で、テキストをクリックします。そして、以下のように設定します。
入力 | 入力を指定してください |
vTeamsID | vTeamsID_text |
vChannelID | vChannelID_text |
vBody | vBody_htmltext |
vSubject | vSubject_text |
メッセージを投稿する
アクション「チャットまたはチャネルでメッセージを投稿する」を選び、以下のように設定します。
これにてフローが完成しました。
保存して、画面を閉じます。
このフローがアプリに追加されたことが分かります。
データの追加
データ > +データの追加 から、コネクタを2つ追加します。
- MicrosoftTeams
- Office365グループ
App.OnStartの設定
App.OnStartを設定します。
App.OnStart =
// メッセージを掲載する{Teamsの表示名}を入力し、そのidを取得する
Set(
vTeamsID,
LookUp(
MicrosoftTeams.GetAllTeams().value,
displayName = ” {Teamsの表示名}”,
id
)
);
// メッセージを掲載する{Channelの表示名}を入力し、そのidを取得する
Set(
vChannelID,
LookUp(
MicrosoftTeams.GetChannelsForGroup(vTeamsID).value,
displayName = ” {Channelの表示名}”,
id
)
);
// そのTeamsに属するメンバーとその属性を取得する
ClearCollect(
ColGroupMember,
Office365グループ.ListGroupMembers(vTeamsID).value
);
コネクタの詳細は、マイクロソフトのドキュメントを参照してください。
- MicrosoftTeams > List teams
- MicrosoftTeams > List channels
- Office365グループ > List group members
コントロールを配置する
画面「Screen1」に、以下のようにコントロールを配置します。
画面の設定
次に、アプリの画面「Screen1」を設定します。
タイトル
テキストラベルを挿入します。
Label1. Text = “タイトル” |
テキスト入力を挿入します。
TextInput1. HintText = “タイトルを入力してください” |
メンション
テキストラベルを挿入します。
Label1. Text = “メンション” |
コンボボックスを挿入します。
ComboBox1. Items = ColGroupMember |
本文
テキストラベルを挿入します。
Label3. Text = “本文” |
リッチテキストエディターを挿入します。
RichTextEditor1. Default = “” |
投稿ボタン
ボタンを挿入します。
Button1. OnSelect =
// メンション先をHtmlで記述する
UpdateContext(
{
vMension: Concat(
ComboBox1.SelectedItems,
“<at>” & id & “</at>”,
“, “
)
}
);
// 接続したフローでメッセージを投稿する
Teamsにメッセージを投稿する_デモ.Run(
vTeamsID,
vChannelID,
vMension & RichTextEditor1.HtmlText,
TextInput1.Text
);
以上でアプリが完成しました。
テスト
タイトルや本文を入力し、メンション先を選んでTeamsに投稿しましょう。
参考文献
- Microsoft Documentation > Power Platform > Microsoft Teams
- Microsoft Documentation > Power Platform > Office 365 Groups
以上