Per iniziare
Installazione
- Vai su Settings > Integrations e seleziona Microsoft Teams
- Fai clic su “Connect”
- Ti verrà richiesto di installare l’app Devin per Microsoft Teams nel tuo tenant e/o nel Team di destinazione
- Assicurati di collegare il tuo account personale. Tutti gli utenti della tua organizzazione dovranno completare questo passaggio per usare Devin
- Menziona
@Devinin un canale o in una chat di Teams per avviare una sessione
Nota: perché Devin funzioni per ciascun utente, ogni persona deve collegare il proprio account nella dashboard di Devin (Settings > Integrations). Questo consente a Devin di associare l’identità Microsoft Teams di ciascun utente al relativo account Devin.
Come usare Devin da Microsoft Teams
@Devin in qualsiasi canale del team.
Devin risponderà nel thread della tua sessione. Puoi interagire come nella normale interfaccia di chat di Devin.
Tieni presente che Devin potrebbe commettere errori. Verifica sempre attentamente le risposte.
Parole chiave e funzioni inline per Teams
| Parola chiave | Funzione |
|---|---|
!ask | Inizia il tuo messaggio con !ask per ottenere rapidamente una risposta sul codebase senza avviare un agente completo |
!deep | Ottieni una risposta più approfondita usando la ricerca avanzata |
mute | Impedisce a Devin di vedere i messaggi successivi nel thread |
unmute | Annulla l’azione precedente |
(aside), !aside | Fa sì che Devin ignori il messaggio (utile per commenti sull’esecuzione di Devin direttamente nel thread) |
sleep | Mette Devin in sospensione; per riattivare Devin, invia un qualsiasi messaggio nel thread |
archive | Mette Devin in sospensione e archivia la sessione |
EXIT | Termina la sessione |
help | Mostra un messaggio di aiuto con le parole chiave e le funzioni disponibili |
Prezzi
Privacy
Flusso di autenticazione
Dettagli sulle autorizzazioni
In sintesi
- Graph (Application, a livello di tenant): orchestrazione della individuazione e dell’installazione.
- Teams bot RSC (per Team/Chat): accesso con ambito limitato a messaggi/membri/impostazioni solo nei Team o nelle chat in cui il bot è installato o presente.
Autorizzazioni applicative Microsoft Graph a livello di tenant
| Permission | Cosa consente | Perché è necessaria |
|---|---|---|
Organization.Read.All | Leggere il profilo di base dell’organizzazione | Validare il tenant in cui l’app viene installata |
User.ReadBasic.All | Leggere i profili di base di tutti gli utenti | Mappare le identità dei membri e risolvere le menzioni nei team collegati |
AppCatalog.Read.All | Leggere il catalogo delle app di Teams | Trovare la nostra app e recuperare il teamsAppId richiesto per l’installazione |
TeamsAppInstallation.ReadWriteAndConsentSelfForTeam.All | Installare/disinstallare la nostra app; concedere RSC all’app | Installare/rimuovere il bot in un team selezionato dalla dashboard di Devin |
Nota: non utilizziamo Graph a livello di tenant per leggere il contenuto dei messaggi. L’accesso ai messaggi è concesso solo tramite RSC e solo dove il bot è installato/presente.
Autorizzazioni RSC (Resource-Specific Consent) del bot per Teams
| Permission | Scope | Cosa consente | Perché è necessaria |
|---|---|---|---|
ChannelMessage.Read.Group | Team/Channel | Leggere i messaggi nei canali in cui l’app è installata | Elaborare le conversazioni nei canali (riepiloghi, trigger, sincronizzazione) |
ChannelMessage.Send.Group | Team/Channel | Inviare messaggi nei canali (nuovi post e risposte in thread) in cui l’app è installata | Rispondere ai messaggi nei thread dei canali e pubblicare in modo proattivo aggiornamenti nei canali |
Member.Read.Group | Team/Channel | Leggere i membri del team | Mappare le identità, eseguire controlli di autorizzazione, instradare le menzioni |
TeamSettings.Read.Group | Team/Channel | Leggere le impostazioni del team | Rispettare i criteri a livello di team e adattare il comportamento |
ChatMember.Read.Chat | Chat | Leggere i partecipanti alla chat | Rivolgersi/rispondere correttamente e supportare i registri di audit |
ChatMessage.Read.Chat | Chat | Leggere i messaggi nelle chat in cui il bot partecipa | Elaborare i prompt, il contesto e le interazioni successive |
ChatMessage.Send.Chat | Chat | Inviare messaggi in chat 1:1 e di gruppo (DM) in cui il bot partecipa; non per i canali | Rispondere agli utenti nei DM e nelle chat di gruppo, pubblicare notifiche e risposte interattive nei thread di chat |
ChatSettings.Read.Chat | Chat | Leggere le impostazioni della chat (es. moderazione) | Allineare il comportamento ai criteri della chat (limiti di invio, chi può pubblicare, ecc.) |
Vincoli RSC: l’accesso è limitato allo specifico team/chat in cui l’app è installata o partecipa. La rimozione dell’app da un team/chat revoca tale accesso.
Esempio: Autenticazione basata su certificato per la scoperta dei team
Nota sulle credenziali: utilizziamo un certificato X.509 (asserzione client) invece di un client secret per l’autenticazione tra servizi. Questo vale per le chiamate a Microsoft Graph, le comunicazioni del bot con il Bot Framework adapter e qualsiasi chiamata API app-only effettuata dall’integrazione.
Flusso completo di elaborazione dei messaggi (Teams → Cognition)
Nota sulle credenziali: utilizziamo un certificato X.509 (client assertion) al posto di un client secret per l’autenticazione tra servizi (service-to-service). Questo vale per le chiamate a Microsoft Graph, per le comunicazioni del bot con il Bot Framework adapter e per qualsiasi chiamata API app-only effettuata dall’integrazione.
Flusso di consenso e installazione
- Consenso dell’amministratore (a livello di tenant)
- Un amministratore Entra ID concede le autorizzazioni dell’applicazione Graph elencate sopra.
- Individuazione dell’app
- L’integrazione esegue query sul catalogo delle app di Teams per individuare la nostra app e recuperare
teamsAppId.
- L’integrazione esegue query sul catalogo delle app di Teams per individuare la nostra app e recuperare
- Installazione mirata
- Dal nostro dashboard, installiamo il bot in un team specifico.
- Durante l’installazione, gli ambiti RSC vengono concessi solo a quel team (o alla specifica chat quando il bot viene utilizzato in una chat).
- Funzionamento
- L’individuazione (organizzazione/team/canali/catalogo app) utilizza le autorizzazioni dell’applicazione Graph.
- La lettura/l’invio dei messaggi e la lettura di membri/impostazioni si basano su RSC all’interno dei contesti in cui il bot è installato.
Note sul principio dei privilegi minimi
- Solo lettori di base:
User.ReadBasic.All(nessuna lettura dei messaggi a livello di tenant). - Il contenuto dei messaggi è accessibile esclusivamente tramite RSC e solo dove il bot è installato/presente.
- Non vengono richieste autorizzazioni per caselle di posta, file o calendari.
Revoca e disinstallazione
- Revoca del consenso dell’amministratore: un amministratore del tenant può rimuovere le autorizzazioni dell’app come applicazione aziendale in Entra ID.
- Disinstallazione da Teams: rimuovi l’app da un team/chat per revocare l’RSC per quella risorsa.
- Gestione dei dati: al momento della disinstallazione, la nostra integrazione smette di elaborare eventi per quel team/chat e rimuove le sottoscrizioni/collegamenti correlati.
