Stay organized with collections
Save and categorize content based on your preferences.
A message that a user sent to the agent.
The UserMessage appears in the "data" field of the "message" object that the agent receives from its Google Pub/Sub subscription. The "data" field is a base64-encoded string that the agent must decode to match the UserMessage structure.
JSON representation
{"senderPhoneNumber": string,"messageId": string,"sendTime": string,"agentId": string,// Union field content can be only one of the following:"text": string,"userFile": {object (UserFile)},"location": {object (LatLng)},"suggestionResponse": {object (SuggestionResponse)}// End of list of possible types for union field content.}
Fields
senderPhoneNumber
string
Phone number (in E.164 format) of the user that sent the message.
messageId
string
A unique message ID, assigned by the sending user's RCS client.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".
agentId
string
The agent's unique identifier. Set by RCS Business Messaging.
Union field content. Content of the message content can be only one of the following:
text
string
Text, specifically a string created through organic user typing and not a suggested reply.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-22 UTC."],[[["\u003cp\u003eUserMessage data is received by the agent in a base64-encoded string within the "data" field of the "message" object, which must be decoded.\u003c/p\u003e\n"],["\u003cp\u003eThe UserMessage includes fields such as \u003ccode\u003esenderPhoneNumber\u003c/code\u003e, \u003ccode\u003emessageId\u003c/code\u003e, \u003ccode\u003esendTime\u003c/code\u003e, and \u003ccode\u003eagentId\u003c/code\u003e, providing details about the sender and message metadata.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003econtent\u003c/code\u003e field of a UserMessage can represent various types of user input, including \u003ccode\u003etext\u003c/code\u003e, \u003ccode\u003euserFile\u003c/code\u003e, \u003ccode\u003elocation\u003c/code\u003e, or \u003ccode\u003esuggestionResponse\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003esendTime\u003c/code\u003e follows RFC 3339 format, which supports fractional digits and time offsets, ensuring precise time information.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003esenderPhoneNumber\u003c/code\u003e is the user's number in E.164 format, and \u003ccode\u003emessageId\u003c/code\u003e is a unique identifier assigned to the message by the user's RCS client.\u003c/p\u003e\n"]]],[],null,["# UserMessage\n\nA message that a user sent to the agent.\n\nThe UserMessage appears in the \"data\" field of the \"message\" object that the agent receives from its Google Pub/Sub subscription. The \"data\" field is a base64-encoded string that the agent must decode to match the UserMessage structure.\n\n| JSON representation |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"senderPhoneNumber\": string, \"messageId\": string, \"sendTime\": string, \"agentId\": string, // Union field `content` can be only one of the following: \"text\": string, \"userFile\": { object (/business-communications/rcs-business-messaging/reference/rest/v1/UserFile) }, \"location\": { object (/business-communications/rcs-business-messaging/reference/rest/v1/phones.agentMessages#LatLng) }, \"suggestionResponse\": { object (/business-communications/rcs-business-messaging/reference/rest/v1/SuggestionResponse) } // End of list of possible types for union field `content`. } ``` |\n\n| Fields ||\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `senderPhoneNumber` | `string` Phone number (in E.164 format) of the user that sent the message. |\n| `messageId` | `string` A unique message ID, assigned by the sending user's RCS client. |\n| `sendTime` | `string (`[Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp)` format)` Time at which the message was sent. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than \"Z\" are also accepted. Examples: `\"2014-10-02T15:01:23Z\"`, `\"2014-10-02T15:01:23.045123456Z\"` or `\"2014-10-02T15:01:23+05:30\"`. |\n| `agentId` | `string` The agent's unique identifier. Set by RCS Business Messaging. |\n| Union field `content`. Content of the message `content` can be only one of the following: ||\n| `text` | `string` Text, specifically a string created through organic user typing and not a suggested reply. |\n| `userFile` | `object (`[UserFile](/business-communications/rcs-business-messaging/reference/rest/v1/UserFile)`)` Media file. |\n| `location` | `object (`[LatLng](/business-communications/rcs-business-messaging/reference/rest/v1/phones.agentMessages#LatLng)`)` Location. Note that this is not necessarily the user's location. A user is able to send arbitrary locations to an agent. |\n| `suggestionResponse` | `object (`[SuggestionResponse](/business-communications/rcs-business-messaging/reference/rest/v1/SuggestionResponse)`)` Response generated by a user tapping a suggested reply or action. |"]]