Pular para o conteúdo

Ciclo de Vida

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:

  1. A reunião termina: quando o organizador encerra ou todos os participantes humanos saem
  2. 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:

EtapaEventoVisível no Dashboard
Reunião agendadameeting_scheduledSim
Bot entrou na reuniãomeeting_joinedSim
Bot saiu da reuniãomeeting_leftSim
Transcrição entreguemeeting_transcriptionSim
Erro em qualquer etapameeting_errorSim