Microsoft Team
Quando si imposta un canale Microsoft Teams, gli utenti possono effettuare una chat con l'assistente digitale (o una competenza standalone) tramite l'interfaccia utente di Microsoft Teams.
Di seguito viene illustrato il processo per impostare un canale.
- In Developer Portal di Microsoft Teams, creare un'app e aggiungervi un bot.
- Utilizzando l'ID app e la password provenienti dal bot, creare un canale in Digital Assistant .
- Copiare l'URL del webhook generato quando si crea il canale e aggiungerlo al bot.
- Eseguire il test dell'assistente digitale in Microsoft Teams.
Le competenze e gli assistenti digitali esposti tramite i canali Microsoft Teams possono essere inclusi anche nelle chat di gruppo. Vedere Chat di gruppo.
Passo 1: Creare un bot
Per rendere disponibile l'assistente digitale (o la competenza autonoma) in Microsoft Teams, è necessario creare gli elementi riportati di seguito tramite il Portale per sviluppatori team.
- Un'app Microsoft Teams. Questa applicazione è il contenitore del bot creato ed è la modalità di accesso al bot in Teams.
- Un bot. L'artifact all'interno dell'applicazione che comunica con Oracle Digital Assistant
Il Teams Developer Portal non è disponibile per alcuni tipi di tenant Microsoft, come i tenant GCC-High e del Dipartimento della Difesa (DoD). Se si sta lavorando con un tenant di questo tipo, è possibile utilizzare un tenant regolare per creare l'applicazione, scaricare l'applicazione e quindi utilizzare Microsoft Graph per caricare l'applicazione nel cloud nazionale. Per i dettagli, consulta il Portale sviluppatori per team e le Distribuzioni cloud nazionali sul sito di Microsoft.
Di seguito è illustrata la procedura.
- Accedere all'indirizzo https://dev.teams.microsoft.com/home ed eseguire il login con l'account Microsoft.
- Nella navigazione a sinistra fare clic su Applicazioni.
- Fare clic su + Nuova applicazione.
- Nella finestra di dialogo Aggiungi applicazione, immettere il nome che si desidera utilizzare per l'applicazione così come verrà visualizzata in Microsoft Teams, quindi fare clic su Aggiungi.
(Questa app incapsula il bot, che creerai in seguito.)
- Nella pagina Informazioni di base, compilare i campi obbligatori rimanenti ad eccezione dell'ID applicazione (client), quindi fare clic su Salva.
Nota
Questo campo è necessario solo se si configura il bot per Single Sign-On. Vedere Configurazione di SSO per canali Microsoft Teams. - Nella navigazione a sinistra della pagina, nella sezione Configura, selezionare Funzioni applicazione.
- Fare clic su Bot.
- Fare clic sul collegamento Crea un nuovo bot.
- Nella pagina Gestione bot fare clic su + Nuovo bot.
- Nella finestra di dialogo Aggiungi bot immettere un nome per il bot.
- Nella sezione Canali della pagina, selezionare la casella di controllo Microsoft Teams e fare clic su Salva.
- Nella sezione Segreti client, selezionare Aggiungi un segreto client per il bot.
- Copiare il valore del segreto client generato e salvarlo in un luogo sicuro sul sistema.
- Nella sezione Segreti client della pagina, fare clic con il pulsante destro del mouse sul collegamento Azure per aprire la pagina Registrazioni applicazioni di Azure Active Directory in una scheda del browser separata.
- Nella pagina Registrazioni applicazioni, selezionare la risorsa bot creata.
- Nel binario sinistro selezionare Authentication.
- Nella sezione Tipi di account supportati della pagina, selezionare l'opzione multi-tenant (Account in qualsiasi directory organizzativa (qualsiasi tenant ID Microsoft Entra - Multitenant).
- Se si desidera utilizzare eventi esterni per inviare messaggi agli utenti tramite un canale Microsoft Teams, aggiungere le autorizzazioni per recuperare il profilo utente tramite l'API Microsoft Graph. La funzione Eventi esterni utilizza i dati utente inseriti nella cache delle conversazioni precedenti per generare notifiche o avviare conversazioni con l'utente in modo proattivo. Di seguito sono riportati i passi per l'aggiunta di tali autorizzazioni.
- Nella navigazione a sinistra della pagina Registrazioni applicazioni per il bot, selezionare Autorizzazioni API.
- Fare clic su Aggiungi un'autorizzazione.
- Nella finestra di dialogo Richiedi autorizzazioni API, selezionare Microsoft Graph.
- Selezionare Autorizzazioni applicazione.
- Selezionare l'autorizzazione Directory.Read.All e fare clic su Aggiungi autorizzazioni.
- Dopo aver visualizzato l'autorizzazione nella lista Autorizzazioni configurate, selezionare l'autorizzazione, fare clic su Concedi consenso amministratore per..., quindi fare clic su Sì nella finestra di dialogo Concedi conferma consenso amministratore.
-
Tornare alla scheda in cui è aperto Developer Portal nel browser.
-
Nella navigazione a sinistra, fare clic su Applicazioni, quindi selezionare l'applicazione.
-
Nella navigazione a sinistra dell'applicazione, selezionare Funzioni applicazione.
-
Fare clic sulla casella Bot.
-
Nell'elenco a discesa sotto Selezionare un bot esistente, selezionare il bot appena creato.
-
Ancora una volta, nella navigazione a sinistra dell'applicazione, selezionare Funzioni applicazione.
-
Nel titolo Bot, copiare l'ID bot e salvarlo in un file di testo.
Nota
Potrebbe essere necessario trascrivere manualmente l'ID bot.Questo ID è necessario quando si crea il canale in Digital Assistant.
- Nella sezione Ambiti della pagina selezionare Personale.
È anche possibile selezionare altri ambiti, ma per rispondere è necessario Personale.
-
Fare clic su Salva.
-
Facoltativamente, nella navigazione a sinistra della pagina, nella sezione Configura, selezionare Domini e aggiungere eventuali domini da cui potrebbero provenire gli utenti del bot.
-
Lasciare aperto Developer Portal nel browser.
In seguito si completerà la registrazione con un URL webhook che si ottiene quando si crea il canale in Digital Assistant.
Passo 2: Creare un canale in Digital Assistant
-
In una finestra o scheda separata del browser, aprire Digital Assistant, fare clic sui canali nel menu a sinistra e scegliere Utenti.
-
Fare clic su + Canale per aprire la finestra di dialogo Crea canale.
-
Dai un nome al tuo canale.
-
Scegliere Microsoft Teams come tipo di canale.
-
Compilare l'ID bot Microsoft con l'ID del bot Microsoft creato.
-
Compilare Microsoft Bot Password (valore segreto client) con la password o il segreto client valore (da non confondere con l'ID segreto client) generato per il bot.
-
Fare clic su Crea.
-
Nella pagina Canali, copiare l'URL WebHook e incollarlo in un punto appropriato nel sistema.
-
Fare clic su
e selezionare l'assistente digitale o lo skill che si desidera associare al canale.
-
Accendere il controllo Channel Enabled.
Passo 3: configurare l'URL del webhook per Microsoft Teams
Ora è necessario fare un giro indietro e completare la configurazione in Microsoft Teams.
-
Tornare alla scheda del browser in cui è aperto Teams Developer Portal.
-
Nella navigazione all'estrema sinistra della pagina, selezionare l'icona Strumenti, quindi fare clic su Gestione bot.
-
Selezionare il bot creato.
- Nella pagina del bot, selezionare la scheda Configura.
-
Nel campo Indirizzo endpoint bot incollare l'URL del webhook ottenuto durante la creazione del canale in Digital Assistant, quindi fare clic su Salva.
Passaggio 4: abilitare le applicazioni nel tenant di Office 365
Sarà quindi necessario che l'amministratore di Office 365 configuri il tenant in modo da:
- Consente applicazioni esterne in Microsoft Teams.
- Consente il caricamento laterale delle applicazioni esterne.
- Abilita le nuove applicazioni esterne per impostazione predefinita.
Per le fasi concrete, vedere https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant.
Passaggio 5: eseguire il test in Microsoft Teams
Una volta completata la configurazione del canale e della messaggistica di Microsoft Teams, è possibile testare l'assistente digitale (o la competenza) in Microsoft Teams. A questo scopo:
- Nella pagina dell'applicazione creata con Microsoft Developer Portal, fare clic sul pulsante Anteprima in team.
Configurazione di SSO per canali Microsoft Teams
Se si desidera che un assistente digitale o una competenza richieda la stessa autenticazione configurata per Microsoft Teams, è possibile impostare l'autenticazione Single Sign-On (SSO) per l'assistente digitale o la competenza in Microsoft Teams.
Dopo l'impostazione dell'autenticazione SSO, gli utenti potranno accedere a Teams con le credenziali di Azure Active Directory (Azure AD) e quindi interagire senza problemi con l'assistente digitale, senza dover accedere di nuovo.
Qualsiasi applicazione backend a cui si accede tramite l'assistente digitale deve supportare direttamente i token di accesso di Azure AD. I clienti di Fusion-based Cloud Applications (FA) che utilizzano Teams possono anche avere SSO abilitato tra Azure AD e FA. Tuttavia, non è ancora possibile avere una conversazione senza soluzione di continuità con FA da una sessione Team poiché il token di accesso di sicurezza generato da Team non può essere attualmente utilizzato direttamente per comunicare con FA. Per risolvere questa discrepanza, è possibile implementare una soluzione personalizzata per uno scambio di token. Per ulteriori informazioni, consulta questo post del blog.
Di seguito sono riportati i passi generali per la configurazione di SSO per un canale Microsoft Teams.
- (Se non lo si è già fatto) creare un canale Microsoft Teams come descritto negli argomenti precedenti.
- Creare un'applicazione Azure AD nel portale Azure.
- Aggiornare la registrazione del bot Microsoft con i dettagli SSO.
- In Oracle Digital Assistant, registrare l'applicazione Azure AD come servizio di autenticazione Microsoft Identity Platform.
- Abilitare l'autenticazione nelle proprie competenze tramite il servizio di autenticazione registrato.
Creare un'applicazione Azure AD
Per impostare SSO per una competenza o un assistente digitale in Microsoft Teams, è necessario creare un'applicazione Azure AD. Questa applicazione è oltre all'applicazione Azure AD già creata nell'ambito dell'impostazione del canale Microsoft Teams.
Prima di iniziare, assicurarsi di disporre delle informazioni riportate di seguito.
- Un account Azure con una sottoscrizione attiva.
- L'ID applicazione Microsoft per il bot impostato con il canale Microsoft Teams.
- Accesso amministratore al portale di Azure.
Di seguito sono riportati i passi per la creazione di un'applicazione Azure AD per SSO.
- Creare una nuova registrazione dell'applicazione:
- Passare a https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade nel portale di Azure.
- Fare clic su Nuova registrazione.
- Compilare il campo Nome.
- Nella sezione Tipi di account supportati, selezionare il pulsante di opzione Account in qualsiasi directory organizzativa (qualsiasi directory Azure AD - Multitenant) e account Microsoft personali (ad esempio Skype, Xbox).
- Fare clic su Registra.
Una volta creata l'applicazione, verrà visualizzata la sezione Panoramica. L'ID applicazione (client) e l'ID directory (tenant) devono essere creati per l'applicazione.
- Aggiungere una configurazione di piattaforma Web:
- Nella navigazione a sinistra selezionare Autenticazione.
- In Configurazioni piattaforma fare clic su Aggiungi una piattaforma e selezionare Web.
- Aggiungere un URI di reindirizzamento utilizzando il seguente formato:
<YOUR_Oracle-Digital-Assistant_URL>/connectors/v2/callback
- Fare clic su Configura.
- Creare un segreto client:
- Nella navigazione a sinistra selezionare Certificati e segreti.
- Fare clic su + Nuovo segreto client, compilare i campi obbligatori e fare clic su Aggiungi.
- Copiare il valore del segreto client e memorizzarlo in un luogo sicuro. Questo valore sarà necessario in seguito.
- Configurare il token:
- Nella navigazione a sinistra, selezionare Configurazione token.
- Fare clic su + Aggiungi richiesta facoltativa.
- Per Tipo di token selezionare Accesso.
- Selezionare queste richieste di rimborso:
- given_name
- upn
- Fare clic su Aggiungi.
- Selezionare l'opzione Attivare l'e-mail di Microsoft Graph, l'autorizzazione del profilo (obbligatoria per la visualizzazione delle richieste nel token) e fare clic su Aggiungi.
- Nella navigazione a sinistra selezionare Autorizzazioni API.
Qui è possibile vedere che vengono create tre autorizzazioni.
- Fare clic su + Aggiungi un'autorizzazione e aggiungere User.ReadBasic.All.
Sarà necessario accedere alle informazioni sul profilo.
- Impostare l'URI ID applicazione:
- Nella navigazione a sinistra selezionare Esponi un'interfaccia API.
- Fare clic sul campo URI ID applicazione.
- Aggiornare il valore nel formato:
api://botid-<Microsoft_App_ID_for_your_bot>
Nota
Deve essere l'ID applicazione per il bot, non quello per l'applicazione SSO. - Fare clic su + Aggiungi un ambito.
- Nel pannello che si apre:
- Impostare
access_as_user
come nome Ambito.La parte del dominio del nome ambito visualizzata appena sotto il campo di testo deve corrispondere automaticamente all'URI ID applicazione impostato nel passo precedente, con
/access_as_user
aggiunto alla fine. - Impostare Chi può fornire il consenso? su Amministratori e utenti.
- Impostare
- Compilare i campi per la configurazione dei prompt di consenso dell'amministratore e dell'utente con i valori appropriati per l'ambito
access_as_user
.Ecco alcuni suggerimenti:
- Titolo consenso amministratore: i team possono accedere al profilo dell'utente.
- Descrizione del consenso dell'amministratore: consente ai team di chiamare le API Web dell'applicazione come utente corrente.
- Titolo del consenso dell'utente: i team possono accedere al proprio profilo utente ed effettuare richieste per conto dell'utente.
- Descrizione del consenso dell'utente: consente ai team di chiamare le API di questa applicazione con gli stessi diritti di cui si dispone
- Assicurarsi che Stato sia impostato su Abilitato.
- Nella sezione Applicazioni client autorizzate fare clic su + Add a client application.
- Inserire i seguenti ID:
1fec8e78-bce4-4aaf-ab1b-5451cc387264
Questa è l'applicazione mobile e desktop Teams.
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
Questa è l'applicazione Web Team.
- Aggiornare il manifesto:
- Nella navigazione a sinistra selezionare Manifest.
- Impostare
"acceptMappedClaims"
sutrue
. - Impostare
"accessTokenAcceptedVersion"
su2
. - Fare clic su Salva.
- Concedere le autorizzazioni di amministratore tenant all'applicazione Azure AD.
- Nella navigazione a sinistra selezionare Panoramica.
- Copiare l'ID applicazione (client), l'ID directory (tenant) e l'URI ID applicazione e salvarli in una posizione comoda.
- In una finestra privata del browser, accedere all'account di amministrazione Microsoft.
L'URL ha il formato seguente:
dove si sostituiscehttps://login.microsoftonline.com/<tenant-id>/adminconsent?client_id=<client-id>
<tenant-id>
con l'ID directory (tenant) appena copiato e si sostituisce<client-id>
con l'ID applicazione (client) appena copiato.
- Nella finestra di dialogo Autorizzazioni richieste, rivedere e accettare le autorizzazioni.
Aggiorna la registrazione bot con i dettagli SSO
Aggiornare il bot Microsoft con i dettagli SSO configurati:
- Aprire il bot in Teams Developer Portal e aprire l'editor Manifest.
- Selezionare la scheda Informazioni di base.
- Scorrere fino al campo ID applicazione (client) e inserire l'ID applicazione (client).
- Selezionare la scheda Single-Sign-On.
- Nel campo URI ID applicazione aggiungere l'URI ID applicazione copiato in precedenza.
- Nella navigazione a sinistra, selezionare Pubblica in organizzazione.
Registrare l'applicazione Azure AD come servizio di autenticazione in Digital Assistant
Ora è possibile registrare l'applicazione Azure AD come servizio di autenticazione in Oracle Digital Assistant.
-
In una finestra o scheda separata del browser, aprire Digital Assistant, espandere Impostazioni nel menu a sinistra e selezionare Servizi di autenticazione.
- Fare clic su + Servizio.
- Nella finestra di dialogo Nuovo servizio di autenticazione immettere i valori riportati di seguito.
- Provider di identità: Piattaforma di identificazione Microsoft
- Nome: nome per identificare il servizio di autenticazione.
- URL endpoint token: l'URL del provider di identità per richiedere i token di accesso. Utilizzare:
https://login.microsoftonline.com/<Azure-Active-Directory-TenantID>/oauth2/v2.0/token
- Endpoint autorizzazione: l'URL del provider di identità per la pagina con cui gli utenti eseguono l'autenticazione immettendo il nome utente e la password. Utilizzare:
https://login.microsoftonline.com/<Azure-Active-Directory-TenantID>/oauth2/v2.0/authorize
- ID client e segreto client: l'ID e il segreto client per l'applicazione Azure AD (client OAuth) registrata. Utilizzare l'ID e il segreto applicazione.
- Ambito:
<Application(client)_ID_for_your_bot>/access_as_user
- Richiesta di risarcimento oggetto: la richiesta di profilo con token di accesso da utilizzare per identificare l'utente. Usa e-mail.
Fare riferimento al servizio di autenticazione dalle proprie competenze
Nelle competenze che richiedono l'autenticazione SSO, incorporare il componente OAuth 2.0 Account Link nel flusso della finestra di dialogo per gestire l'autenticazione tramite il servizio di autenticazione. In tale componente, assicurarsi di impostare la proprietà enableSingleSignOn
su true
. Per i flussi di dialogo basati su YAML, il componente è denominato System.OAuth2AccountLink.
Suggerimento
Se non si desidera codificare il nome del servizio di autenticazione nel componente, è possibile creare un parametro personalizzato che si passa al componente. Vedere Parametri personalizzati.Funzioni supportate
I canali Microsoft Teams in Digital Assistant supportano le seguenti funzionalità:
- testo (sia di invio che di ricezione)
- immagini (sia di invio che di ricezione)
- file (sia di invio che di ricezione)
- emoji (sia di invio che di ricezione)
- collegamenti
- postback
- proprietà personalizzate
- componenti carosello
- elencare i componenti
Se si intende indirizzare la propria abilità a più canali con diverse funzionalità di formattazione e sintassi, è possibile utilizzare il markup HTML di base nei messaggi. In questo caso, il markup verrà convertito automaticamente nel formato di markdown di Microsoft Teams quando il messaggio viene trasmesso al canale. Ciò è particolarmente utile se si mirano le proprie competenze ad altri canali oltre a Microsoft Teams. Vedere Formattazione di testo ricco nei canali.
Vincoli messaggio
I canali Microsoft Teams in Digital Assistant hanno i seguenti vincoli di messaggio:
- Messaggi di testo
- Lunghezza massima dell'etichetta dell'azione di testo: 1 riga (circa 50 caratteri)
- Tipi di azioni di testo consentiti: Postback, Call, URL
- Schede orizzontali
- Lunghezza massima del titolo: 2 righe (circa 80 caratteri)
- Lunghezza massima della descrizione: 25.000 caratteri
- Lunghezza massima dell'etichetta di azione della scheda: 1 riga (circa 50 caratteri)
- Numero massimo di carte: 10
- Numero massimo di azioni carta: 6. Se il numero di azioni della scheda supera 6, la scheda viene duplicata per eseguire il rendering delle azioni della scheda rimanenti.
- Numero minimo di azioni carta: 0
- Numero massimo di azioni elenco carte: 6
- È richiesta almeno una descrizione, un'immagine o un'azione?: No
- Tipi di azioni della carta consentiti: Postback, Call, URL
- Tipi di azioni dell'elenco di carte consentite: Postback, Call, URL
- Schede verticali
- Lunghezza massima del titolo: 2 righe (circa 80 caratteri)
- Lunghezza massima della descrizione: 25.000 caratteri
- Lunghezza massima dell'etichetta di azione della scheda: 1 riga (circa 50 caratteri)
- Numero massimo di carte: 10
- Numero massimo di azioni carta: 3
- Numero minimo di azioni carta: 0
- Numero massimo di azioni elenco carte: 6
- È richiesta almeno una descrizione, un'immagine o un'azione?: No
- Tipi di azioni della carta consentiti: Postback, Call, URL
- Tipi di azioni dell'elenco di carte consentite: Postback, Call, URL
- Messaggi allegato
- Supportato?: Sì
- Tipi di azioni consentite: Postback, Call, URL
- Pulsanti di azione
- Lunghezza massima dell'etichetta di azione globale: 1 riga (circa 50 caratteri)
- Numero massimo di azioni globali: 6
- Tipi di azioni globali consentite: Postback, Chiamata, URL
Schede adattive in Microsoft Teams
Per le competenze esposte tramite i canali Microsoft Teams in Oracle Digital Assistant, è possibile utilizzare le schede adattive.
A tale scopo, utilizzare l'elemento channelCustomProperties
in un componente Risposta comune e impostare la proprietà type
su "AdaptiveCard"
.
È possibile utilizzare questo elemento nei seguenti livelli del componente:
- A livello di elemento scheda all'interno di un elemento di risposta
cards
. Ciò consente di definire una singola struttura di schede adattive che verrà estratta più volte quando per l'elemento di scheda è stato specificato un valoreiteratorVariable
. - A livello di un elemento di risposta di testo, in genere per creare una singola scheda adattiva. È possibile definire più schede, ma la proprietà
iteratorVariable
non è supportata qui.
Suggerimento
Nell'editor del flusso della finestra di dialogo (sia in modalità Visual che in modalità YAML), è disponibile un modello Microsoft Adaptive Cards contenente metadati di esempio che è possibile adattare alle proprie esigenze.Microsoft Teams non attualmente supporta un giostra con schede adattive. Nei termini dei metadati del componente Risposta comune, ciò significa che la proprietà del layout della scheda viene ignorata. Le carte saranno sempre disposte verticalmente perché il layout orizzontale (carosello) semplicemente non è supportato.
Un secondo limite da considerare è che quando un utente tocca un pulsante incluso nella scheda adattiva, l'etichetta del pulsante non verrà stampata come messaggio utente nella cronologia delle conversazioni. In altre parole, l'utente non riceve una conferma visiva del pulsante selezionato. Ciò può portare a un'esperienza utente incoerente, perché i pulsanti visualizzati con semplici messaggi di testo o i pulsanti visualizzati con le schede componenti Common Response standard (utilizzando la scheda Microsoft Hero) stampano l'etichetta del pulsante.
Esempio: scheda adattiva in elemento risposta schede
Per eliminare più schede, è possibile utilizzare l'elemento iteratorVariable
con l'elemento card
all'interno di un elemento di risposta di tipo schede. Ecco un esempio per utilizzare una scheda adattiva per eliminare più carte pizza:
responseItems:
- type: "cards"
headerText: "Here are our pizzas you can order today:"
cardLayout: "horizontal"
cards:
- title: "${pizzas.name}"
description: "${pizzas.description}"
imageUrl: "${pizzas.image}"
iteratorVariable: "pizzas"
actions:
- label: "Order Now"
type: "postback"
payload:
action: "order"
variables:
orderedPizza: "${pizzas.name}"
orderedPizzaImage: "${pizzas.image}"
channelCustomProperties:
- channel: "msteams"
properties:
adaptiveCard:
type: "AdaptiveCard"
version: "1.0"
fallbackText: "Adaptive card version not supported"
body:
- type: "TextBlock"
text: "${pizzas.name}"
weight: "bolder"
- type: "TextBlock"
text: "${pizzas.description}"
wrap: true
- type: "Image"
url: "${pizzas.image}"
horizontalAlignment: "center"
actions:
- type: "Action.Submit"
title: "Order"
data:
action: "order"
variables:
orderedPizza: "${pizzas.name}"
orderedPizzaImage: "${pizzas.image}"
Esempio: scheda adattiva in elemento risposta testo
È possibile definire una scheda adattiva con un elemento di risposta di testo come indicato di seguito.
responseItems:
- type: "text"
text: "This text is replaced with adaptive card defined in custom property"
footerText: "Is that correct?"
visible:
expression: "${system.channelType=='msteams' && system.entityToResolve.value.name=='Confirmed'}"
channelCustomProperties:
- channel: "msteams"
properties:
adaptiveCard:
type: "AdaptiveCard"
version: '1.0'
fallbackText: "Adaptive card version not supported"
body:
- type: TextBlock
text: 'I have all information needed to create your expense. Just to verify my understanding, here is an overview of your expense:'
wrap: true
- type: FactSet
facts:
- title: Expense Type
value: "${expense.value.Type}"
- title: Amount
value: "${expense.value.Amount.totalCurrency}"
- title: Date
value: "${expense.value.Date.date?number_to_date}"
- title: Receipt URL
value: "${expense.value.Receipt?has_content?then(expense.value.Receipt.url,'N/A')}"
actions:
- type: Action.ShowCard
title: Edit
id: edit
card:
type: AdaptiveCard
version: '1.0'
body:
- type: TextBlock
size: Medium
weight: Bolder
text: Edit Expense
- type: TextBlock
text: Expense Type
weight: Bolder
- type: Input.ChoiceSet
choices:
- title: Metro, bus, train
value: Public transport
- title: Taxi
value: Taxi
- title: Breakfast, lunch, dinner
value: dinner
id: Type
value: "${expense.value.Type!''}"
spacing: None
- type: TextBlock
text: Amount
weight: Bolder
- type: Input.Text
id: amount
spacing: None
value: "${expense.value.Amount?has_content?then(expense.value.Amount.totalCurrency,'')}"
- type: TextBlock
text: Date
weight: Bolder
- type: Input.Date
id: Date
value: "${expense.value.Date?has_content?then(expense.value.Date.date?number_to_date,'')}"
spacing: None
actions:
- type: Action.Submit
title: Submit
id: submit
In questa proprietà personalizzata è inoltre possibile definire più schede adattive. A tale scopo, la proprietà type
deve essere preceduta da un trattino (-
) per indicare una lista YAML anziché una mappa:
channelCustomProperties:
- channel: "msteams"
properties:
adaptiveCard:
- type: AdaptiveCard
body: ...
- type: AdaptiveCard
body: ...
Questo può essere conveniente se è necessario eliminare più carte statiche, ma sarà più comune eliminare più carte utilizzando la proprietà iteratorVariable
.
Azioni di sottomissione
Le schede adattive hanno un'azione di sottomissione (Action.Submit
), che è possibile utilizzare per raccogliere l'input dell'utente e inviarlo alla competenza.
Definire il payload dell'azione nella proprietà data
dell'azione di sottomissione. Se si desidera che la transizione del componente Risposta comune dopo la selezione del pulsante o l'impostazione di alcune variabili, è possibile utilizzare le proprietà action
e variables
standard:
actions:
- type: "Action.Submit"
title: "Order"
data:
action: "order"
variables:
orderedPizza: "${pizzas.name}"
orderedPizzaImage: "${pizzas.image}"
Se si utilizzano campi di input nella scheda, il nome e il valore di questi campi verranno aggiunti come coppie chiave-valore all'oggetto JSON data
. L'esempio precedente con la scheda Modifica spesa include tre campi per modificare il tipo di spesa, l'importo e la data. Quando l'utente tocca il pulsante Sottometti in questo caso, verrà inviato un oggetto JSON simile al seguente:
{
"Type" : "Taxi",
"Amount" : "10.0 dollar"
"Date" : "2019-09-02"
}
Il componente Risposta comune non sa come elaborare queste informazioni, in quanto non segue la struttura del payload comune con le proprietà action
e variables
. Per risolvere questo problema, sono disponibili le opzioni riportate di seguito.
-
Convertire il payload JSON in una stringa, che verrà quindi trovata una corrispondenza per le entità. Se vengono trovate corrispondenze, la variabile impostata con il componente verrà aggiornata con il valore entità o i valori entità corrispondenti (nel caso di un'entità sacchetto composito).
Per configurare questa opzione, aggiungere la proprietà booleana
system.convertToString
alla proprietàdata
dell'azione di sottomissione:actions: - type: Action.Submit title: Submit id: submit data: system.convertToString: true
-
Impostare le variabili di aggiornamento dello skill con lo stesso nome dei campi di input. Nell'esempio precedente, le variabili
"Type"
,"Amount"
e"Date"
verranno aggiornate.Per configurare questa opzione, aggiungere la proprietà booleana
system.setVariables
alla proprietàdata
dell'azione di sottomissione:actions: - type: Action.Submit title: Submit id: submit data: system.setVariables: true
Se non si configura alcuna di queste opzioni, i valori sottomessi verranno semplicemente ignorati.
Quando si utilizza un componente Risposta comune con un'entità bag composta, in genere si utilizza la prima opzione, che popolerà tutte le entità corrispondenti nel bag in base al payload JSON codificato.
Affinché queste azioni di sottomissione funzionino, è necessario impostare la proprietà
processUserMessage
del componente su true
.
Echo Text of Selected Button in scheda adattiva
Quando un utente seleziona un pulsante in una scheda adattiva, la conversazione non viene aggiornata per mostrare che l'utente ha selezionato tale opzione a meno che non si includa un'azione messageBack
per la scheda.
Per impostare un'azione messageBack
, vedere https://docs.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-actions#adaptive-cards-with-messageback-action.
Disabilita pulsanti e campi nelle schede adattive
Sebbene non sia possibile disabilitare tecnicamente pulsanti e campi nelle schede adattive, è possibile creare un effetto simile sostituendo la scheda quando viene richiamata un'azione di sottomissione. A tale scopo, utilizzare la proprietà replaceMessage
booleana specifica di Microsoft Teams nei componenti di Common Response.
Per consentire la restituzione della scheda in questo modo, aggiungere questa proprietà nella sezione channelCustomProperties
del componente di risposta personalizzato:
...
- type: "text"
text: "This text is replaced with the adaptive card defined in custom property"
channelCustomProperties:
- channel: "msteams"
properties:
replaceMessage: "true"
adaptiveCard:
...
È inoltre possibile utilizzare un'espressione FreeMarker Apache per impostare il valore della proprietà.
Suggerimenti per la creazione di definizioni di schede adattive
Lo schema JSON delle schede adattive è relativamente complesso con molti costrutti diversi supportati. Pertanto, è soggetto a errori quando si tenta di definire il contenuto della scheda adattiva a mano direttamente all'interno di un componente Respone comune. È possibile utilizzare il seguente processo per creare le schede adattive:
- Con gli strumenti visivi disponibili in Progettazione schede adattive di Microsoft, creare la definizione della scheda adattiva.
- Fare clic su Copia JSON scheda per ottenere la definizione in formato JSON.
- Utilizzare un convertitore in linea, ad esempio https://jsonformatter.org/json-to-yaml, per convertire la definizione in YAML.
- Copiare il risultato in un editor di testo e inserire l'indentazione necessaria per la posizione in cui verrà visualizzato nella definizione del flusso della finestra di dialogo.
- Incollare il testo risultante nel flusso della finestra di dialogo.
Per rimanere aggiornati sulla versione delle schede adattive supportate dai team, vedere https://docs.microsoft.com/en-us/adaptive-cards/resources/partners. È possibile visitare il sito Web all'indirizzo https://adaptivecards.io/explorer/ per un elenco di tutti gli elementi e le proprietà e della versione introdotta.
Tieni presente che il designer di schede adattive non controlla la combinazione degli elementi utilizzati e il numero di versione delle schede adattive. Ad esempio, l'elemento ActionSet
è stato introdotto nella versione 1.2, ma il designer non presenta l'aggiunta di questo elemento, anche se è stato specificato 1.0 come numero di versione nel designer.
Se si desidera utilizzare le azioni con la versione 1.0, è possibile utilizzare la proprietà actions
separata sotto la proprietà body
. Questo elemento actions
non può essere aggiunto utilizzando il visual designer, quindi è necessario farlo a mano.
Disabilitare il messaggio di benvenuto per un assistente digitale
Quando un utente si connette a un assistente digitale tramite un canale di Microsoft Teams, viene inviato un messaggio interno all'assistente digitale per avviare una conversazione. Per impostazione predefinita, tale messaggio è la parola "aiuto", che quindi attiva l'intento del sistema help
dell'assistente digitale, che porta alla visualizzazione di un messaggio di benvenuto e di schede per le competenze dell'assistente digitale.
Per disabilitare questo funzionamento, modificare la proprietà Internal Welcome Message
in un valore diverso da "help". È possibile modificare il valore di tale proprietà nel bundle di risorse dell'assistente digitale.
Per modificare il messaggio interno impostato sull'assistente digitale quando l'utente si connette a un team, canale:
- Fare clic su
per aprire il menu laterale, selezionare Sviluppo > Assistenti digitali e aprire l'assistente digitale.
- Nella navigazione a sinistra dell'assistente digitale, fare clic su
e selezionare la scheda Configurazione.
- Nel campo Filtro, digitare
internal
per limitare rapidamente l'elenco delle chiavi bundle di risorse. - Selezionare la chiave Other - internalWelcomeMessage.
- Spostare il mouse sul valore del tasto e selezionare l'icona
visualizzata.
- Sostituire il valore con quello che si desidera utilizzare e fare clic su Aggiorna voce.
Se l'assistente digitale si trova in una versione della piattaforma precedente alla 21.04, le chiavi del bundle di risorse non vengono definite automaticamente per le proprietà di configurazione. In tal caso, potrebbe essere sufficiente aggiornare il valore della proprietà nella pagina Impostazioni degli assistenti digitali (che è possibile aprire facendo clic su

Abilita il messaggio di benvenuto per uno skill
Per impostazione predefinita, quando un utente si connette direttamente a una competenza autonoma tramite un canale di Microsoft Teams, non viene inviato alcun messaggio di benvenuto all'utente. Tuttavia, se si configura la proprietà Stato di benvenuto dello skill, lo skill utilizzerà tale stato per visualizzare un messaggio quando l'utente si connette.
- Fare clic su
per aprire il menu laterale, selezionare Sviluppo > Competenze e aprire lo skill.
- Nella navigazione a sinistra dello skill, fare clic su
e selezionare la scheda Assistente digitale.
- Nel campo Stato di benvenuto immettere il nome dello stato in cui si desidera visualizzare il messaggio di benvenuto.
L'utilizzo della proprietà Stato di benvenuto in questo modo per una competenza standalone funziona solo per i canali di Microsoft Teams. Per altri canali, questa proprietà viene ignorata nelle competenze autonome.