DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS
ROUTINES·AGENT ROUTINES

Agent Routines

An Agent Routine runs Onnie AI on a prompt you define, on a schedule or trigger. Think of it as a chat message you write once and let fire automatically. The agent that runs it has the same tool access as any interactive chat: it can read records, create and update Tasks, consult Onniebots, search the web, and write back to pages and tables.

Agent Routines are free to execute. The AI reasoning inside them consumes credits the same way a regular chat turn does — deeper, more tool-heavy runs cost more credits than short ones.


What an Agent Routine does

When an Agent Routine fires, Onnie opens a new execution against your workspace and runs the agent with your instruction as the opening message. The agent works through the instruction using its full tool surface — exploring records, creating Tasks, writing pages, consulting other bots — then finishes when it has no more tool calls to make or when it produces its final output.

Everything the agent does is recorded: tool calls, outputs, any Tasks it created or updated, and the final response text. You can review it in the Routine's Run History tab. Each run records a status (running, completed, failed), a duration, and the full output.

Superagent vs. Onniebots. The agent runs under the workspace's Superagent identity unless you associate the Routine with a specific Onniebot. When you associate it with an Onniebot, the run executes under that bot's name, instructions, and accumulated context — useful for recurring jobs that should have a consistent persona, restricted tool access, or domain-specific knowledge baked into the bot's onnie_md.

No persistent thread. Agent Routines do not persist a chat thread between runs. Each execution starts fresh. If you need the agent to remember things across runs, use workspace memory: the agent's remember tool writes durable facts that persist across all subsequent executions in the workspace. For example, an Agent Routine that tracks a moving average can remember the last known value at the end of each run and read it back at the start of the next.

Autonomous execution. The agent is autonomous during the run. It will use tools, make decisions, and produce output without asking for input. If you need the agent to pause and wait for a human decision before proceeding, structure the work as a Task: have the Routine create the Task with the relevant context, assign it to a bot, and set awaiting_approval as the target status. The human approves via the task board; the bot continues.

Agent step in a Chain. An Agent Routine is the standalone version of an Agent step. If you need the agent's output to feed into a Function or branch on a condition, use a Chain Routine with an Agent step instead.


Configuring one

Open a project and go to RoutinesNew Routine → choose Agent. The fields you'll fill in:

Instruction — the prompt the agent receives at the start of execution. Write it as you would write a chat message: specific about what you want done, what data to look at, and what output you expect.

Good instructions are concrete. They name the tables, projects, or Task statuses the agent should look at, describe the output format expected, and say where to put the result. Compare:

  • Vague: "Summarize the project status."
  • Specific: "Read all Tasks in the Q3 Launch project with status in_progress or blocked. Group by assignee. For each blocked task, include a note on why it's blocked (read the task comments). Write the result as a markdown table. Create a new page called 'Week of [today's date] Standup' and put the table there."

The specific version produces consistent, useful output every run. The vague version produces whatever the model decides to do that day.

Tierfast (Gemini, lowest cost) or pro (Claude Sonnet, higher quality). Choose pro for instructions that require careful reasoning, multi-step planning, or nuanced judgment. Use fast for lighter summarization, notifications, or anything where speed and cost matter more than depth.

Schedule — pick a schedule type:

TypeWhen it runs
OnceA single specific date and time
DailyEvery day at the time you set
Every X daysEvery N days starting from activation
WeeklyA specific day of the week at a set time
Every 15 daysTwice-monthly
MonthlyA specific day each month at a set time

The schedule is handled by Onnie's database scheduler. Timing is managed at the database layer and fires at the next_scheduled_at time stored on the Routine row — no external cron service is involved.

Project scope — a Routine can be workspace-level or tied to a specific project. Project-scoped Routines inherit that project as their default context for tool calls. For cross-project Routines, leave the project scope empty and name the relevant projects in your instruction.

Onniebot (optional) — associate the run with a specific Onniebot to execute under that bot's identity. The Onniebot's instructions, allowed tools, and workspace memory all apply. Associating an Onniebot is the way to make a recurring run feel like a specialist rather than a generic agent.


Cost

Execution is free. Starting and running an Agent Routine does not deduct a flat credit charge.

AI reasoning inside the run consumes credits at the same rate as an interactive chat turn. A simple summarization that makes a few tool calls might cost 5–15 credits. A deep research run that explores many records, creates Tasks, and writes a structured report might cost 40–100 credits.

Credits are deducted from your workspace balance at the end of each execution. If your workspace runs out of credits mid-run, the execution stops at the next iteration boundary and the run is recorded as interrupted.

//TIP

Use fast tier for lighter Agent Routines (summaries, notifications, simple lookups) and reserve pro for instructions that need multi-step reasoning or careful decision-making. Fast-tier runs cost significantly fewer credits.

To estimate credit usage before committing to a schedule, trigger the Routine manually with Run now and check the credits consumed in Run History.


Examples

Weekly project summary

Every Monday at 08

, an Agent Routine opens the Q3 Launch project, reads all open Tasks, and posts a structured summary to the #standup table — grouped by status, flagged for tasks that are overdue or blocked. The team opens Monday morning to a summary already waiting.

The instruction names the project, specifies the grouping, calls out what to flag, and tells the agent exactly where to put the output. The Routine runs on fast tier because summarization doesn't require deep reasoning.

Daily triage of incoming support records

A customer support workspace has an "Incoming" table that fills via a connector overnight. An Agent Routine fires at 06

each day, reads every new record, and creates a prioritized Task for each one — setting urgency based on the content, assigning to the appropriate Onniebot queue, and tagging records with a triage label. By the time the first human arrives, the queue is already sorted.

This Routine is paired with a triage Onniebot whose onnie_md describes the priority rules and which bot handles which issue category. The instruction on the Routine itself is short; the domain knowledge lives in the bot.

End-of-sprint retrospective

At the end of each two-week sprint (scheduled every 14 days), an Agent Routine reads all Tasks completed in the sprint, scans the comments and outputs, and writes a retrospective page. It notes what went well, what got blocked and why, and a short list of patterns to carry forward. The page is created as a draft; a human reviews and publishes it.

This Routine runs on pro tier because the retrospective requires synthesizing many inputs and making qualitative judgments about patterns — fast tier produces shallower output for this kind of work.

//NOTE

Agent Routines run under service-role credentials for workspace data access. They read and write your workspace directly — the same as if you sent the message in chat. Review your instruction carefully before activating a Routine that includes destructive operations like record deletes or bulk status changes.