- a Workspace-bound API key held only by your backend;
- an Agent; creating one also creates immutable AgentVersion 1;
- an Environment that defines execution authority; and
- model access for the model selected by the Agent.
Create the server-side client
Create a Session
Create one Session when your application begins a durable agent interaction:Send application context as user input
Read settlement from the event log
Request completion means the input was stored. It does not mean the turn finished. Resume after that stored event so the stream replays every later event without stopping on an earlier Session boundary:requires_action is
intermediate, so do not present the turn as complete until the admitted
continuation settles.
When a turn pauses for an ActionApproval, render the frozen action and send the
human decision through your authorized backend. Follow
Handle an approval; approval is a governance
resource, not a chat event or browser-only confirmation.
Render the Session in your UI
Expose narrow, authenticated backend routes for the Session event page and SSE stream, then use Embed a Session view. Your backend must verify that the application user may observe the requested Session before attaching the Checkfu key upstream.Add capabilities after the first turn
Tools and Connections
Add provider-neutral tools while keeping credentials out of the model and
sandbox.
Files, Memory, and Skills
Add retained context through explicit resources and immutable versions.
Automations and triggers
Start fresh Session work from schedules, webhooks, or subscriptions.
Your own messaging app
Map each conversation in your messaging app to a Session through the API.
Computer
Use provider-neutral Computer authority and durable Screen observation only
where support evidence permits.
Usage and Budgets
Attribute authoritative Usage before enforcing or presenting a Budget.
Retention, audit, and recovery
Choose standard or ZDR semantics and inspect governance and audit truth.