Channel Compatibility
This guide defines the normative capability matrix across nativeMsg-supported channel types, provides channel identifier reference strings, and specifies the rules for designing experiences that degrade gracefully across channels.
Channel Identifier Strings
The following strings are used in the action channel property and the condition channelTypes field.
rcs
Rich Communication Services
RCS Business Messaging over the native Android messaging app
dsc
DSC
Direct-to-consumer messaging channel with rich card support
dlc
DLC
10DLC SMS/MMS messaging (limited formatting)
Channel identifier strings are case-sensitive. "RCS" and "rcs" are not equivalent in condition or action channel fields.
Feature × Channel Capability Matrix
The table below lists every schema feature and its support status per channel. Where a feature is supported, the exact maximum or constraint is stated. Where a feature is unsupported, the degradation behavior is noted.
Text message
✓ Max 3072 chars
✓ Max 3072 chars
✓ Max 160 chars per SMS segment; longer messages split into multiple segments
Message title
✓ Max 200 chars
✓ Max 200 chars
✗ Ignored
Media — image
✓ JPEG, PNG, GIF, WebP
✓ JPEG, PNG, GIF
✓ MMS only; file size limits apply per carrier
Media — video
✓ MP4, WebM
✓ MP4
✗ Not supported
Media — audio
✓ MP3, OGG, WAV
✗ Not supported
✗ Not supported
Media — file
✓ PDF and common document types
✗ Not supported
Buttons — total per message
Max 4
Max 4
✗ Not supported
Button type: weburl
✓
✓
✗
Button type: postback
✓
✓
✗
Button type: call
✓
✓
✗
Button type: text
✓
✓
✗
Button type: location
✓
✗
✗
Button type: viewLocation
✓
✗
✗
Button type: calendar
✓
✗
✗
Button type: datetime
✓
✗
✗
Button title max
25 chars
25 chars
N/A
Button payload max
1000 chars
1000 chars
N/A
Quick replies
✓ Max 13
✓ Max 13
✗ Not supported
Quick reply title max
25 chars
25 chars
N/A
Quick reply — image
✓ (imageUrl)
✓ (imageUrl)
✗
Quick reply type: location
✓
✗
✗
Quick reply type: datetime
✓
✗
✗
Quick reply type: calendar
✓
✗
✗
Carousel
✓ Min 2, Max 10 cards
✓ Min 2, Max 10 cards
✗ Not supported
List
✓ Min 2, Max 4 items
✓ Min 2, Max 4 items
✗ Not supported
Rich card (standalone)
✓
✓
✗ Not supported
Rich card — VERTICAL orientation
✓
✓
✗
Rich card — HORIZONTAL orientation
✓
✓
✗
Rich card title max
200 chars
200 chars
N/A
Rich card description max
2000 chars
2000 chars
N/A
Rich card buttons max
4
4
N/A
mediaHeight: SHORT
✓
✓
✗
mediaHeight: MEDIUM
✓
✓
✗
mediaHeight: TALL
✓
✓
✗
imageAlignment: LEFT / RIGHT
✓ (HORIZONTAL only)
✓ (HORIZONTAL only)
✗
waitFor: text
✓
✓
✓
waitFor: number
✓
✓
✓
waitFor: datetime
✓
✓
✓ (typed by user)
waitFor: coordinates
✓
✓
✗
waitFor: file
✓
✓
✗
waitFor: quick reply
✓
✓
✗
waitFor: multi select
✓
✓
✗
send.email
✓
✓
✓
send.request
✓
✓
✓
send.note
✓
✓
✓
send.rss
✓
✓
✗
assignTags
✓
✓
✓
assignAttributes
✓
✓
✓
updateSettings.conversation.priority
✓
✓
✓
updateSettings.rcsExperience.enabled
✓
✗
✗
subscribe
✓
✓
✓
Webview (webviewViewMode)
✓ full, half, tall
✓ full, half, tall
✗
Features listed as ✗ for a channel are silently ignored or cause a degraded experience — they do not produce a runtime error. Always test your experience on each target channel before deploying.
Designing for Cross-Channel Compatibility
Normative Rules
Channel-restrict rich actions. Any action that uses a feature not supported on all target channels MUST include either a
channelproperty (restricting execution to the capable channel) or aconditionsarray with achannelTypesfilter.Always provide a text fallback. For every rich-content action (
carousel,list,richCard,buttons), a parallel action restricted to non-rich channels MUST be defined, sending equivalent information as plain text.Do not rely on button-triggered
executeon DLC. On DLC channels, buttons are not rendered and theirexecutecallbacks never fire. All workflow branching on DLC MUST be driven by user-typed text or keyword matching.Quick replies MUST NOT be the only navigation mechanism. Any workflow that relies on quick reply selection for progression MUST include a
waitForstep accepting"text"in addition to"quick reply", so text-only channel users can respond.Test DLC text length. Messages intended for DLC MUST be designed to fit within 160 characters where possible, or explicitly planned for multi-segment delivery. Attribute placeholder substitution happens before length evaluation; account for the expanded text length.
Channel-Restriction Pattern
Use the channel property on actions to serve channel-appropriate content from a single workflow:
Condition-Based Channel Routing
Use conditions with channelTypes when you need to branch execution logic (not just content) by channel:
RSS Feed Channel Restriction
RSS feed rendering (send.rss) is only supported on RCS and DSC. Always restrict this action and provide a fallback:
Last updated
Was this helpful?

