Serve and embed

Serve research agents, teams, and workflows through one AgentOS API.

Serve the research workflow with AgentOS to make it available to Slack, scheduled jobs, dashboards, and backend services. Register the individual analysts, research teams, and workflow in one runtime.

These are composition examples adapted from the Investment Team application. Follow its clone, database, credentials, and research-loading setup for a complete application. Its agents/, teams/, and workflows/ define the components referenced here; agents/settings.py supplies shared knowledge and paths.

Import those components into your application module, or define your own before composing them. The application uses Gemini; the OpenAI variants on these pages require uv pip install "agno[openai]" and OPENAI_API_KEY as well. Shared knowledge/storage still needs the application's database and embedding-provider setup. Prose context, analyst-output variables, and local archives must be supplied by your application.

from agno.os import AgentOS
from db import get_postgres_db  # Investment Team application helper

agent_os = AgentOS(
    db=get_postgres_db(),
    agents=[market_analyst, financial_analyst, risk_officer, committee_chair],
    teams=[coordinate_team, broadcast_team],
    workflows=[investment_workflow],
)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="main:app", port=8000)

Every registered agent, team, and workflow gets a run endpoint. Sessions are served from a shared /sessions router, filterable by component and session type. A surface calls the workflow for the auditable review or a team for an open-ended question, with the same request shape.

curl -X POST http://localhost:8000/workflows/investment-workflow/runs \
  -F 'message=Run a full review on NVDA' \
  -F 'user_id=pm@fund.com' \
  -F 'session_id=q4-review' \
  -F 'stream=false'

Delivery surfaces

SurfaceShape
Slack channelAn analyst asks "review NVDA"; the pipeline replies in-thread with the memo
Scheduled reviewA cron runs the workflow nightly on a watchlist and posts the decisions
DashboardA widget triggers a review and renders the structured decision
Backend gateA pipeline calls the workflow before a position changes and blocks on a PASS

Customer-facing agents, data agents, and research systems use the same AgentOS run endpoints. Each surface selects the registered component that matches the request.

Choose an entry point

Caller wantsHit
The decision of recordThe Workflow (explicit control flow, inspectable step results)
An open-ended questionA coordinate Team
An independent multi-view readA broadcast Team

One AgentOS exposes all three. The surface chooses the shape per request.

Scheduled research

Use an AgentOS schedule to run a watchlist review at a fixed interval. Each run produces the workflow's memos and decisions for the team.

AgentOS ships the scheduler. Keep the explicit db on the AgentOS instance above, install uv pip install "agno[os,postgres]", and add scheduler=True to that constructor. The scheduler starts only when AgentOS has a database; component databases alone do not configure it. Start the app and register a cron against the workflow's run endpoint with ScheduleManager. See Scheduling.

Next steps

TaskGuide
Add Slack or a browser surfaceInterfaces
Lock down the endpointsSecurity and auth

Developer Resources