VolundOS

Fila de mensagens por conversa

Mandar mensagem com o agente ocupado é recusado por padrão, mas dá para enfileirar de forma explícita: ela é enviada automaticamente quando ele terminar.

Atualizado em 28 de setembro de 2026

Fila de mensagens por conversa

Recusa e fila não são contraditórias

Mandar mensagem enquanto o agente trabalha: a plataforma recusa ou enfileira? As duas coisas — e não é contradição. Enviar uma mensagem nova durante uma execução em andamento é recusado por padrão, sem gravar nada; enfileirar é uma ação explícita e opcional, disponível pelo botão "Enfileirar" na conversa ou por um caminho programático.

A mensagem só é gravada depois que a conversa garante o turno para ela — isso evita que duas tentativas concorrentes de enviar a mesma mensagem (aba antiga reaberta, duplo envio, atraso de rede) gravem a mensagem duas vezes, ou deixem no histórico uma mensagem que nunca seria processada.

Camada funcional

Quando o agente está ocupado, dá para deixar a próxima mensagem na fila. Ela é enviada automaticamente quando ele terminar, por padrão na ordem em que entrou. Enquanto espera, o item pode ser editado, cancelado ou reordenado.

Reordenar manualmente (27/09/2026). O leque da fila aceita arrastar um item para outra posição (mouse ou touch) ou usar as setas do teclado (↑/↓) com o item selecionado; a nova ordem é gravada na hora. Se a fila muda no meio do arraste (um item saiu, uma mensagem nova chegou), o soltar confere a fila de agora, não a de quando o arraste começou — se o item arrastado não está mais onde estava, nada é gravado e aparece um aviso de que a fila mudou.

Quem pode enfileirar

Pelo painel, o caminho é o botão na conversa. Programaticamente, também dá para enfileirar por API, por delegação entre agentes ou por gatilho — sempre como escolha explícita de quem chama; o enfileiramento em si não verifica se a conversa está ocupada.

Como o despacho funciona

O próximo item da fila é despachado assim que a conversa termina o turno atual, e também logo depois de um novo enfileiramento, caso a conversa já esteja livre nesse momento.

  1. Só age se a conversa estiver livre. A fila fica congelada enquanto a conversa está trabalhando, esperando aprovação ou esperando uma credencial — mensagem enfileirada não atropela uma aprovação pendente.
  2. Pega o item pendente do topo — por padrão o mais antigo (chegada), mas a pessoa pode ter reordenado a fila manualmente antes do despacho (ver acima); a posição gravada é o que vale, não necessariamente a ordem de chegada.
  3. Reserva a conversa e o item num passo só, para que duas tentativas de despacho ao mesmo tempo nunca rodem o mesmo item nem processem duas mensagens de uma vez.
  4. Grava a mensagem do usuário e dispara a execução pelo mesmo caminho de uma mensagem enviada normalmente pela conversa.

Ao terminar essa execução, o próximo item da fila é despachado da mesma forma — a fila se encadeia sozinha, sem depender de um processo dedicado rodando em segundo plano.

Capacidades preservadas

A mensagem enfileirada roda com o mesmo conjunto de ferramentas que teria se fosse enviada na hora: a fila preserva as capacidades do canal original (painel, delegação entre agentes, gatilho ou API). Sem isso, enfileirar mudaria silenciosamente o que o agente pode fazer.

Onde fazer isso

  • Ver os itens pendentes na fila de uma conversa: painel e API.
  • Enfileirar uma mensagem: botão "Enfileirar" no painel, ou API.
  • Editar o texto de um item ainda pendente: painel e API.
  • Cancelar um item pendente: painel e API.
  • Reordenar a fila: arrastar ou usar as setas do teclado no leque do painel (27/09/2026).

Cada item guardado na fila registra a conversa, o agente, o conteúdo da mensagem, os anexos, quem a enfileirou, de onde veio o pedido, o status e a posição na fila.

Rodapé de uma conversa com o agente trabalhando: uma mensagem na fila logo acima do campo de escrita, com o texto do que vai ser enviado e o X que cancela o item

Limites e modos de falha conhecidos

  • Mensagem vazia é rejeitada: sem texto e sem anexo não entra na fila.
  • Corrida com o despacho na edição: se o item for despachado exatamente no meio de uma tentativa de editá-lo, a edição não encontra mais o item para atualizar. Editar um item da fila é uma janela de oportunidade, não uma garantia.
  • Só funciona no motor de execução atual. Um agente ainda no motor de execução anterior deixa o item na fila sem despachar.
  • A fila ficar congelada enquanto a conversa espera uma aprovação ou uma credencial é comportamento desejado — mas também significa que um pedido de aprovação esquecido trava a fila inteira daquela conversa.
  • A ordem que você definir arrastando fica guardada, e o desempate entre itens é a ordem de chegada.

On this page