英語で読む

次の方法で共有


Teams アプリでビジネス データについて会話する

Microsoft Teams のアプリは、ユーザーがコミュニケーションやコラボレーションを行う場所で作業ができるようにすることで、コラボレーションを促進します。 アプリを連携させる一つの方法は、アプリやアプリ内のデータについて会話する機能を追加することです。 こうした会話には、Teams が最適です。

例えば、Teams のプロフィール + サンプル アプリ テンプレートでは、アプリ内で 1 人以上の複数のプロフィール カードを選択すると、選択した相手と Teams で直接チャットを開始することができます。

また、この機能はアプリに利用することもできます。 たとえば、営業マネージャーが今後の案件を確認するための営業案件トラッカーを構築している場合、その営業案件について営業担当者とチャットするボタンが欲しいと思うかもしれません。

このように、Teams の Power Apps は、他の Teams の機能との緊密な統合を利用して、アプリを連携させることができます。 この記事では、Power Apps と Teams を統合して会話を円滑にする方法を説明します。

このビデオでは、Teams アプリでビジネス データに関する会話を行うための設定方法について説明しています:

前提条件

このレッスンを完了するには、選択した Microsoft 365 サブスクリプションの一部として利用できる Teams 内でアプリを作成する機能が必要です。

Teams にログインします

デスクトップ アプリまたは Web アプリのいずれかを使用して Teams にログインします

新しいチームを作成します

このセクションでは、新しい Teams チームを作成し、そのチーム内にアプリを作成します。 使用したいチームが既にある場合は、このセクションをスキップしてください。

  1. 新しいチームを作成するには、Teams タブを選択し、画面左下のチームに参加、または作成するを選択します。

  2. チームの作成 > 最初から > 公開 の順に選択して、チームに「通話と会議の統合」などの名前をつけて、作成を選択します。

  3. (任意) 組織内にテスト目的でチームに追加したいメンバーがいる場合は、そのメンバーを選択し、メンバー追加のポップアップで追加します。

  4. 閉じるを選択します。

新しいチームが作成され、[Teams] タブに一覧表示されます

新しいアプリを作成

ユーザーがボタンを選択してテキスト ボックスにメッセージを入力することで、特定のチームとチャンネルの会話を開始できるアプリを作成します。 その後、送信ボタンを選択すると、Teams の特定のチームやチャネルにメッセージが投稿され、他のユーザーが会話に参加できるようになります。

  1. Teams を開きます。

  2. 左のペインから Power Apps を選択します。

  3. 最近のアプリ配下で、+ 新しいアプリを選択します。

  4. 上記手順で作成したチームを選択し、作成を選択します。

    アプリが作成され、Power Apps Studio が開き、アプリを編集できるようになります。

  5. 「会話アプリ」など、アプリの名前を入力し、保存を選択します。

    アプリは、画面1 の既定のギャラリーで作成されます。

コネクタとして Teams を追加する

ログインしたユーザーのアカウントからチームやチャンネルにアクセスできるようにするため、Teams をアプリのコネクタとして追加する必要があります。

  1. 左ペインから、データ を選択します。
  2. + データの追加を選択し、コネクタを選択します。
  3. 下にスクロールしてすべてのコネクタを表示を選択します。
  4. Teams コネクタを検索し、選択します。

新しいテーブルを追加して会社の記録を取りこむ

会社の記録として使う会社のリストを管理するテーブルを追加し、会社についての会話を始める必要があります。

  1. 左ペインから、データ を選択します。

  2. +データの追加 を選択し、「Company」という名前のテーブルを新規に作成し、複数の名前を「Companies」とします。

  3. テーブルにいくつかの会社名を追加して、閉じるを選択します。

新しい画面を追加して顧客を選択する

次に、アプリに画面を追加して、ユーザーが会話したい顧客を選択できるようにします。

  1. ツリー ビューで、+新しい画面 > シナリオ タブ > リストを選択します。

    ギャラリー リストとともに新しい画面が追加されます。

  2. ギャラリーのタイトルを「会社リスト」に更新します。

  3. ギャラリーのデータソースに Companies を選択します。

    追加された企業のリストがギャラリー TemplateGalleryList1 に表示されます。

  4. ツリー ビューから画面1 を削除し、新しい画面の名前を画面1 に変更します。

新しいテーブルを追加して、会話の詳細を取り込みます

アプリ内で開始された会話に関連する Teams の会話 ID、チーム、チャンネルなどの詳細を把握するために、別のテーブルを追加する必要があります。

  1. データ > + データの追加 > 新規テーブルの作成を選択します。

  2. テーブル名にConversation、複数形の名前をConversationsと入力します。

  3. 既定の名前 列名を ID に変更します。

  4. 会話テーブルに以下の列を追加します:

    Column タイプ
    チーム テキスト
    チーム チャネル テキスト
    チーム名 テキスト
    チャネル名 テキスト
    会社 ルックアップ、関連テーブル = Company
  5. テーブルを保存して閉じます。

新しい画面を追加して、会話を開始または参加します

ここで、アプリのユーザーが会話を始めたり、会話に参加したりするための新しい画面を追加します。

  1. ツリー ビューで、+新しい画面 > 空白のレイアウトを選択します。

  2. 画面の Fill プロパティを更新して、白色以外のものに変更します。

    この例では、画面の Fill プロパティを RGBA(224, 224, 237, 1) に設定しています。

  3. + (挿入) > 入力 > ボタン を選択します。

  4. ボタンの次のプロパティを更新します。

    プロパティ 価値
    名称 startaconversation_Button
    テキスト 「会話を開始する」
    200
    高さ 32
    フォント サイズ 12
    X Parent.Width/2 - startaconversation_Button.Width/2
    100
    OnSelect Set(enterMessage,true)
  5. +(挿入) > 入力 > コンボ ボックス選択します。

  6. コンボ ボックスの次のプロパティを更新します。

    プロパティ 価値
    名称 team_Combobox
    品目 MicrosoftTeams.GetAllTeams().value
    320
    高さ 32
    X Parent.Width/2 - team_ComboBox.Width/2
    200
    テキスト "チーム"
    ヒント "チーム"
    表示可能 enterMessage
  7. コンボ ボックスをもう一つ追加し、以下のプロパティを更新します。

    プロパティ 価値
    名称 channel_Combobox
    品目 If(!IsBlank(team_ComboBox.Selected.id),MicrosoftTeams.GetChannelsForGroup(team_ComboBox.Selected.id).value)
    320
    高さ 32
    X Parent.Width/2 - channel_ComboBox.Width/2
    200
    テキスト "チャネル"
    ヒント "チャネル"
    表示可能 enterMessage
  8. +(挿入) > 入力 > テキスト ボックス選択します。

  9. テキストボックスの次のプロパティを更新します。

    プロパティ 価値
    名称 message_TextBox
    価値 ""
    500
    高さ 180
    X Parent.Width/2 - message_TextBox.Width/2
    300
    プレースホルダー ここにメッセージを入力してください
    表示可能 enterMessage
  10. + (挿入) > 入力 > ボタン を選択します。

  11. ボタンの次のプロパティを更新します。

    プロパティ 価値
    名称 submit_Button
    価値 "提出"
    96
    高さ 32
    フォント サイズ 12
    X Parent.Width/2 - submit_Button.Width/2
    500
    表示可能 enterMessage
  12. ボタンの OnSelect イベントで次の式をコピーします。

    Patch(Conversations,Defaults(Conversations),{ID:MicrosoftTeams.PostMessageToChannelV3(team_ComboBox.Selected.id,channel_ComboBox.Selected.id,{content:message_TextBox.Value,contentType: "text"},{subject:"New conversation"}).id,Team:team_ComboBox.Selected.id,'Team Channel':channel_ComboBox.Selected.id, 'Team Name':team_ComboBox.Selected.displayName,'Channel Name':channel_ComboBox.Selected.displayName, Company: TemplateGalleryList1.Selected}); Set(enterMessage,false); Reset(team_ComboBox);Reset(channel_ComboBox);Reset(message_TextBox)
    

    注意

    • 上の式では、Patch関数を使って Conversations テーブルに行を作成し、チーム、チーム名、チャンネル、チャンネル名とともに会話 ID を取得しています。 同時に、PostMessageToChannelV3 機能を使って該当するチームやチャネルにメッセージを投稿しています。 次に、enterMessage 変数を "false "に戻し、この変数に依存して表示されるフィールドやボタンの一部を隠します。
    • 件名は、アプリをシンプルにするために「新しい会話」にハードコードされており、取り込みのために別のテキスト ボックス コントロールを追加する必要はありません。 ただし、画面の件名にテキストボックスを追加して、ユーザーが取り込みすることができます。 この計算式は、コントロールを参照するために適宜調整する必要があります。 Fluent UI コンボボックス コントロールでは、リセット 機能が動作しません。 これは、メッセージが投稿された後にチームやチャネルを選択しないようにするために必要です。
  13. + (挿入) > 入力 > ボタン を選択します。

  14. ボタンの次のプロパティを更新します。

    プロパティ 価値
    名称 joinconversation_Button
    テキスト "会話に参加"
    200
    高さ 32
    フォント サイズ 12
    X Parent.Width/2 - submit_Button.Width/2
    500
    表示可能 enterMessage
  15. ボタンの OnSelect イベントで次の式をコピーします。

    Launch(Concatenate("msteams://teams.microsoft.com/l/message/",Last(Sort(Conversations, 'Created On', Ascending)).'Team Channel',"/",Gallery1.Selected.etag,"?tenantId=",Param("tenandId"),"&groupId=",Last(Sort(Conversations, 'Created On', Ascending)).Team,"&parentMessageId=",LookUp(MicrosoftTeams.GetMessagesFromChannel(Last(Sort(Conversations, 'Created On', Ascending)).Team,Last(Sort(Conversations, 'Created On', Ascending)).'Team Channel').value,id = Last(Sort(Conversations, 'Created On', Ascending)).Team).etag,"&teamName=",Last(Sort(Conversations, 'Created  On', Ascending)).'Team Name',"&channelName=",Last(Sort(Conversations, 'Created On', Ascending)).'Channel Name'),{},LaunchTarget.New)
    

    注意

    • 上の式では、Launch 関数を使って、Conversations テーブルで最後に作成されたレコードのチームとチャンネルのパラメータを使って Teams を起動しています。 これは、ユーザーが会話を開始し、チャンネルに投稿するメッセージを送信した際に、 会話に参加 ボタンを選択することで、Teams の投稿に直接アクセスできるようにするためです。
    • ここではシンプルにするために最後の関数を使っています。 もし、このアプリの使用頻度が高く、複数の会話を想定しているのであれば、会話のギャラリーを使用して、ユーザーが参加する会話を選択できるようにするなどの工夫が必要です。*

次に、会社のギャラリーの OnSelect プロパティを更新して、ユーザーがリストから会社を選択したときに、アプリが 2 画面目に進むようにします。

  1. ツリービューから画面 1 を開いて Companies ギャラリーを開きます。

  2. ギャラリー アイテムの OnSelect プロパティを Navigate(Screen2) に設定します。

アプリの保存と公開

  1. 右上の保存を選択してアプリを保存します。

  2. 右上の保存を選択してアプリを公開します。

  3. 次へ を選択します。

  4. チャンネルに追加配下で、アプリが表示されるチャンネルがリストアップされ、"0 active tab(s)" ではなく "1 active tab(s)" と表示されていることを確認してください。

  5. 保存して閉じる を選択して、アプリの公開作業を完了します。

アプリのテスト

プレビュー モードでアプリを実行するか、アプリが作成されたチームに移動します。

  1. Companies のギャラリーが最初の画面として表示されます。

  2. いずれかの会社を選択します。

  3. 次の 2 つのボタンのみが表示されます: 会話を始める会話に参加する

  4. 会話の開始を選択します。

  5. 追加のフィールドが表示されます:

    • チーム (チームのリストを含むドロップダウン)
    • チャネル (選択したチーム内のチャネルのドロップダウン リスト)
    • メッセージ ボックス (チームに送信するメッセージを入力するためのテキストボックス)
    • 送信ボタン (メッセージの送信用)
  6. チームの選択。

  7. チーム内のチャネルを選択します。

  8. メッセージを入力します。

  9. 送信を選択します。 追加のフィールド/コントロールはすべて非表示になります。

  10. 会話に参加するを選択して最後のメッセージが送信されたチームとチャネル チャットに移動します。

    アプリのテスト

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。