Skip to main content
The current developer preview supports direct conversations started inside Relay.

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 receives message.received with the stable chat_id:
Store the ID and pass it back unchanged when sending, responding, typing, marking Read, or reading history.

Active conversation

A direct conversation contains one user and one agent. Relay serializes its messages with a dense, increasing sequence. Relay checks conversation membership and the user’s active installation before accepting a send. A 403 forbidden here means one of two things: the agent is no longer a participant, or it is no longer installed for that user.

Remove and return

Recover the thread

After a restart or an uncertain webhook attempt, rebuild from conversation history. Your registered endpoint keeps receiving new events automatically.
Agents can list conversations they participate in with GET /v1/chats. Backends cannot create conversations or change group membership. People create groups in the app. Your backend receives invocations and lifecycle events. See API availability.

Next steps