Funcionamento
O ciclo de vida de uma reunião no Prodgy Assistant segue 7 etapas:
1. Detecção
O bot monitora a caixa de email e detecta o convite.
2. Validação
Verifica o remetente e resolve o webhook de destino.
3. Agendamento
A reunião é adicionada a fila com deduplicação automática.
4. Entrada
O bot entra na reunião 15 segundos antes do horário.
5. Transcrição
Captura o audio e transcreve em tempo real.
6. Saída
O bot sai quando a reunião termina ou fica vazia.
7. Entrega
A transcrição é enviada via webhook e registrada no histórico.
Quando você encaminha um convite de reunião do Teams para o email do bot:
- O bot verifica a caixa de email periodicamente (a cada poucos minutos)
- Ao encontrar uma nova mensagem, identifica se contém um convite de reunião válido
- Extrai automaticamente a URL da reunião, data/horário e duração
- Se o convite for de uma reunião recorrente, identifica todas as próximas ocorrências
Após detectar o convite, o bot precisa validar quem o enviou:
- Identifica o remetente: em emails encaminhados, o bot identifica quem realmente encaminhou (não o organizador original)
- Verifica o cadastro: confirma que o remetente está registrado no Prodgy
- Resolve o workspace: determina para qual produto a transcrição deve ser enviada
- Localiza o webhook: encontra a URL de destino configurada no workspace
Se alguma dessas validações falhar (usuário não cadastrado, produto sem agente ativo, webhook não configurado), o agendamento e rejeitado.
Com o convite validado, a reunião é adicionada a fila de agendamento:
- O sistema verifica se a reunião já não está agendada (deduplicação por URL e horário)
- Se outro usuário já encaminhou o mesmo convite, o novo webhook e adicionado a reunião existente
- A reunião é persistida para garantir que sobreviva a reinicializações do serviço
- Um registro no histórico é criado com o status
meeting_scheduled
No horário programado:
- O bot entra na reunião 15 segundos antes do início
- Antes de entrar, re-válida todos os usuários que solicitaram a transcrição
- Se um usuário foi desativado desde o agendamento, ele é removido da lista de destinatários
- Em caso de falha na conexão, o bot tenta novamente automaticamente (ate 3 tentativas)
Durante a reunião:
- O bot captura o audio de todos os participantes
- O audio e transcrito em segmentos, associados ao nome de cada participante
- O idioma é detectado automaticamente a partir do áudio, ou pode ser forçado via
{{lang:xx}} no email
- O bot permanece na reunião silenciosamente, sem interferir na conversa
O bot sai da reunião automaticamente em duas situações:
- A reunião termina: quando o organizador encerra ou todos os participantes humanos saem
- Tempo de espera excedido: se o bot entra e nenhum participante humano aparece dentro do tempo configurado
Após sair da reunião:
- A transcrição completa (com segmentos e participantes) e montada em um payload
- O payload é enviado via webhook para cada usuário que solicitou a transcrição
- Se a entrega falhar, o sistema tenta novamente automaticamente
- Um backup local da transcrição é salvo como segurança
Cada etapa do ciclo de vida gera um registro no histórico da plataforma:
| Etapa | Evento | Visível no Dashboard |
|---|
| Reunião agendada | meeting_scheduled | Sim |
| Bot entrou na reunião | meeting_joined | Sim |
| Bot saiu da reunião | meeting_left | Sim |
| Transcrição entregue | meeting_transcription | Sim |
| Erro em qualquer etapa | meeting_error | Sim |