Microsoft Teams

Coloque um agente do Pepe dentro do Microsoft Teams para sua equipe conversar com ele sem sair de lá.

Microsoft Teams

Conectar o Teams deixa sua equipe falar com o agente no mesmo lugar onde ela já trabalha. O Teams conversa com bots pelo Bot Framework da Microsoft, e você configura essa conexão pela configuração guiada (ou pelo painel):

pepe setup

O config de uma conexão guarda:

As atividades chegam como POSTs de entrada, e as respostas voltam para a URL de serviço daquela atividade, usando um token de acesso de app gerado a partir das credenciais de cliente. A menção ao bot é removida do texto antes mesmo de o agente vê-lo. O formato da URL de retorno é:

https://YOUR_HOST/webhooks/default/msteams/<slug>

Autenticação de entrada

Antes de deixar o agente ver qualquer coisa, o Pepe confirma que a requisição realmente veio da Microsoft: cada requisição chega com um token do Bot Framework em Authorization: Bearer, e o Pepe o valida conferindo a assinatura contra as chaves públicas da Microsoft, o emissor, e uma audiência que precisa bater com o app_id do bot. Com isso o endpoint aceita POSTs direto da Microsoft, sem precisar de um proxy validando nada no meio do caminho. Se o seu proxy já faz essa checagem, defina trust_proxy: true na conexão para pular a do Pepe.

Os campos que toda conexão compartilha (agent, mode, trainers, session_ttl_min, ephemeral, commands) e como a rota genérica funciona por trás estão em Webhooks.

Trocando de modelo

Os comandos /model e /models deixam as pessoas conferirem ou trocarem qual modelo de IA está respondendo. Só funcionam numa conexão em modo admin com commands habilitado; no modo support, viram texto comum e nada mais. /models lista os modelos disponíveis para o projeto dessa conexão; /model mostra o modelo atual, ou troca:

/model openrouter               # pergunta se troca só esse chat ou todo mundo
/model openrouter session       # troca só para esta conversa
/model openrouter global        # troca para todo mundo com quem essa conexão fala

Qualquer pessoa numa conversa permitida pode trocar o modelo da própria conversa. Já trocar globalmente, para todos com quem essa conexão fala, fica reservado aos treinadores, a mesma lista de confiança que controla a memória. Defina model_switch_locked: true na conexão para desligar de vez a troca de modelo por quem não é treinador.