Configurar o Microsoft 365 para o seu ambiente
Há duas maneiras de conectar o Microsoft 365 ao seu ambiente AI-School. Primeiro, escolha qual caminho se adequa à sua organização.
| Caminho | Quando | O que você faz |
|---|---|---|
| App central da AI-School (padrão) | Conexões pessoais com Outlook Mail, Outlook Agenda, Teams e SharePoint/OneDrive. | Um administrador do Entra concede consentimento organizacional via Conectar Microsoft 365. Depois, você libera as integrações conforme o passo 5 deste artigo. Não é necessária uma app própria, client secret ou Identity Provider. |
| App própria do Entra | Você quer importar pastas do SharePoint centralmente para a base de conhecimento, os funcionários já fazem login com Microsoft por meio de uma app própria, ou você quer gerenciar a app por conta própria. | Siga este artigo a partir do passo 1. |
Se a sua organização já faz login com Microsoft por meio de uma app própria (o campo Microsoft ID do ambiente está preenchido), então todas as conexões usarão essa app própria. Nesse caso, o caminho central não se aplica.
App própria do Entra
Com uma app própria do Microsoft Entra, sua organização pode usar a mesma app para entrar com Microsoft e para Outlook, Teams e SharePoint. Você define centralmente quais integrações e ações de gravação ficam disponíveis. Depois, os usuários apenas ativam ou desativam suas conexões pessoais em Preferências → Tools → Conexões.
As integrações pessoais funcionam com modelos compatíveis da OpenAI, Claude, Gemini e Mistral. O modelo escolhido precisa poder usar tools. Em conexões pessoais, o acesso segue as permissões do usuário Microsoft autenticado. O consentimento organizacional não autentica automaticamente todos os funcionários nem dá à IA acesso autônomo a todas as caixas de correio. A base de conhecimento central do SharePoint usa permissões de app separadas e as permissões existentes da base de conhecimento, conforme descrito mais adiante neste artigo.
O que você precisa?
- Uma organização Microsoft 365 com Microsoft Entra ID e contas com acesso aos serviços desejados.
- Um administrador que possa registrar uma app e conceder consentimento organizacional para as permissões escolhidas do Microsoft Graph. Somente uma função de assinatura Azure não é suficiente para isso; sua função do Entra precisa permitir esse consentimento.
- Permissões de administrador no ambiente AI correto para disponibilizar as integrações.
- Um administrador de plataforma que possa configurar o Microsoft Identity Provider para este ambiente AI no Google Cloud Identity Platform.
- Um app registration no seu próprio diretório Microsoft, com um client secret e as duas URLs de redirecionamento da marca correta.
Entrar com Microsoft e acessar dados do Microsoft são duas funções separadas. Ter apenas um login Microsoft funcional ainda não significa que Outlook, Teams ou SharePoint estejam configurados.
1. Registre uma única app da organização
Abra o centro de administração do Microsoft Entra e vá para App registrations → New registration. Use um nome reconhecível, por exemplo AI-School – nome da sua organização. Para uma organização própria, escolha Accounts in this organizational directory only (Single tenant).
Guarde os seguintes dados de Overview:
| Dado | Para quê? |
|---|---|
| Directory (tenant) ID | O diretório Microsoft da sua organização; isso vai no campo Microsoft ID do ambiente AI. |
| Application (client) ID | A app registrada; isso vai no Microsoft Identity Provider. |
Esses dois IDs são diferentes. Em Microsoft ID, não informe o client ID nem o Firebase tenant ID.
2. Configure as URLs de redirecionamento corretas
Vá para Authentication → Add a platform → Web. Adicione para a sua marca ambas as URLs abaixo, exatamente como exibidas. A primeira processa o login; a segunda processa o consentimento para as integrações da conta de trabalho.
| Marca | Entrar com Microsoft | Integrações da conta de trabalho |
|---|---|---|
| AI-School | https://ai-school-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-school-pro.cloudfunctions.net/completeConnectorOAuth |
| AI-Corporate | https://ai-corporate.firebaseapp.com/__/auth/handler | https://europe-west1-ai-corporate.cloudfunctions.net/completeConnectorOAuth |
| AI-Public | https://ai-public-pro.firebaseapp.com/__/auth/handler | https://europe-west1-ai-public-pro.cloudfunctions.net/completeConnectorOAuth |
Use as URLs da marca em que seu ambiente está operando. O nome da sua organização ou o tenant ID não precisam ser inseridos nessas URLs. A URL do site, a URL do painel e a URL .web.app não substituem esses callbacks. Registre-as como Web, mesmo que use a integração a partir de um navegador. Você não precisa ativar emissão implícita de token nem fluxo de public client para isso.
3. Crie um client secret e atribua permissões
Vá para Certificates & secrets → Client secrets → New client secret. Escolha um prazo adequado e guarde o Value com segurança assim que ele ficar visível. Envie o valor pelo canal seguro combinado para gestão de plataforma; o Secret ID não é o client secret. Controle a data de expiração e substitua o secret antes dessa data, inclusive no Identity Provider.
Em seguida, vá para API permissions → Add a permission → Microsoft Graph → Delegated permissions. Adicione apenas as permissões para as integrações e ações que sua organização vai oferecer.
| Integração | Permissões de leitura | Permissões extras para gravação |
|---|---|---|
| Perfil / básico | User.Read; o fluxo de login também solicita openid, profile, email e offline_access | Nenhuma |
| Outlook Mail | Mail.Read | Rascunhos: Mail.ReadWrite. Enviar: Mail.Send. |
| Outlook Agenda | Calendars.Read | Gravação: Calendars.ReadWrite. |
| Microsoft Teams | Chat.Read, ChannelMessage.Read.All | Publicar: Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send. |
| SharePoint / OneDrive | Sites.Read.All, Files.Read.All | Esta integração de conta de trabalho não oferece ações de gravação aqui. |
Mail.ReadWrite não concede permissão de envio; para isso, Mail.Send é necessário separadamente. A publicação no Teams escreve mensagens de texto em um canal escolhido, não mensagens de chat privado. Para essa integração, use Delegated permissions, não Application permissions. Mesmo nas permissões com All no nome, o acesso delegado continua limitado pelo acesso do usuário.
Clique em Grant admin consent for sua organização e verifique se as permissões escolhidas aparecem como concedidas. Assim, os funcionários podem usar o acesso aprovado sem precisar conceder permissões organizacionais por conta própria. O Microsoft ainda pode solicitar login, MFA ou novo consentimento, dependendo da sua política.
4. Conecte a app em dois lugares ao ambiente AI
Peça ao administrador de plataforma para selecionar o ambiente correto e executar estas configurações:
- Em Admin → Ambiente → Tenant: ative o método de login Microsoft e, em Microsoft ID, insira o Directory (tenant) ID.
- Em Google Cloud → Identity Platform → o tenant correspondente → Identity providers → Microsoft: ative o provedor e insira o Application (client) ID e o client secret Value da mesma app do Entra.
O Identity Provider pertence ao tenant Firebase/Identity Platform do seu ambiente AI, não a outra organização nem ao ambiente Admin geral. A integração de conta de trabalho usa novamente a app desse provedor. O client secret não deve ser colocado em preferências do usuário, mensagens de chat ou campos normais de ambiente.
Informe à gestão de plataforma o nome da organização, a marca, o Directory ID, o client ID, o valor do secret pelo canal seguro, a data de expiração e as integrações/permissões desejadas. Um app ID sozinho não basta.
5. Liberte as integrações e ações de gravação
Abra o ambiente de gestão da sua organização → Tools → MCP. Em Atalhos da suíte, ative a integração Microsoft 365. As linhas do Microsoft ficarão visíveis; quando a suíte inteira estiver desligada, essas linhas permanecerão ocultas.
Escolha por integração se ela deve ficar disponível. Na coluna Ações de gravação, escolha separadamente:
- Outlook Mail → Rascunhos: criar e editar rascunhos.
- Outlook Mail → Enviar: enviar de fato um rascunho existente.
- Outlook Agenda → Gravação: criar e editar compromissos.
- Microsoft Teams → Publicar: colocar mensagens de texto em um canal do Teams escolhido.
Clique em Salvar. Uma ação de gravação só funciona se tanto a integração quanto a permissão de gerenciamento correspondente estiverem ativadas, se o Microsoft tiver concedido as permissões necessárias e se o usuário tiver ativado a conexão pessoalmente. O usuário não recebe um formulário extra de permissões de gravação para isso.
As configurações também precisam ser suportadas pelo backend da sua marca. Esta extensão de gravação foi publicada e testada em 7 de outubro de 2026 para o OnderwijsSupport no AI-Corporate. Isso não significa automaticamente que a mesma extensão já tenha sido liberada para AI-School, AI-Public ou qualquer outro ambiente. Peça confirmação à gestão de plataforma quando as ações de gravação estiverem ausentes.
6. Verifique a configuração
Peça a um usuário para entrar no ambiente AI correto e ativar a integração desejada conforme Usar integrações Microsoft. Verifique se o Microsoft mostra o nome da sua própria app do Entra.
Teste primeiro um rascunho reconhecível e um compromisso sem participantes. Verifique os itens salvos no Outlook. Em seguida, teste o envio com um destinatário de teste combinado e a publicação no Teams em um canal de teste combinado. Um compromisso com participantes pode enviar convites ou atualizações. Uma solicitação de envio aceita ainda não é uma entrega confirmada.
Ao ampliar permissões, a conexão tenta renovar tokens. Se o Microsoft exigir novo login ou consentimento, peça ao usuário para reconectar a conexão existente. Não é necessário criar uma segunda app nem uma configuração de usuário separada.
Solução de problemas
| Problema | Verificação |
|---|---|
AADSTS50011 / incompatibilidade de redirect | Ambos os callbacks registrados exatamente como Web, para a marca correta. |
| Aparece outro nome de app durante o consentimento | O ambiente AI correto, o Directory ID e o Microsoft Identity Provider específico do tenant; depois reconecte. |
| O login funciona, mas a integração não | Verifique também o callback do connector, as permissões Graph e o consentimento organizacional. |
| Ler funciona, gravar não | Verifique a permissão de gestão, a permissão Graph delegada correspondente, o consentimento concedido e a disponibilidade do backend. |
| Client secret inválido ou expirado | O Value, não o Secret ID; atualize o novo secret também no Identity Provider. |
| A integração não aparece para o usuário | Verifique a disponibilidade em Tools, as permissões do usuário para conexões e o ambiente AI selecionado. |
Mais informações
- Gerenciar Tools
- Usar integrações Microsoft
- Microsoft: registrar uma app
- Microsoft: URLs de redirecionamento
- Microsoft Graph: referência de permissões
Base de conhecimento central do SharePoint: configurar Microsoft
Uma pasta conectada centralmente funciona por meio da app da organização, sem que cada funcionário ative uma conexão pessoal do SharePoint. Para isso, são necessários dois consentimentos separados: uma permissão de aplicativo com admin consent, e um grant read exatamente na pasta (ou na site) que a app pode ler. Um login Microsoft funcional ou apenas admin consent ainda não dá acesso.
Há dois métodos. Escolha um método por pasta conectada; o ambiente AI nunca recorre automaticamente ao outro.
| Grant de pasta (recomendado) | Grant de site | |
|---|---|---|
| Permissão de aplicativo | Files.SelectedOperations.Selected | Sites.Selected |
| Grant em | A pasta escolhida em uma biblioteca de documentos | A site inteira |
| O que a app pode ler | Esta pasta e as subpastas que herdam o grant | Todas as bibliotecas e pastas da site |
| Estrutura existente do SharePoint | Permanece; não é necessária uma site separada | De preferência uma site separada para conhecimento compartilhado |
| Consequência no SharePoint | A herança de permissões da pasta é interrompida (veja abaixo) | Nenhuma consequência para a herança |
1. Verifique a app da organização
Use o mesmo app registration de tenant único usado para o login Microsoft no seu ambiente AI. Uma app existente pode ser ampliada; não é necessária uma segunda app de integração. Verifique em Microsoft Entra → App registrations → sua app → Overview o Directory (tenant) ID e o Application (client) ID. Use o client ID abaixo, não o Object ID.
O Directory ID deve estar em Admin → Ambiente → Tenant → Microsoft ID. O client ID e o Value de um client secret válido devem estar no Microsoft Identity Provider exatamente desse ambiente AI. Essa configuração é mantida pela gestão de plataforma. Um secret expirado também impede a importação central; controle a data de validade e substitua o secret a tempo.
A conexão central do servidor usa client_credentials e não solicita URL de redirecionamento adicional. Os redirects Web existentes para login e integrações pessoais de conta de trabalho continuam necessários; use as URLs específicas da marca da tabela anterior deste artigo.
2. Adicione a permissão de aplicativo e conceda admin consent
- Abra API permissions → Add a permission → Microsoft Graph → Application permissions.
- Procure Files.SelectedOperations.Selected (grant de pasta) ou Sites.Selected (grant de site), selecione a permissão e clique em Add permissions.
- Peça a um administrador Entra autorizado para executar Grant admin consent for sua organização.
- Verifique se a permissão, tipo Application, aparece como concedida.
A app da base de conhecimento precisa apenas de permissões de leitura. Não atribua a ela a permissão de aplicativo Sites.Read.All, Files.Read.All, Sites.ReadWrite.All, Files.ReadWrite.All ou Sites.FullControl.All. Permissões tão amplas dão acesso fora da pasta escolhida e mascaram um grant de pasta ausente ou revogado. Se você escolher o grant de pasta, remova também um Sites.Selected adicionado anteriormente e o grant de site correspondente, para que o grant de pasta seja o único limite. A lista de fontes no AI-School avisa quando a app tem essas permissões adicionais.
As permissões delegadas para conexões pessoais de Outlook, Teams e SharePoint podem permanecer na mesma app. Elas não substituem a permissão de aplicativo para a base de conhecimento central.
3. Conceda à app acesso de leitura à pasta ou ao site
Essa ação de gestão pode ser feita com o Microsoft Graph Explorer. Use uma conta de administrador no mesmo diretório Microsoft, com função SharePoint Administrator ou outra função de administração adequada e acesso à site correspondente. Uma função de assinatura Azure ou apenas a posse da app não são suficientes para isso.
- Entre no Graph Explorer com a conta de administrador e confirme a organização exibida.
- Abra seu menu de perfil → Consent to permissions, procure Sites.FullControl.All e escolha Consent. Esta é uma permissão administrativa delegated para o Graph Explorer gerenciar grants; não a adicione como permissão de aplicativo na app da base de conhecimento. Use consentimento vinculado à conta quando o consentimento organizacional para todos os usuários não for necessário.
- Encontre o drive ID e o item ID da pasta. Assim que a URL da pasta é preenchida, o formulário de conexão do AI-School mostra a consulta GET pronta. Você também pode montá-la por conta própria: codifique a URL da pasta como base64url (sem
=no final) e coloqueu!na frente.
GET https://graph.microsoft.com/v1.0/shares/u!GECODEERDE-MAP-URL/driveItem?$select=id,name,webUrl,parentReference
Na resposta, id é o item ID da pasta e parentReference.driveId é o drive ID da biblioteca (começa com b!). Verifique name e webUrl: esta deve ser a pasta que você quer compartilhar. Se a consulta de compartilhamento não funcionar, use a biblioteca e o caminho:
GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite:/drives?$select=id,name,webUrl
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/root:/Pad/Naar/Map?$select=id,name,webUrl
- Primeiro, verifique os grants existentes na pasta. Se o seu client ID já aparecer com a função
read, você não precisa criar um segundo grant.
GET https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions
- Se o grant não existir, escolha POST no mesmo endereço e preencha em Request Body o JSON abaixo.
CLIENT-ID-VAN-UW-APPé o Application (client) ID da sua app de integração, não a app do Graph Explorer. Use exclusivamente a funçãoread.
{
"roles": ["read"],
"grantedToV2": {
"application": {
"id": "CLIENT-ID-VAN-UW-APP"
}
}
}
- Escolha Run query. Uma adição bem-sucedida retorna 201 Created. Verifique no retorno a função
reade o client ID e guarde o permission ID (id) para verificação ou revogação futura. - Repita isso apenas para cada outra pasta que você queira conectar conscientemente. Cada pasta conectada tem seu próprio grant.
A Microsoft interrompe a herança de permissões na pasta em que você aplica um grant de aplicativo. As permissões de usuário existentes da pasta são copiadas nesse momento, mas alterações posteriores nas permissões da site ou da biblioteca superior deixam de valer automaticamente para esta pasta. Por isso, depois de conceder o grant, verifique as permissões de usuário da pasta e passe a gerenciá-las na própria pasta. Leve em conta o limite da Microsoft para permissões exclusivas por biblioteca. Não volte a pasta para permissões herdadas: com isso, o grant da app também desaparece.
Subpastas e arquivos com permissões próprias. Subpastas e arquivos que herdam as permissões da pasta escolhida estão cobertos pelo grant. Se uma subpasta ou um arquivo tiver permissões próprias (herança interrompida) sem a app, a app não consegue lê-lo. O AI-School ignora essa subpasta por completo e informa a quantidade na lista de fontes; documentos importados anteriormente dela são retirados. Uma pasta vizinha ou outra biblioteca nunca pode ser lida.
Grant de site (alternativa)
Se você usa Sites.Selected, encontre o ID da site com GET https://graph.microsoft.com/v1.0/sites/uworganisatie.sharepoint.com:/sites/uwsite?$select=id,displayName,webUrl, verifique os grants existentes com GET .../sites/SITE-ID/permissions e, se necessário, adicione o grant com POST no mesmo endereço:
{
"roles": ["read"],
"grantedToIdentities": [
{
"application": {
"id": "CLIENT-ID-VAN-UW-APP",
"displayName": "NAAM-VAN-UW-INTEGRATIE-APP"
}
}
]
}
Um grant de site dá à app acesso de leitura à site inteira. O AI-School importa apenas a pasta escolhida, mas esse filtro não é um limite de autorização da Microsoft.
4. Conecte a pasta e verifique o resultado
Abra Gerenciar → Base de conhecimento → Adicionar → Pastas do SharePoint → Conectar pasta. Preencha a URL real da pasta, da barra de endereços da biblioteca ou do OneDrive (não um link de convite), e, em Acesso Microsoft da aplicação da organização, escolha a permissão de pasta (grant de pasta) ou a permissão de site (grant de site). Para um grant de pasta, preencha o drive ID e o item ID da etapa 3. O AI-School então lê apenas essa pasta e verifica se a URL da pasta corresponde aos IDs; se houver diferença, a conexão é recusada. Uma pasta no OneDrive for Business também pode ser conectada, mas ela pertence a um único funcionário: se esse funcionário sair, a pasta desaparece e, com ela, a fonte de conhecimento. Para conhecimento duradouro, prefira usar um site do SharePoint. Escolha escopo, público-alvo e status de publicação conforme o manual da base de conhecimento.
Verifique com Atualizar se os documentos foram processados sem erros. Use Sincronizar agora para uma nova verificação e, em seguida, faça uma pergunta concreta no chat sobre um documento importado. Confirme que a resposta menciona a fonte de conhecimento central correta.
O grant determina qual pasta a app pode ler. Quais usuários recebem os documentos importados é determinado pelos direitos da base de conhecimento no AI-School (escola, público-alvo, departamentos). Permissões individuais do SharePoint não são herdadas. Por isso, conecte conteúdo restrito de uma seção ou equipe apenas com um público-alvo da base de conhecimento igualmente restrito.
5. Revogar o grant
Remova o grant com DELETE em https://graph.microsoft.com/v1.0/drives/DRIVE-ID/items/MAP-ID/permissions/PERMISSION-ID (grant de site: .../sites/SITE-ID/permissions/PERMISSION-ID). Revogar o admin consent bloqueia a app para todos os grants de uma vez.
Na verificação seguinte, o AI-School deixa de ter acesso à pasta. Todos os documentos dessa fonte deixam então de ser disponibilizados, inclusive nas respostas do chat, e a lista de fontes mostra que a Microsoft recusa o acesso. Isso não acontece imediatamente: a verificação automática é executada a cada 15 minutos para no máximo 20 fontes por rodada; com mais fontes, portanto, demora mais. Use Sincronizar agora ou Desligar para um efeito imediato. O mesmo vale para uma pasta movida ou excluída.
| Problema | Verificação no lado Microsoft |
|---|---|
| O login funciona, mas a pasta central não | A permissão de aplicativo deve ser do tipo Application e ter admin consent; além disso, verifique o grant separado na pasta ou na site. |
| "A Microsoft recusa o acesso à pasta" | Diretório Microsoft correto, drive ID, ID da pasta, client ID e grant read; a pasta foi movida, excluída ou voltou a herdar permissões? |
| Conexão recusada embora o grant exista | A URL da pasta não corresponde aos IDs preenchidos. Copie novamente a URL a partir da biblioteca e verifique webUrl na resposta do Graph. |
| Aviso sobre permissões adicionais | Remova permissões de aplicativo amplas e, com um grant de pasta, Sites.Selected junto com o grant de site. |
| Subpastas ignoradas | Essas subpastas têm permissões próprias sem a app. Faça com que herdem as permissões ou conceda conscientemente um grant read próprio. |
403 na ação administrativa no Graph Explorer | Sites.FullControl.All delegado, consentimento concedido, função de administrador e acesso à site. Não adicione permissão ampla à app de integração como solução. |
| "A aplicação da organização não conseguiu iniciar sessão na Microsoft" | Peça à gestão de plataforma para atualizar o novo secret Value no Microsoft Identity Provider correto; verifique o admin consent. |
Para o OnderwijsSupport no AI-Corporate, a conexão central com grant de site foi publicada e testada em 14 de outubro de 2026. O grant de pasta fica disponível assim que a versão correspondente for publicada. A disponibilidade no AI-School, AI-Public ou em outro ambiente deve ser confirmada pela gestão de plataforma.
Documentação Microsoft: Selected permissions, adicionar um grant em uma pasta, codificar uma URL de compartilhamento e adicionar um grant de site.