We handle legal discovery requests via the Genesys Cloud email channel. Legal teams frequently send emails with inline screenshots embedded directly in the email body (not as attachments). When an agent receives the email and the interaction is visible in the agent desktop, the inline images display correctly.
The problem occurs when the agent transfers the email interaction to a different queue for specialist handling. After the transfer, the receiving agent sees the email body text but all inline images are replaced with broken image icons. The images are completely gone - not even downloadable.
This is a significant issue for our legal discovery workflow because the inline images are often annotated screenshots that are critical evidence. Losing them during an internal transfer defeats the purpose of using email for this process.
I have verified:
- Original email has images as inline base64 or CID-referenced attachments
- First agent sees images correctly
- After queue transfer, images are stripped
- Regular file attachments (PDFs, Word docs) survive the transfer fine
- This happens on both Chrome and Edge browsers
Is there a configuration setting that controls whether inline image data is preserved during email transfers?
Known issue. Email interactions in GC store the email body and attachments separately. Inline images using CID references (Content-ID) are technically attachments linked to the HTML body via cid: URIs. When the interaction transfers between queues, the email body HTML is re-rendered for the new participant, but the CID attachment references are not re-linked.
There is no configuration to fix this - it is a platform limitation in the email rendering engine.
Workaround: before transferring, have the first agent download the email as .eml using the GET /api/v2/conversations/emails/{conversationId}/messages/{messageId} endpoint with Accept: message/rfc822 header. Save the .eml file and attach it to the conversation as a regular attachment before transferring. The .eml file preserves all inline images and the receiving agent can open it in any email client.
Automate this with a Script that adds a “Preserve Email” button to the agent desktop. The button calls a Data Action that downloads the .eml and re-attaches it.
This is particularly problematic for regulated industries. From a compliance perspective, if inline images containing sensitive information are silently dropped during internal transfers, there is a chain-of-custody gap in the communication record.
The .eml preservation approach mentioned above is the correct tactical fix. For a strategic fix, I would recommend routing all legal discovery emails to a single dedicated queue with no transfer capability. If specialist input is needed, use the consultation feature (internal messaging between agents) rather than transferring the email interaction itself. This keeps the original email interaction with its inline images intact on the original agent’s screen.
Additionally, configure email recording retention policies to retain the raw MIME source of every inbound email. The raw MIME data preserved in the recording includes all inline images regardless of what happens to the interaction during routing. Go to Admin > Quality > Recording Policies and create an email-specific policy with the “Retain original email source” option enabled.
The consultation approach is the cleanest solution. But if your workflow absolutely requires transferring the email interaction, there is a Terraform-based workaround.
Configure the destination queue with a custom Script that includes an onActivate event handler. The handler calls the conversations API to fetch the full message with attachments and re-renders the inline images in an iframe within the Script panel:
scriptLifecycleEvent.onActivate = function(conversationId) {
fetch(`/api/v2/conversations/emails/${conversationId}/messages`, {
headers: { 'Authorization': `Bearer ${token}` }
})
.then(r => r.json())
.then(data => {
const latestMessage = data.entities[0];
document.getElementById('emailPreview').srcdoc = latestMessage.htmlBody;
});
};
The htmlBody field from the API includes the base64-encoded inline images even after transfer - they are only stripped from the agent desktop rendering, not from the API response. So the Script panel shows the complete email with images while the standard email panel shows the broken version.
Hacky, but it works until Genesys fixes the rendering engine.