Skip to content

Como pausar o Typebot em conversas iniciadas diretamente pelo Chatwoot sem sessão ativa? #2536

@lzacarao

Description

@lzacarao

Welcome!

  • Yes, I have searched for similar requests on GitHub and found none.

What type of feature?

Integration

What is the motivation for the request?

Contexto

Fiz a montagem de um fluxo de atendimento utilizando as seguintes integrações:

  • API Oficial WhatsApp
  • Evolution API v2.3.7
  • Typebot v3.0.1
  • Chatwoot v4.1.0
  • n8n v1.121.1

Fluxo atual

  1. A API Oficial comunica com a Evolution API
  2. A Evolution está integrada com o Typebot e Chatwoot
  3. O Typebot realiza todo o atendimento automatizado
  4. Quando necessário atendimento humano, um webhook via n8n cria o atendimento no Chatwoot
  5. Durante o atendimento humano, a sessão do Typebot é pausada corretamente na Evolution
  6. Após finalizar o atendimento, a sessão é encerrada normalmente

Todo esse fluxo funciona corretamente quando a conversa é iniciada pelo Typebot.


Problema

O problema acontece quando preciso iniciar manualmente uma conversa pelo Chatwoot com um cliente que nunca interagiu anteriormente com o bot.

Nesse cenário:

  • não existe sessão ativa do Typebot na Evolution;
  • não consigo pausar o chatbot;
  • o bot continua respondendo durante o atendimento humano no Chatwoot.

Pelo que consegui identificar, o mecanismo de pause depende de uma sessão previamente criada pelo Typebot.


O que tentei

Testei iniciar manualmente um Typebot utilizando:

{{baseUrl}}/typebot/start/{{instance}}

Também tentei alterar o status da sessão utilizando:

{{baseUrl}}/typebot/changeStatus/{{instance}}

Mesmo assim, não consegui criar um estado de pause funcional para conversas iniciadas diretamente pelo Chatwoot.


Comportamento esperado / Solicitação de melhoria

Seria muito útil existir uma forma de:

  • criar uma sessão manualmente antes da primeira interação;
  • forçar o pause de um contato/conversa sem depender de uma sessão anterior;
  • desabilitar temporariamente o Typebot para conversas iniciadas externamente;
  • controlar o handoff humano independentemente da criação automática de sessão.

Isso ajudaria bastante ambientes híbridos de atendimento, onde agentes precisam iniciar conversas ativamente pelo Chatwoot sem interferência do bot.


Dúvida

Existe atualmente alguma abordagem recomendada para esse cenário?

Caso alguém já tenha resolvido esse fluxo, agradeço qualquer direcionamento, exemplo ou referência de documentação.

Usage Examples

Cenário de exemplo

Um atendente inicia uma conversa ativa diretamente pelo Chatwoot com um cliente.

Como esse cliente nunca interagiu anteriormente com o Typebot:

  • não existe sessão ativa do Typebot;
  • o chatbot não pode ser pausado;
  • as respostas automáticas interferem no atendimento humano.

Fluxo esperado:

  1. O atendente inicia a conversa pelo Chatwoot
  2. A Evolution cria automaticamente ou reserva uma sessão pausada
  3. O Typebot permanece desabilitado durante o atendimento humano
  4. Após finalizar o atendimento, a conversa pode opcionalmente retornar ao modo automatizado

How should the feature be developed?

Possíveis ideias de implementação

  • Permitir pausar um contato sem exigir uma sessão ativa do Typebot
  • Criar um endpoint dedicado para forçar estado de pause por número/contato
  • Criar automaticamente uma sessão temporária quando a conversa for iniciada externamente
  • Adicionar um "modo de atendimento manual" integrado ao Chatwoot

Exemplo possível:

POST /typebot/pause/{instance}
{
  "number": "5511999999999",
  "source": "chatwoot"
}

Isso ajudaria integrações externas a controlarem o comportamento do bot independentemente da criação automática de sessões do Typebot.

Additional Notes

Posso ter deixado passar alguma abordagem já existente na documentação.

Caso esse fluxo já seja suportado atualmente, agradeço qualquer direcionamento, exemplo ou boas práticas para tratar conversas iniciadas manualmente pelo Chatwoot em ambientes híbridos de atendimento humano + automação.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions