- An RBM agent’s
senderIdanddisplayName, plus its logo and banner URLs. - An API key with the
telephony:writescope on your organization (telephony:readto list,telephony:manageto remove or unlink). - The id of the Lua agent that should answer.
1
Register the RCS agent
Create the record with
POST /developer/orgs/<orgId>/rcs-agents and a body of senderId, displayName, and optionally description, logoUrl, bannerUrl, and geoAvailability (a list of strings). A missing senderId or displayName fails with senderId and displayName are required; a sender id that already exists is refused.The record starts in status pending; testing, live, and suspended are the other values, and capability checks and bulk checks need testing or live . GET /developer/orgs/<orgId>/rcs-agents lists records with a status filter; DELETE …/rcs-agents/<id> suspends the record and leaves the RBM agent untouched.2
Link it to your agent
Connect the sender to the agent that answers with
POST /developer/orgs/<orgId>/rcs-agents/<id>/link and a body of { "luaAgentId": "<agentId>" }. The response shows linkedAgentId. DELETE …/link disconnects it. Inbound routing also needs an RCS channel record for the sender id on the agent, which this call doesn’t create. 3
Check that a number can receive RCS
Before you message a number, ask whether its device supports RCS.
POST …/rcs-agents/<id>/capability-check with { "phoneNumber": "+15551234567" } returns isReachable and the features the device supports; it works once the record is testing or live. For a list, POST …/bulk-capability-check with 500 to 10,000 phoneNumbers returns reachableUsers and an estimatedReachabilityPercent; it works only for a live record.4
Verify
Send a message to the sender from an RCS-capable phone. The reply arrives as RCS; a reply that uses list items shows as cards, and
Lua.request.channel inside your tools is rcs. Confirm the turn with lua logs --type agent_response.Channel behavior
The platform doesn’t fall back to SMS when a number can’t receive RCS; check capability first and use SMS for the rest. The formatting overview has the component matrix for every channel.
Limits
Troubleshooting
RCS agent not found or not in testing/live status
RCS agent not found or not in testing/live status
Capability checks need a
testing or live record. Check status with GET …/rcs-agents/<id>; a pending record can be edited but not used for checks.Bulk capability check requires between 500 and 10,000 phone numbers
Bulk capability check requires between 500 and 10,000 phone numbers
The bulk check needs at least 500 distinct numbers and at most 10,000; a repeated number fails with
Bulk capability check does not allow duplicate phone numbers. For fewer, call the single capability check per number.Messages to the sender get no reply
Messages to the sender get no reply
Inbound messages are routed by the sender id they were sent to, through the agent’s RCS channel record, which the link call doesn’t create. Confirm that record exists and its sender id matches the RBM agent exactly; then check
lua logs --type user_message for the inbound turn.Next steps
Response formatting
List items, actions, and links that become cards and chips.
SMS and phone numbers
Reach the numbers that can’t receive RCS.
About channels
How channels reach your code.
RCS agents API
Every field and status.

