-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Description
📋 Bug Description
Since the recent updates (around late September, likely starting with v2.3.4), the context of a "quoted message" or "reply" is no longer being correctly passed to Chatwoot. This functionality was working perfectly before. The Evolution API correctly receives the quoted message data from WhatsApp, but this information is lost by the time it's processed in Chatwoot, resulting in in_reply_to being null.
This breaks any downstream automation (like in N8N) that relies on conversational context.
🔄 Steps to Reproduce
Have an active instance of Evolution API integrated with a Chatwoot API Channel inbox.
Send a message from a WhatsApp account to the number connected to the instance.
Use the "Reply" feature in WhatsApp to quote the previous message and send a new one.
Observe the incoming message in Chatwoot's logs and the webhook payload it forwards.
✅ Expected Behavior
Chatwoot should correctly parse the quoted message information from the Evolution API webhook. The in_reply_to field in Chatwoot's data should contain the ID of the original message, and this context should be passed on via webhooks.
❌ Actual Behavior
- Evolution API receives the data correctly:
This payload from Evolution API shows that the quotedMessage object is present and contains the correct information about the original message.

- Chatwoot fails to process this data:
This log from the Chatwoot server shows the parameters it processed for the same message. As you can see, in_reply_to is null, indicating the context was lost.
🌍 Environment
Evolution API Version: Problem started after updating to the latest versions (likely v2.3.4 and newer).
Integrations: Chatwoot, N8N.
📋 Logs
EVO APi:
{
"key": {... },
"message": {
"conversation": "Mejor este"
},
"contextInfo": {
"mentionedJid":,
"groupMentions":,
"stanzaId": "...",
"participant": "...",
"quotedMessage": {
"conversation": "Técnico en Cuidado de Manos y Pies"
}
},
...
}
CHATWOOT:
Parameters: {"content"=>"Mejor este", "message_type"=>"incoming", "private"=>"", "source_id"=>"...", "content_attributes"=>"{\"in_reply_to\":null,\"in_reply_to_external_id\":\"...\"}", "account_id"=>"...", "conversation_id"=>"17"}📝 Additional Context
This is a critical regression as it breaks the core logic of conversational bots that need to understand the context of a user's reply. Without this information, the bot cannot function as intended.