Skip to main content

Channel Capabilities & Limits

Every messaging channel behaves a little differently: WhatsApp supports rich templates and interactive lists, Instagram takes plain text and quick replies, SMS is text only. This page is the side-by-side reference for what each channel can do and where its limits are, so you can design a message once and know how it lands everywhere.

The values here come straight from the platform capability matrix the API enforces — the same data returned by GET /channels/{id}/capabilities. If the API disagrees with this page, the API wins; please flag it so we can fix the docs.

Send once, deliver everywhere

You don't have to special-case every channel yourself. When a message exceeds a channel's text limit, SendSeven automatically splits it into multiple ordered messages rather than failing the send. Unsupported rich features degrade gracefully. Use this page to design for the channels you care about — and to understand why a message came through as two bubbles on one channel and one on another.

RCS is in beta

RCS (Rich Communication Services) is currently available to selected customers in Germany and will roll out more widely soon. Its rows below reflect the RCS Business Messaging standard — these capabilities are not yet part of the platform capability matrix the endpoint enforces, so treat them as a preview until RCS reaches general availability.

Legend: ✅ supported · ❌ not supported · — not applicable

Message types

What kinds of content each channel can deliver.

CapabilityWhatsAppTelegramMessengerInstagramEmailLive ChatSMSRCSBrowser Push
Text
Images
Video✅ ¹
Audio
Documents❌ ²
Stickers
Location
Contact card
Reactions

¹ Email embeds video as a link/thumbnail, not inline playback. ² Messenger rejects document attachments at the platform level, so SendSeven blocks them before sending.

Interactive elements

Buttons, lists, carousels, quick replies, and templates.

CapabilityWhatsAppTelegramMessengerInstagramEmailLive ChatSMSRCSBrowser Push
Interactive buttons✅ (max 3)✅ (max 8)✅ (max 3)✅ (max 5)✅ (max 11) ⁵✅ (max 2)
Button styleReply buttons + URL/call (via templates)Inline keyboardReply / URL / postbackReply buttonsSuggested actions (URL / dial / location)Action buttons
Interactive lists✅ (10 sections × 10 rows)
Carousels✅ (max 10 cards, template)✅ (max 10 cards)✅ (max 10 cards)
Quick replies✅ (max 13)✅ (max 13)✅ (max 10)✅ (max 11) ⁵
Templates

⁵ RCS combines suggested replies and suggested actions into a single set of up to 11 suggestions per message — the button and quick-reply limits share that budget.

WhatsApp buttons vs. templates

Inside the 24-hour window, WhatsApp interactive reply buttons (max 3) and lists work in free-form messages. URL and call buttons, and any message sent outside the 24-hour window, must go through an approved template. See WhatsApp templates.

Text length & media captions

Providers reject an over-length send outright, so SendSeven enforces these caps and auto-splits longer content into multiple ordered messages (for example, a long AI-assistant reply). The max_text_length and max_media_caption_length values are also returned by the capabilities endpoint so your UI can warn users in advance.

ChannelMax text lengthMedia + caption behavior
WhatsApp4,096Image/video/document sent with a combined caption (max 1,024 chars). Longer captions split into follow-up messages.
Telegram4,096Media with a combined caption (max 1,024 chars). Longer captions split into follow-up messages.
Messenger2,000Media and text are separate messages — the caption is sent as its own message after the media.
Instagram1,000Media and text are separate messages — the caption is sent as its own message after the media.
EmailNo enforced capFull HTML body; media embeds inline or as attachments.
Live ChatNo enforced capMedia and text in the same bubble.
SMSNo hard split ³Text only — no media.
RCS3,072Media sent in a rich card with a title + description; longer text splits into follow-up messages.
Browser PushTruncated ⁴Image supported; long text is truncated by the browser, not split.

³ SMS providers auto-concatenate long messages into billed segments, so SendSeven does not split SMS — the composer shows segment count/cost instead. ⁴ Browser push notifications are truncated by the browser's own display limit rather than split into multiple notifications.

Attachment file types & size limits

Each channel accepts a different set of file types and enforces its own maximum size per category (image / video / audio / document). SendSeven validates every attachment against these rules before sending, so you get a clear, upfront error instead of a silent provider failure. These values are returned live by GET /channels/{id}/file-support so you can validate on the client side before uploading — that endpoint is the source of truth if a number here ever drifts.

Sizes are the maximum per file. Where a channel accepts more formats than fit in the table, the most common ones are shown — call the file-support endpoint for the complete extension allowlist.

ChannelImagesVideoAudioDocumentsStickers
WhatsApp5 MB — JPEG, PNG16 MB — MP4, 3GP ⁶16 MB — AAC, AMR, MP3, M4A, OGG, OPUS100 MB — PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, TXT.webp — 100 KB static / 500 KB animated
Telegram10 MB — JPEG, PNG, GIF, WEBP, BMP, TIFF, SVG, HEIC50 MB — MP4, MOV, MKV, WEBM, AVI, and more50 MB — MP3, AAC, OGG, OPUS, WAV, FLAC, M4A50 MB — virtually any file type512 KB — .webp, .tgs
Messenger25 MB — JPEG, PNG, GIF25 MB — MP425 MB — MP3❌ Not supported ⁷
Instagram8 MB — JPEG, PNG, GIF100 MB — MP4❌ Not supported❌ Not supported
Email25 MB ⁸25 MB ⁸25 MB ⁸25 MB ⁸ — all common types
Live Chat50 MB50 MB50 MB50 MB — all common types
SMS / MMS1 MB — JPEG, PNG, GIF ⁹❌ Not supported❌ Not supported❌ Not supported
RCS100 MB — JPEG, PNG, GIF ¹⁰100 MB — MP4, WEBM, 3GP ¹⁰100 MB ¹⁰100 MB — PDF only ¹⁰
Browser Push✅ Supported ¹¹❌ Not supported❌ Not supported❌ Not supported

⁶ WhatsApp requires video to be H.264 video + AAC audio; other codecs may be rejected by the platform even when the container (MP4/3GP) and size are within limits. This is Meta's requirement, not enforced by SendSeven. ⁷ Messenger rejects document attachments (including PDFs) at the platform level, so SendSeven blocks them before sending. This is a Meta limitation. ⁸ The 25 MB figure is the per-attachment cap SendSeven applies. Your email provider may enforce a lower total message size (headers + body + all attachments combined) — a common industry limit is ~25 MB total, so keep the whole message under that to be safe. ⁹ SMS itself is text only; images are delivered as MMS where supported. Documents, audio, and video are not available on SMS/MMS. ¹⁰ RCS is in beta (see the note at the top of this page) and its media limits are not part of the platform capability matrix the endpoint enforces. The 100 MB figures are Google's RBM platform caps; individual carriers may enforce lower limits, and a file a carrier drops surfaces as an undeliverable event rather than a send error, so keep RCS media small in practice. ¹¹ Browser push supports a small icon plus one hero image. There is no size limit enforced by SendSeven — each browser applies its own display and size limits, and oversized or slow-loading images may simply be dropped by the browser.

WhatsApp stickers

Stickers must be .webp: up to 100 KB for a static sticker and 500 KB for an animated one, at 512×512 pixels (Meta's requirements). If you are sending a sticker larger than the static 100 KB cap, make sure it is a genuine animated .webp so it is validated against the higher animated limit.

Validate before you upload

Rather than hard-coding these numbers, call GET /channels/{id}/file-support for a channel and use the returned categories map (extensions + max size per category) to check a file client-side. That way your integration stays correct automatically if a channel's limits change.

Delivery rules

The main rule that trips people up: the 24-hour customer-care window on Meta channels. Outside it, you can only re-engage a contact through the platform's approved path.

Channel24-hour window?Re-engage outside the window with…
WhatsApp✅ YesApproved message templates
Messenger✅ YesMessage tags / one-time notification
Instagram✅ YesHuman-agent tag (extends to 7 days)
Telegram❌ NoSend anytime
Email❌ NoSend anytime
SMS❌ NoSend anytime
RCS❌ NoSend anytime (opt-in / carrier-based)
Live Chat❌ NoSession-based (contact is on your site)
Browser Push❌ NoSend anytime (subscription-based)

See The WhatsApp 24-hour window for the details that apply to WhatsApp specifically.

The lowest common denominator

If you're broadcasting the same message across many channels and want it to render identically everywhere, design to what every channel supports.

Excluding SMS (the most limiting — text only, no media, no rich elements), the features supported on all other channels are:

✅ Text · ✅ Images

The practical set for newsletters

Two channels are special cases: SMS is text only, and Browser Push is a short, image-only notification with no video. Set those two aside and every real messenger — WhatsApp, Telegram, Messenger, Instagram, RCS, plus Email and Live Chat — supports the same richer base:

✅ Text · ✅ Images · ✅ Video

That makes text + image + video the sweet spot for cross-channel newsletters: rich enough to be engaging, universal enough to render consistently everywhere your audience actually reads long-form messages. (Email is the one caveat — it embeds video as a link/thumbnail rather than inline playback.)

Everything beyond that — audio, documents, buttons, quick replies, carousels, templates, reactions — is supported on some but not all channels.

tip

Need richer content on the channels that support it? Send the text + image + video base everywhere, then layer channel-specific enhancements (buttons on WhatsApp/Messenger/RCS, templates on WhatsApp/Email) where available. SendSeven degrades unsupported features gracefully rather than failing the send.