What is an Activity?
An Activity is a single log entry that records something that happened during a session. Activities answer:“What did the agent do, and in what order?”They form a complete, inspectable timeline of a session’s execution.
Why Activities exist
Agents in production need more than a final status. You need to know:- When did execution start?
- What messages did the agent produce?
- When did it request input?
- When was that input resolved?
- Did it write results to a sink?
- What state changes occurred?
Activity types
| Type | Description |
|---|---|
session_started | Session was created and execution began |
session_ended | Session completed or failed |
message | Agent produced a human-readable message |
input_request_created | Agent requested input from a human |
input_request_resolved | Human responded to an input request |
sink_item_created | Agent wrote an item to a sink |
state_updated | Session state was updated |
Activity sources
Each activity has a source indicating who created it:| Source | Description |
|---|---|
system | Created automatically by OpenSink (e.g. session start/end, input request lifecycle) |
agent | Created by your agent code (e.g. messages, progress updates) |
user | Created by a human (e.g. manual notes) |
Structure
| Field | Description |
|---|---|
type | What happened |
source | Who created it — system, agent, or user |
message | Human-readable description |
payload | Optional structured data |
related_entity_id | Optional link to another entity (e.g. an input request ID, a sink item ID) |
links | Optional list of associated links |
session_id | The session this activity belongs to |
agent_id | The agent that owns this session |
Automatic activities
OpenSink creates some activities automatically:session_started— when a session is createdsession_ended— when a session status becomescompletedorfailedinput_request_created— when an input request is createdinput_request_resolved— when an input request is resolved
Creating activities from your agent
Your agent can log its own activities during execution:Viewing activities
Activities are listed in reverse chronological order and can be filtered by:session_id— activities for a specific sessionagent_id— activities across all sessions for an agenttype— only specific activity typessource— only system, agent, or user activities
What Activities are not
Activities are not:- debug logs
- LLM traces
- metrics or telemetry
- a replacement for structured logging
When to use Activities
Activities are useful when:- you need to understand what happened during a session
- you want agent progress visible in the UI
- you need an audit trail for compliance
- debugging requires knowing the sequence of events

