Overview
Most interactions between your assistant and the outside world are synchronous: the assistant asks a question or calls a tool, then waits for an answer before it continues talking. But two related patterns let you feed information into a conversation, or run a backend operation, without making the assistant pause and wait:
- Background messages — silently insert an item into the chat history from the client side, with no server involvement and no response expected.
- Async server tools — mark a tool call as resolved immediately on the platform side, while your own webhook keeps processing the request in the background.
Neither pattern sends a result back to the model to react to. This page covers both, along with how they differ from the default synchronous behavior of server tools.
Note: this is different from the already-published Web SDK Integration page's "Injecting Context Mid-Call" section, which covers the Web SDK's own addMessage() convenience wrapper. That wrapper is built on top of the same underlying mechanism described below. This page documents the underlying add-message mechanism directly, plus the server-side async tool pattern, which isn't documented anywhere else.