Production agents
Creation — two-step process
Google’s agent model separates immutable registration fields (set once at creation) from editable brand profile fields (set any time before submission).- Step 1 — Create (immutable fields)
- Step 2 — Fill profile (editable fields)
- Lifecycle
- Approval time
POST /v1/rcs/agents registers the agent with three fields that cannot be changed after this call:| Field | Options |
|---|---|
region | EUROPE (the only region currently supported) |
billing_category | CONVERSATIONAL (session-billed) · NON_CONVERSATIONAL (per-message) |
use_case | OTP · TRANSACTIONAL · PROMOTIONAL · MULTI_USE |
| Use case | Allowed message types |
|---|---|
OTP | MESSAGE only |
TRANSACTIONAL | MESSAGE, CONVERSATION |
PROMOTIONAL | MESSAGE, NEWSLETTER |
MULTI_USE | MESSAGE, CONVERSATION, NEWSLETTER |
MULTI_USE for most agents — it gives the broadest coverage without needing separate agents per traffic type.billing_category can be changed before launch by contacting support; after launch it is fixed. The use_case cannot be changed after the agent is submitted.use_case and traffic_type are two different things. use_case is set once at agent creation — it tells Google what categories of messaging this agent will send. traffic_type is set on every individual message send and classifies that specific message for the carrier. They use different enum values:use_case (agent creation) | Permitted traffic_type values on sends |
|---|---|
OTP | AUTHENTICATION |
TRANSACTIONAL | TRANSACTION, SERVICEREQUEST, ACKNOWLEDGEMENT |
PROMOTIONAL | PROMOTION |
MULTI_USE | AUTHENTICATION, TRANSACTION, PROMOTION, SERVICEREQUEST, ACKNOWLEDGEMENT |
use_case: TRANSACTIONAL maps to traffic_type: TRANSACTION (no -AL suffix). use_case: PROMOTIONAL maps to traffic_type: PROMOTION. Getting this wrong causes message rejection at the carrier level.Capability checks
The platform checks device RCS capability automatically at send time — you don’t need to call a separate endpoint. If a device is not RCS-capable, the send returns404 with a clear error. Campaign flows can use this to branch into SMS fallback automatically.
Newsletter enablement
Standard agent approval coversTRANSACTIONAL, OTP, and PROMOTIONAL traffic billed per message. To use the NEWSLETTER message type and MAU subscriber billing, you must set the newsletter flag at agent creation — before you submit for Google / carrier review.
Enable newsletter during agent creation
When calling
POST /v1/rcs/agents, include "newsletter_enabled": true. This flag is part of the Google submission and tells carriers that this agent will be used for opted-in subscriber messaging.Submit the agent for review
Call
POST /v1/rcs/agents/{id}/submit. The newsletter flag is included in the submission alongside the standard agent profile.newsletter_enabled cannot be added retroactively. If you created and submitted an agent without this flag, you must create a new agent with newsletter enabled and go through the full approval process again.Test Agent (sandbox)
The Test Agent is a shared, already-approved agent that lets developers send real RCS to one verified phone number without waiting for production approval. It is send-focused and limited to five messages per verified number — ideal for integration testing and stakeholder demos, not brand campaigns. Follow RCS sandbox quickstart for the fullregister → verify → test/messages flow.
Related
RCS API reference
Endpoint reference for agents, messaging, and Test Agent routes.
RCS messaging types
Content shapes and billing units.