Next Steps

Add teams, workflows, scheduled tasks, and interfaces to your agent platform.

You now have a deployed agent platform with evals, JWT auth, and a set of coding-agent skills that cover the full lifecycle: create → improve → evaluate → maintain.

The sections below cover the next level: teams and workflows for multi-step logic, scheduled tasks for proactive runs, and interfaces that put your agents where your users are.

Going beyond agents

PatternUse it whenReference
AgentA single LLM with tools and instructions can handle the request.Agents overview
TeamMultiple specialists should route, coordinate, or collaborate.Teams overview
WorkflowThe process needs explicit steps, branches, loops, or parallel execution.Workflows overview

Teams come in four modes:

ModeBehavior
CoordinateA leader plans the work, calls the right specialists, synthesizes.
RouteA router picks one specialist to handle the request.
BroadcastEvery specialist runs in parallel; the leader synthesizes.
TasksA leader breaks the goal into a task list, delegates tasks to members, and loops until every task is complete.

Scheduled tasks

The scheduler is on by default in app/main.py, and the template prepares two workflows for scheduled runs:

WorkflowWhat it does when enabledDefault
Deployment checkChecks daily that AgentOS is wired correctly.On. Set ENABLE_DEPLOY_CHECK=False to disable.
Run evalsRuns the smoke-tagged eval cases daily.Off. Enable it from the AgentOS UI.

Schedule your own agents and workflows the same way:

Use caseExample
MaintenancePurge sessions older than 90 days. Vacuum Postgres tables.
Proactive runsEvery weekday morning, summarize overnight news and post to Slack.

See Scheduler for the cron API.

Connect to interfaces

Connect agents to Slack, Telegram, WhatsApp, or a custom UI inside your product.

The template already wires its Agno team to Slack in app/main.py when both Slack credentials are set. Its interface block uses the imported agno_team; keep the other AgentOS arguments when editing it:

interfaces: list = []
if SLACK_BOT_TOKEN and SLACK_SIGNING_SECRET:
    from agno.os.interfaces.slack import Slack

    interfaces.append(
        Slack(
            team=agno_team,
            streaming=True,
            token=SLACK_BOT_TOKEN,
            signing_secret=SLACK_SIGNING_SECRET,
            resolve_user_identity=True,
        )
    )

agent_os = AgentOS(
    ...,
    interfaces=interfaces,
)
InterfaceReference
SlackSlack interface
TelegramTelegram interface
WhatsAppWhatsApp interface
Custom UI / AG-UIAG-UI interface
All interfacesInterfaces overview

Keep the repo coherent

As you ship more agents, configuration drifts, env vars rot, and new agents miss imports. Run the repository review skill for a recurring sweep:

/review-and-improve

It auto-fixes mechanical drift (stale paths, missing example.env entries, agents on disk not registered in app/main.py) and surfaces the rest as a punch list. Run it before public releases and periodically during active development.

You're done

You now have a platform that runs locally and on Railway with JWT auth, persists sessions, memory, and traces in Postgres, supports Postgres-backed knowledge, and includes eight coding-agent skills for setup, development, evals, review, and deployment.