Skip to content

[NOWEB] - Support forwarding extendedTextMessage fields (sourceUrl, thumbnailUrl, originalImageUrl) to Chatwoot #1381

@Alex123465489

Description

@Alex123465489

Describe the bug

When WAHA receives forwarded messages with link preview or ads, they arrive as an extendedTextMessage.

Inside this object, there are useful fields (sourceUrl, thumbnailUrl, originalImageUrl) that are not currently forwarded to Chatwoot.

This causes Chatwoot to only display the plain text of the message, while the link preview (URL, title, image) is lost.

Version
{
"version": "2025.9.4",
"engine": "noweb",
"tier": "plus"
}

Steps

To Reproduce

Send a WhatsApp message containing a link preview or an Ads message.

WAHA receives it as an extendedTextMessage.

WAHA forwards the event to Chatwoot.

In Chatwoot only the plain text is displayed, without enriched link or image.

Expected behavior

WAHA should forward at least:

sourceUrl as an additional field in the message.

thumbnailUrl or originalImageUrl as an attachment.

That way, Chatwoot would display the enriched link (title + image), not just plain text.

Requests - Responses

Example of WAHA payload (shortened to relevant fields):

{
"id": "evt_01k5eree7re6xxakba5z5049t0",
"session": "Publicidad",
"event": "message",
"payload": {
"id": "[email protected]_ACD5B7882C8B3FE953149C9A621DD6B9",
"timestamp": 1758210761,
"from": "[email protected]",
"fromMe": false,
"source": "app",
"body": "¡Hola! 👋 Quisiera más detalles de Acceso Total",
"hasMedia": false,
"media": null,
"ack": 2,
"ackName": "DEVICE",
"replyTo": null,
"_data": {
"key": {
"remoteJid": "[email protected]",
"fromMe": false,
"id": "ACD5B7882C8B3FE953149C9A621DD6B9",
"senderLid": "60125465280755@lid"
},
"messageTimestamp": 1758210761,
"pushName": "Andhs",
"broadcast": false,
"message": {
"extendedTextMessage": {
"text": "Test",
"description": "Test",
"title": "Test",
"previewType": "Test",
"jpegThumbnail": "/9j/4AAQSkZJRgABAQAAAQABAAD...",
"contextInfo": {
"conversionSource": "FB_Ads",
"conversionData": "Test",
"conversionDelaySeconds": 15,
"externalAdReply": {
"title": "Solicita Acceso con Descuento",
"body": "Test",
"mediaType": "IMAGE",
"thumbnailUrl": "https://scontent.xx.fbcdn.net/v/t45.1600-4/472808532_120214527238070194_2481423930235296698_n.png?stp=c3.3.300.300a_dst-png_p306x306&_nc_cat=109&ccb=1-7&_nc_sid=e37a05&_nc_ohc=xCXW68Z1liQQ7kNvwFxgqr1&_nc_oc=Adm3DtTL2iqGozG7WXE-cvVQxpaFhfkYnnAGp4TlTzAqkM0o-GN5lYkyO1mDotePwlOvrsC65vrfLeTkpyMtYmL2&_nc_ad=z-m&_nc_cid=0&_nc_zt=1&_nc_ht=scontent.xx&_nc_gid=Wm4dULSs93il8xfG9KBPOg&oh=00_AfZldWjzh3JgoJk3qVq_yrG9nd7GVladolIluu_VKZ5Ckg&oe=68D1E8A2",
"thumbnail": "iVBORw0KGgoAAAANSUhEUgAAADIAAA...",
"sourceType": "ad",
"sourceId": "120214527428520194",
"sourceUrl": "https://fb.me/2V9xgwJEB",
"containsAutoReply": false,
"renderLargerThumbnail": true,
"showAdAttribution": true,
"ctwaClid": "Aff2vETHqIOCPhHvtLv-a1_PwEG8Kv6d_qz6zNNcmSXuyV0uHknAKeqeSFQ1WjL55dfkIDBiAZeNs3j_yo2nSiWsY_hPJ0ZT5RtJ7PIe3FDRHAE_20iSelS4ykfpGNX59dAnLrn_TA",
"clickToWhatsappCall": true,
"adContextPreviewDismissed": false,
"sourceApp": "facebook",
"automatedGreetingMessageShown": true,
"greetingMessageBody": "¡Hola! ¿quieres Acceso Total?",
"disableNudge": false,
"originalImageUrl": "https://www.facebook.com/ads/image/?d=AQKfowY07Svamldwm39as_3WoIV2s6VFkJEpOGXfbWhJBJU6xe0tqz0ldQ4xXwdb8TSnpAcHQeX7McW-Uz_O8BGtA7wrMRZ3vTVvCjzm8GrVPCufNNBqCTip1R1VZIHkj1BUcqEYj5lRnnkDlD77f1pP",
"wtwaAdFormat": false
},
"entryPointConversionSource": "ctwa_ad",
"entryPointConversionApp": "facebook",
"entryPointConversionDelaySeconds": 13,
"trustBannerAction": 4294967295,
"ctwaSignals": "all,all",
"ctwaPayload": "QWZmZjRPSG1ZUjhTc1dWd25XVDFjampwQXhVdGlkelVVck90Vy1pTTQ1d2thLXdRN05qb2tCUzhoc3hxQzdzU2JUemlqM1ItMEc0cU9XeEdVc3hzTU1TMDR3clNuUHh4b0ozcnpIanRjRTVtMXNvWTEzNkd3S2xjdzNvSGh6QktUNWJ2TTVqV0Y5c2UwZmdiVWV4TkJndHNNWnhJYzBZa29JSjh3Y2ZmdFpncUlPMkZBRVYyTkE5ZTlOaEJsdkhEVkZZczdBVURtZGpueU1qSV9IWVZnTzYzbmx6TkRpV2xMRHpHUnJXRkx5TmMxb0NaU2dlbEwtdkRzYjIyaElWc0lEVlYtY2YtRVNLanFCczNSeTZDemNsTTM2Z2NoamJRWW5FaXhEYWNPWmpoNmNIZ0RCa2pDRTFwajhfQ0xnTVpDeXRDTzI0MEdaTG1BSDdNcmRoOFdKN1RaNzlIbVVHV0dMdTVTUzFIQjJ5Wjg5blN5d1k="
},
"inviteLinkGroupTypeV2": "DEFAULT"
},
"messageContextInfo": {
"deviceListMetadata": {
"senderTimestamp": "1756855652",
"recipientKeyHash": "FgwKaaiKb/W9aQ==",
"recipientTimestamp": "1758168733"
},
"deviceListMetadataVersion": 2,
"messageSecret": "A10Jpxh+PEuT9XVDhFuKvKBeawOCUxnyhw0hFZ6+Jes="
}
},
"status": 3
}
},
"timestamp": 1758210767096,
"metadata": {},
"me": {
"id": "[email protected]",
"pushName": "Academia Digital Global",
"lid": "59417131229429:35@lid"
},
"engine": "NOWEB",
"environment": {
"version": "2025.9.4",
"engine": "NOWEB",
"tier": "PLUS",
"browser": null
}
}

Currently only text is forwarded, the other fields are ignored.

Image

If this works for you, I propose we handle it this way.

Image

patron:PLUS

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions