Documentation Index
Fetch the complete documentation index at: https://docs.opensink.com/llms.txt
Use this file to discover all available pages before exploring further.
What people build with OpenSink
OpenSink is general-purpose — any agent that needs structure, visibility, or human interaction can use it. But certain patterns come up repeatedly.
News & research monitoring
An agent that runs periodically, collects information from external sources, and stores the results for later review.
How it works:
- A Background Job triggers the agent on a schedule
- The agent fetches data from APIs, RSS feeds, or web scraping
- An LLM filters, summarizes, or categorizes the results
- Important findings are stored as Items in a Sink
- Activities log what the agent did during each run
OpenSink primitives used:
| Primitive | Purpose |
|---|
| Sink & Items | Store curated results |
| Sessions | Track each execution |
| Configurations | Control what sources to monitor, how many results to keep |
| Background Jobs | Trigger the agent on a schedule |
Trading & financial agents
An agent that analyzes market data, proposes actions, and waits for human approval before executing.
How it works:
- The agent analyzes market conditions and proposes trades
- Proposals are stored in the Session state
- An Input Request pauses execution and asks for approval
- A human reviews and approves or rejects
- The agent resumes via its Execution Endpoint and executes approved actions
- Results are stored in a Sink
OpenSink primitives used:
| Primitive | Purpose |
|---|
| Sessions | Track execution state and proposed trades |
| Input Requests | Pause for human approval |
| Execution Endpoints | Resume automatically after approval |
| Sink & Items | Record executed trades |
Content & report generation
An agent that generates content — reports, summaries, emails — and optionally asks for review before publishing.
How it works:
- The agent gathers source data and generates a draft
- The draft is stored in the Session state
- An Input Request asks a human to review and edit
- The agent publishes the final version and records it in a Sink
OpenSink primitives used:
| Primitive | Purpose |
|---|
| Sessions | Hold the draft state |
| Input Requests | Get human review and edits |
| Sink & Items | Store the published output |
| Configurations | Control tone, length, audience, templates |
Competitor & market analysis
An agent that tracks competitor activity and surfaces changes worth knowing about.
How it works:
- A Background Job triggers the agent daily or weekly
- The agent checks competitor websites, social media, or product pages
- An LLM identifies meaningful changes and generates summaries
- Results are written to a Sink, searchable and organized by competitor
- Configurations control which competitors to track and what to look for
OpenSink primitives used:
| Primitive | Purpose |
|---|
| Sink & Items | Store findings organized by competitor |
| Background Jobs | Run on a schedule |
| Configurations | Define competitors, sources, and focus areas |
| Activities | Log what was checked and what changed |
Alert & escalation agents
An agent that monitors systems and escalates issues that require human attention.
How it works:
- The agent monitors metrics, logs, or external services
- When something requires attention, it creates an Input Request
- A human triages the alert and provides instructions
- The agent acts on the response — acknowledges, escalates, or remediates
- All actions are logged as Activities for audit
OpenSink primitives used:
| Primitive | Purpose |
|---|
| Input Requests | Escalate issues that need human judgment |
| Activities | Full audit trail of alerts and responses |
| Sessions | Track the lifecycle of each incident |
| Sink & Items | Record resolved incidents |
Combining patterns
Most real agents combine several of these patterns. A single agent might:
- run on a schedule (Background Job)
- fetch and analyze data (Session)
- store results (Sink)
- ask for approval on high-stakes actions (Input Request)
- resume and execute (Execution Endpoint)
OpenSink’s primitives are composable. Use what you need, ignore what you don’t.