在 Teams 應用程式中討論您的商務資料
Microsoft Teams 中的應用程式可讓使用者在其通訊和共同作業的地方工作,從而推動共同作業。 讓應用程式進行共同作業的方式之一,是增加應用程式或應用程式中資料進行交談的能力。 Teams 是您進行此類交談的最佳選擇。
例如在 Teams 的 Profile+ 範例應用程式中,當您在應用程式中選取一個或多個設定檔卡片時,您可以直接在 Teams 中與所選人員開始聊天。
您可能也會想要將此功能用於您的應用程式。 例如,如果您正在建立銷售商機追蹤器,讓銷售經理審查即將進行的交易,您可能會想要新增一個按鈕,讓使用者與銷售人員討論商機。
如此一來,Teams 中的 Power Apps 就可以使用與其他 Teams 功能的深度整合,讓應用程式共同作業。 在本文中,我們將瞭解如何整合 Power Apps 與 Teams 以促進交談。
觀看此影片瞭解如何在 Teams 應用程式中設定商務資料的交談:
若要完成本課程,我們需要能在所選 Microsoft 365 訂閱中,在團隊中建立應用程式。
使用桌面應用程式或 Web 應用程式登入 Teams
在本節中,我們將建立新的 Teams 團隊,然後在該團隊中建立應用程式。 如果您已經有想要使用的團隊,請略過本節。
若要建立新的團隊,請選取 Teams 索引標籤,然後選取在畫面左下角的 [加入] 或 [建立團隊]。
選取建立團隊 > 從頭開始 > 發佈,為團隊命名,例如「通話和會議整合」,然後選取建立。
(選用) 如果您想將組織中的成員新增至團隊以進行測試,請選取成員,然後將其新增至用於新增成員的快顯視窗。
選取關閉。
新團隊即會建立,並列在 Teams 索引標籤下方。
我們將建立一個應用程式,使用者可以透過選取按鈕並在文字方塊中輸入訊息,來為特定團隊和頻道展開交談ˊ。 然後使用者可以選取提交按鈕,將訊息張貼在 Teams 的特定團隊和頻道中,然後其他使用者就可以加入該交談。
打開團隊。
從右窗格選取 Power Apps。
在 最近的應用程式下選取 + 新應用程式。
選取先前建立的團隊,然後選取建立。
應用程式即會建立,並開啟 Power Apps Studio,以允許編輯應用程式。
輸入應用程式的名稱,例如「交談應用程式」,然後選取儲存。
畫面 1 上的應用程式是使用預設資源庫建立的。
因為我們想要從登入使用者的帳戶存取團隊和頻道,所以我們需要將 Teams 新增為應用程式的連接器。
- 從左窗格中選取資料。
- 選取 + 新增資料,然後選取連接器。
- 向下捲動並選取查看所有連接器。
- 搜尋並選取 Teams 連接器。
我們必須新增資料表,以維護我們要做為公司記錄的公司清單,並展該關於該資料表的交談。
從左窗格中選取資料。
選取 + 新增資料,然後建立新資料表,名稱為「Company」,複數名稱為「Companies」。
在資料表中新增幾個公司名稱,然後選取關閉。
接下來,我們會將畫面新增至應用程式,讓使用者可以選取他們想要進行交談的客戶。
在樹狀檢視中,選取 + 新畫面 > 選取案例索引標籤 > 選取清單。
具有資源庫清單的新畫面隨即建立。
將資源庫的標題更新為「公司清單」。
選取公司做為資源庫的資料來源。
新增的公司清單會顯示在資源庫 TemplateGalleryList1 中。
從樹狀檢視中移除 Screen1,然後將新畫面重新命名為 Screen1。
我們必須新增另一個資料表以擷取詳細資料,例如 Teams 交談識別碼、團隊和與應用程式中已開始之交談相關的頻道。
選取資料 > + 新增資料 > 建立新資料表。
輸入資料表名稱 Conversation,複數名稱則為 Conversations。
將預設的 Name 資料行名稱變更為 ID。
將以下資料行新增至交談資料表中:
資料行 輸入 團隊 文字 團隊頻道 文字 團隊名稱 文字 頻道名稱 文字 公司 查詢,相關資料表 = 公司 儲存後關閉資料表。
現在,我們將新增畫面,讓應用程式使用者可以開始或加入交談。
在樹狀檢視中,選取 + 新畫面 > 空白版面配置。
將畫面的 Fill 屬性更新為白色以外的顏色。
在本範例中,我們將畫面的 Fill 屬性設為
RGBA(224, 224, 237, 1)
。選取 + (插入) > 輸入 > 按鈕。
更新按鈕的下列屬性。
屬性 數值 名字 startaconversation_Button 文字 「開始交談」 寬度 200 高度 32 字型大小 12 X Parent.Width/2 - startaconversation_Button.Width/2
Y 100 OnSelect Set(enterMessage,true)
選取 + (插入) > 輸入 > 下拉式方塊。
更新下拉式方塊的下列屬性。
屬性 數值 名字 team_Combobox 個項目 MicrosoftTeams.GetAllTeams().value
寬度 320 高度 32 X Parent.Width/2 - team_ComboBox.Width/2
Y 200 文字 「團隊」 Tooltip 「團隊」 可見 enterMessage 新增其他下拉式方塊,並更新下列屬性。
屬性 數值 名字 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
Y 200 文字 「頻道」 Tooltip 「頻道」 可見 enterMessage 選取 + (插入) > 輸入 > 文字方塊。
更新文字方塊的下列屬性。
屬性 數值 名字 message_TextBox 數值 "" 寬度 500 高度 180 X Parent.Width/2 - message_TextBox.Width/2
Y 300 預留位置 在此處輸入訊息 可見 enterMessage 選取 + (插入) > 輸入 > 按鈕。
更新按鈕的下列屬性。
屬性 數值 名字 submit_Button 數值 「提交」 寬度 96 高度 32 字型大小 12 X Parent.Width/2 - submit_Button.Width/2
Y 500 可見 enterMessage 在按鈕的 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)
注意
- 在上方的公式中,我們使用修補程式函數在交談資料表中建立資料列,以擷取交談識別碼以及團隊、團隊名稱、頻道和頻道名稱。 同時,我們也會使用 PostMessageToChannelV3 函數,在適當的團隊和頻道中張貼訊息。 接著將 enterMessage 變數設為「False」,以隱藏其可見性取決於此變數的一些欄位和按鈕。
- 主題會硬編碼為「新交談」,讓應用程式保持簡單,而不是新增其他文字方塊控制項來擷取。 但是可以為主題將文字方塊新增到畫面上,並可由使用者擷取。 此公式必須相應地調整,才能參考該控制項。 Reset函數不適用於流暢 UI 組合方塊控制項。 這需要在張貼訊息後不選取任何團隊或頻道。
選取 + (插入) > 輸入 > 按鈕。
更新按鈕的下列屬性。
屬性 數值 名字 joinconversation_Button 文字 「加入交談」 寬度 200 高度 32 字型大小 12 X Parent.Width/2 - submit_Button.Width/2
Y 500 可見 enterMessage 在按鈕的 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 函數,使用在交談資料表中建立之最後一筆記錄的團隊和頻道參數啟動 Teams。 這樣做是為了當使用者開始交談並提交要張貼到頻道的訊息時,使用者可以選取加入交談按鈕直接移至 Teams 貼文。
- 接著我們將使用最後一個函數,讓整個過程保持簡單。 如果您希望更廣泛地運用此應用程式,並預計有多個交談,您可以透過使用交談資源庫發揮創造力,讓使用者選取他們想加入的交談。*
接下來,我們將更新公司資源庫的 OnSelect 屬性,以便當使用者從清單中選取公司時,應用程式將進入第二個畫面。
從樹狀檢視中選取 Screen1 以開啟公司資源庫。
將資源庫項目的 OnSelect 屬性設為
Navigate(Screen2)
。
選取右上方的儲存來儲存應用程式。
選取右上方的發佈來發佈應用程式。
選取下一步。
在新增至頻道下,確定應顯示的應用程式頻道已列出,並顯示為「1 個使用中索引標籤」,而不是「0 個使用中索引標籤」。
選取儲存後關閉,完成應用程式的發佈。
在預覽模式下執行應用程式,或移至已建立應用程式的團隊。
公司資源庫應顯示為第一個畫面。
選取其中一個公司。
您應該只會看到兩個按鈕:開始交談和加入交談。
選取開始交談。
其他欄位應該會顯示:
- 團隊 (團隊清單的下拉式選單)
- 頻道 (所選團隊中的頻道下拉式清單)
- 訊息方塊 (用於輸入要傳送至團隊之訊息的文字方塊)
- 提交按鈕 (提交訊息)
選取團隊。
在團隊中選取一個頻道。
輸入訊息。
選取送出。 所有其他欄位/控制項都會隱藏。
選取加入交談將移至傳送最後一則訊息的團隊和頻道聊天。