Attachments in Webhook: Breaking Changes in v2.14 | Community
Skip to main content

Attachments in Webhook: Breaking Changes in v2.14

  • May 11, 2026
  • 2 replies
  • 194 views

Andrii Fedyk
Forum|alt.badge.img+1

I noticed a regression in conversation webhooks. The regression effects messages with embedded images.

Previously, in version of API 2.14 , embedded image in a message (e.g. paste screenshot from clipboard) was send as in webhook as an embeedded `IMG` in conversation part’s body. 

After releasing 2.15, the behaivor of v2.14 also has changed. The embedded image(-s) are available both in `body` and `attachments`. As a result, users receive a duplicated images in replies. 

Is there a way to restore the previous behaivour for v2.14 and not include an embedded images in `attachments`?

 

Example of conversation part from webhook payload (v.2.14):

{
"type": "conversation_part",
"id": "45209530418",
"part_type": "assignment",
"body": "<p class=\"no-margin\">Image test<br>​</p>\n<div class=\"intercom-container\"><img src=\"https://downloads.intercomcdn.com/i/o/l4e36xhv/2373221822/cdc43c786608e690132109617c4e/image.png?expires=1778501700&signature=2421a4a292d391e9aebc6774a680aeba0ffea2f4173ab1c765abb8366a183eb4&amp;req=diMgFct8nIldW%2FMW1HO4zfhXyxPzadtgEXJRN0L%2Fc0Q0ZAy6HfKXEEDM0SYx%0A5erV%0A\"></div><div class=\"intercom-container\"><img src=\"https://downloads.intercomcdn.com/i/o/l4e36xhv/2373222621/05006764ef30050a65b8d10a93ca/image.png?expires=1778501700&amp;signature=6eee8dbb5e00bd12bd5ebfe31774aad22b659b50fbac9416425de4545bbded3c&amp;req=diMgFct8n4ddWPMW1HO4zYu%2F%2B6qTcV2ZwG9nkFXENH1L2kGhNeS2GZB9Tyj8%0Au6IG%0A\"></div><p class=\"no-margin\"><br>​</p>",
"created_at": 1778499743,
"updated_at": 1778499743,
"notified_at": 1778499743,
"assigned_to": {
"type": "admin",
"id": "6827948"
},
"author": {
"id": "6827948",
"type": "admin",
"name": "ABD",
"email": "admin@example.com"
},
"attachments": [
{
"type": "upload",
"name": "image.png",
"url": "https://workspace.intercom-attachments-1.com/i/o/l4e36xhv/2373221822/cdc43c786608e690132109617c4e/image.png?expires=1778501700&signature=2421a4a292d391e9aebc6774a680aeba0ffea2f4173ab1c765abb8366a183eb4&req=diMgFct8nIldW%2FMW1HO4zfhXyxPzadtgEXJRP1%2F3S1PhzmdyL%2F2XX%2FU%3D%0A",
"content_type": "image/png",
"filesize": 45675,
"width": "850",
"height": "328"
},
{
"type": "upload",
"name": "image.png",
"url": "https://workspace.intercom-attachments-1.com/i/o/l4e36xhv/2373222621/05006764ef30050a65b8d10a93ca/image.png?expires=1778501700&signature=6eee8dbb5e00bd12bd5ebfe31774aad22b659b50fbac9416425de4545bbded3c&req=diMgFct8n4ddWPMW1HO4zYu%2F%2B6qTcV2ZwG9nmEjMDGroiV%2BFSy7BuZo%3D%0A",
"content_type": "image/png",
"filesize": 69766,
"width": "862",
"height": "444"
}
]
}

 

2 replies

Forum|alt.badge.img+6

Hi ​@Andrii Fedyk, Seán here from the Fin technical support team 👋

At the moment, this is the expected behaviour moving forward for conversation webhooks. Embedded images can appear both in the conversation part body and in attachments, and there isn’t currently a way to revert v2.14 to the previous behaviour where embedded images were only included as IMG tags in the body.

For now, the best workaround is to de-duplicate images in your webhook consumer logic. In practice, that usually means checking whether an image attachment is already represented in the part body and skipping it if so, to avoid rendering the same image twice.

I appreciate that this is a change from what you were previously seeing, especially if your integration was relying on the older payload shape. Let me know if there is anything I can help with in regards to this!


Andrii Fedyk
Forum|alt.badge.img+1
  • Author
  • Active User
  • June 9, 2026

@Sean Meade Forum Support Lead , thanks for explaining. The de-duplicate process is best way to solve the regression.

Unfortunately, the process of matching of duplicates is not trivial due to different urls in `IMG` and attachments.

Below the example of payload for “inline” image. The IMG image is hosted from downloads.intercomcdn.com and attachment from ...intercom-attachments-1.com (both links open the same image). Unification of URLs would definitely simplify the matching.

{
    "body": "<div class=\"intercom-container\"><img src=\"https://downloads.intercomcdn.com/i/o/l4e36xhv/2465924436/cd607ca2f4e753a29e5e50a1a1ff/image.png?expires=1781029800&amp;signature=c9e7270de30a31adcea70c5c17750101e781b0d5297f62636d6df7c47cd1c862&amp;req=diQhE8B8mYVcX%2FMW1HO4zZzM9DhFjcVubmFEoflkWBWWAEnZJMJYL71GyhbQ%0AvM9%2B%0A\"></div>",
    "attachments": [
        {
            "type": "upload",
            "name": "image.png",
            "url": "https://fedyk-sp-z-o-o-dev.intercom-attachments-1.com/i/o/l4e36xhv/2465924436/cd607ca2f4e753a29e5e50a1a1ff/image.png?expires=1781029800&signature=c9e7270de30a31adcea70c5c17750101e781b0d5297f62636d6df7c47cd1c862&req=diQhE8B8mYVcX%2FMW1HO4zZzM9DhFjcVubmFEqeRsYAJXcKGUYAUUVak%3D%0A",
            "content_type": "image/png",
            "filesize": 20379,
            "width": "588",
            "height": "198"
        }
    ]
}