Life of a message

Users can send messages to agents, and agents can send messages to users, but there's more to it than that. For each message, there can be many parties involved:

  • The user begins a conversation with an agent through entry points in Search, Maps, and brand-managed links and websites. Users must be signed in to a Google account, but only the user's name is shared with the partner. User messages are encrypted with TLS.
  • Business Messages acts as a layer between the user and the partner to protect user privacy. This layer ensures the user's Google account information isn't shared with the partner or live agents by decrypting and re-encrypting each inbound and outbound message and mapping the user's Google account to a conversation ID.

    Google stores encrypted messages to ensure delivery and synchronization between a user's devices. These stored messages can't be shared with any third party. Access is only available with the user's Google ID.

  • The agent is a representation of a brand, as created and managed by a partner.

  • The partner manages the agent on behalf of a brand. Partners receive inbound messages at a specified webhook, route inbound messages to automation or live agents to compose responses, and send outbound messages to the Business Messages API.

  • Automation handles user messages without human engagement.

  • Live agents handle user messages that require human engagement.

Each party plays a part in sending and receiving messages within a conversation. An end-to-end messaging flow starts with a user messaging an agent and ends with the user receiving a response from the agent.

  1. A user starts a conversation and sends a message to a Business Messages agent.
  2. Business Messages assigns the conversation an ID. Conversation IDs are persistent and unique to the user and the agent. If the same user contacted a different agent, that conversation would have a different conversation ID.
  3. Business Messages sends the encrypted message to the partner's webhook. The message contains the unique conversation ID, agent ID, message ID, and context information for where the conversation originated.
  4. The partner receives the message and routes the message to automation or to a live agent.
  5. Automation automatically creates a response to the user message, or a live agent who has access to the conversation sees the user message and creates a response accordingly.
  6. The partner sends the response to the Business Messages API with the conversation ID as the recipient.
  7. Business Messages decrypts and re-encrypts messages, maps the conversation ID with the user's Google account, and sends the message to the user.