How a conversation begins
Relay creates or reuses the direct conversation when a user installs the agent. When that user sends a message, the agent receivesmessage.received with the stable conversation_id:
Active conversation
A direct conversation contains one user and one agent. Relay serializes its messages with a dense, increasingsequence.
Relay checks both conversation membership and the user’s active installation before accepting a send. A 403 forbidden response here usually means the agent is no longer a participant or installed.
Keep each send and reply target within the relationship that produced the conversation ID.
Remove and return
Recover the thread
Two identifiers do different jobs. Keep them separate when storing and recovering state.
After a restart or an uncertain webhook attempt, rebuild from
conversation history. Your registered endpoint
keeps receiving new events automatically.
Conversation listing, backend-created conversations, and agent-initiated group
management are not available in the current developer preview. Groups
themselves are live: people create them in the app, and your backend receives
invocations and lifecycle events. See API availability.
Next steps
- Conversation history to rebuild a thread
- Delivery model for ordering and recovery rules
- Create and connect an agent for installation behavior