Blog / Product

File attachments: send images, PDFs, and videos from the chat widget

Bubblegram chat widget showing a file attachment being sent alongside a message

Photo by Ingmar

Customers share screenshots to show you what’s broken. They send receipts, invoices, and ID scans. Until now, they had to email those separately. Attachments bring files into the conversation directly, both in the chat widget and via the email channel.

What’s supported

Images (JPEG, PNG, WebP, GIF, HEIC), PDFs, and videos (MP4, WebM, MOV), with per-type size limits:

  • Images: 5 MB
  • PDFs: 15 MB
  • Videos: 20 MB

Oversized files are caught before upload.

How files move

Files go to cloud storage (Cloudflare R2), not through the Telegram API. The widget gets back a signed token for access. The message in Telegram shows the image inline or as a document/video attachment, so operators see it without leaving the app.

Two-way, both channels

Operators can send files back from the Telegram topic. In the widget, images render inline, PDFs as a downloadable chip, videos with a native player. All delivered in real time via WebSocket.

The email channel works the same way. Inbound email attachments land in the Telegram topic. When you reply with a file, it arrives in the customer’s inbox as a normal email attachment.

HEIC images from iPhones are converted to JPEG server-side in an isolated worker, so operators always see a standard format.

Security

Uploads are validated server-side: content-based type detection, dimension limits against decompression attacks, and filename sanitization. File URLs use short-lived HMAC-signed tokens, so they are not guessable and expire automatically. Nothing the client sends is trusted.

Enabling attachments

Available on Starter and Pro plans. Enable in the Widget tab in your dashboard. No code changes needed.


Attachments are live now. New here? See how to set up Telegram for customer support to get started.

Reply from Telegram.
Skip the dashboard.

Most support tools are overkill. Bubblegram routes messages to Telegram and gets out of the way.

Start for free