Personal
$10/month
- 50M tokens a week
- 20 requests per minute
- For one person
Messages pile up while you sleep. A scheduled assistant reads what came in, sorts it into urgent, reply, FYI and junk, and drafts the replies for you to approve in the morning. It sends nothing on its own. Pareto is Unbiased’s model: it selects frontier and open models for each request and blends their outputs into one answer.
Tested live with OpenClaw 2026.10.550M tokens a week on Personal
Each of these talks to Pareto with a base URL, an API key and the model string pareto. Pick the one you already use.
hermes cron create runs the same triage prompt on a schedule from its gateway.Pareto in Hermes Agent: setup guide →Each version runs the same job on a timer: read what arrived, put every message in one bucket and draft replies where one is needed. The OpenClaw tab is the setup we ran. The Hermes Agent and n8n tabs follow their own docs and have not been run against Pareto for this job. In all three, nothing goes out until you send it yourself.
Choose a plan, then create a key in the Unbiased platform. New accounts are reviewed and approved by a person before the key works.
Base URL https://api.unbiased.ai/v1, your Unbiased key, and the model name pareto, typed by hand: Unbiased does not list models at /v1/models. Each tool’s Works with page has the full block.
Name the buckets, say which ones get a draft and say plainly that nothing is sent. Keep it in a file so the scheduled job and a manual test use the same words.
Run a single turn on a few sample messages and read every row before you put it on a timer. Our test used five made-up messages and a checker for the expected buckets.
Add the job with delivery off, or delivered only to you. The assistant needs a process that stays up: OpenClaw’s Gateway, the Hermes gateway or a published n8n workflow.
pareto. OpenClaw sorted five made-up messages into urgent, reply, fyi and junk, drafted the three replies and sent nothing, 6 runs out of 6: 3 one-shot runs and 3 runs fired by its scheduler. Run record.A scheduled job on the OpenClaw Gateway runs the prompt in a fresh, isolated session every 30 minutes. It reads inbox.md from the agent workspace and writes triage.md next to it. --no-deliver keeps the result off every chat channel.
openclaw cron is an alias for openclaw automations, and jobs need a running Gatewayinbox.md stands in for your messages: our test used a fixed file, not a live mailbox{
"agents": {
"defaults": {
"model": { "primary": "unbiased/pareto" },
"workspace": "~/inbox"
}
},
"models": {
"mode": "merge",
"providers": {
"unbiased": {
"baseUrl": "https://api.unbiased.ai/v1",
"apiKey": "${UNBIASED_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "pareto",
"name": "Pareto",
"contextWindow": 1000000,
"maxTokens": 131072
}
]
}
}
},
"gateway": { "mode": "local" }
}Read inbox.md. Sort each message into exactly one bucket: urgent, reply, fyi or junk. For each message in the urgent or reply bucket, draft a short reply. Write drafts in plain sentences, with commas instead of dashes. Do not send anything. Write the result to triage.md as one line per message: number | bucket | one-line reason | draft reply or "-" Then print triage.md.
export UNBIASED_API_KEY=your-unbiased-api-key openclaw doctor # One turn by hand first cd ~/inbox openclaw agent exec --model unbiased/pareto \ --cwd . --message-file task.md # Keep the Gateway running. With openclaw gateway install, # put UNBIASED_API_KEY in ~/.openclaw/.env instead openclaw gateway run # In another shell: every 30 minutes, nothing delivered openclaw cron add "*/30 * * * *" "$(cat task.md)" \ --name "Inbox triage" --session isolated \ --model unbiased/pareto --no-deliver openclaw cron runs <job-id>
1. From: Dana Ruiz (client, Acme Dental) Our booking page has shown a 500 error since 7am. Patients can't book. Can someone look today? 2. From: Sam Patel (accountant) Need the signed Q3 expense report by Friday so I can file. Can you send it? 3. From: no-reply@deals-blast.biz CONGRATULATIONS!!! You've been selected for a $500 gift card. Click within 24h to claim. 4. From: Lena (#design channel) Uploaded the new onboarding mockups to Figma. No action needed, just FYI. 5. From: Marco Bianchi Are we still on for lunch Thursday at 12:30? Happy to move it if your week is busy.
Our scheduled runs used "* * * * *" so they fired within a minute; the page shows every 30 minutes. To get the result in your own chat instead of a file, the OpenClaw docs show --announce --channel telegram --to <your chat id>; we did not test delivery.
hermes cron create stores a job that the Hermes gateway checks every 60 seconds. --workdir sets the folder its file tools use, and --deliver local saves each result under ~/.hermes/cron/output/ instead of posting it anywhere.
--workdir must be an absolute pathmodel: provider: custom base_url: https://api.unbiased.ai/v1 default: pareto key_env: UNBIASED_API_KEY context_length: 1000000
export UNBIASED_API_KEY=your-unbiased-api-key hermes cron create "every 30m" "$(cat ~/inbox/task.md)" \ --name "Inbox triage" \ --workdir "$HOME/inbox" \ --deliver local # Cron runs inside the gateway. The service does not see # your shell export: put UNBIASED_API_KEY in ~/.hermes/.env hermes gateway install hermes gateway start hermes cron list
Use the same task.md as the OpenClaw tab. Hermes can also deliver to telegram or discord; keep it to a chat only you read.
Four nodes: a Schedule Trigger, a Gmail node that fetches unread mail, a Text Classifier with one output per bucket, and a Gmail node per bucket that adds a label. The workflow labels mail and sends nothing.
1. Schedule Trigger
Trigger Interval: Minutes
Minutes Between Triggers: 30
2. Gmail (rename it: Get unread mail)
Resource: Message
Operation: Get Many
Simplify: on
Filters > Read Status: Unread emails only
3. Text Classifier
Input Prompt:
From: {{ $json.From }}
Subject: {{ $json.Subject }}
{{ $json.snippet }}
Categories: urgent, reply, fyi, junk
(one line of description each)
Chat Model: OpenAI Chat Model (below)
4. Gmail, one per category output
Resource: Message
Operation: Add Label
Message ID: {{ $('Get unread mail').item.json.id }}
Label Names or IDs: Triage/Urgent (and so on)Credential: OpenAI API Key: your-unbiased-api-key Base URL: https://api.unbiased.ai/v1 Model: ID pareto Use Responses API: off
snippet is Gmail’s short preview of the message, not the full body. For drafts, add a step that writes them; the Gmail node’s Draft resource has a Create operation.
# Inbox Triage - Tue, Oct 20, 2026, 9:51 PM (America/New_York)
1 | urgent | Active client outage, patients cannot book and needs attention today | Hi Dana, sorry about the outage, we're looking into the booking page 500 error right now and will update you as soon as booking is restored.
2 | reply | Hard Friday deadline for the accountant, requires sending a document | Hi Sam, I'll get the signed Q3 expense report over to you before Friday.
3 | junk | Classic unsolicited prize scam from an unknown domain | -
4 | fyi | Explicitly no action needed, just a mockup announcement | -
5 | reply | Pending yes/no on a lunch commitment this Thursday | Hi Marco, yes, still on for Thursday at 12:30, see you then.A scheduled assistant spends tokens every time it wakes up, whether or not much arrived. A weekly allowance turns that into a fixed monthly price instead of a meter that runs all night. These are the counts OpenClaw reported for our five-message test, not an estimate for your inbox.
In our runs one pass over five messages used 28,115 to 46,951 tokens, counting input, output and cached input as OpenClaw reported them. Most of that is OpenClaw’s own instructions and tool list, sent on every pass; --light-context cut one scheduled pass to 36,817. A pass every 30 minutes, all week, is 336 passes. At our largest pass that is about 15.8 million tokens, against 50M tokens a week on Personal. More or longer messages cost more. Personal is for one person’s own inbox; triage for a business is production use, which needs Team or a written agreement. Run record.
Pick a monthly allowance, or pay per token on Team.
$10/month
$100/month
Pay as you go
Subscriptions are for one person and are not unlimited. New API accounts are reviewed by a person before access turns on, and commercial or production use needs a separate written agreement. Rates and limits are on Pricing.
Not with this recipe. The prompt says not to send, OpenClaw’s job runs with --no-deliver, Hermes saves to a local file and the n8n workflow only adds labels. In our six OpenClaw runs the delivery status was “not requested” every time. If you connect a chat channel, deliver the summary to yourself and send replies by hand.
That part is yours to connect. Our test read a fixed inbox.md of five made-up messages, so fetching live mail was not tested. n8n reads Gmail directly with its Gmail node. OpenClaw and Hermes can work from a file that another job keeps up to date, or from messages sent to them on the chat apps they connect to.
In all six of our OpenClaw runs on October 20, 2026, every message landed in the expected bucket: the client outage as urgent, the accountant and the lunch question as reply, the gift-card offer as junk and the design note as FYI. The wording of the reasons and drafts changed from run to run. Five messages is a small test, so check the first days of output on your own mail.
An agent sends its system instructions and tool definitions with every request, and that outweighs a short inbox. OpenClaw reported between 16,526 and 31,189 of those tokens as cached input in our runs. --light-context trims what a scheduled job loads. A larger batch of messages per pass spreads that fixed part over more mail.
No. Each tool sends model requests to Unbiased with your Unbiased key, and your Unbiased plan pays for them. Format compatibility is not a promise that every feature of these tools works, so tell us if one doesn’t.
Requests over your plan’s limits return an HTTP 429 error. Personal includes 50M tokens a week and 20 requests per minute. Personal Max raises that to 600M a week and 60 requests per minute for $100/month. Team uses prepaid pay-as-you-go credits with no weekly token cap.
No. You send every request to one model string, pareto. Pareto selects frontier and open models for each request and blends their outputs into one answer.
Personal and Personal Max are not our zero data retention tier: prompts and responses may be kept up to 30 days, as section 5(c) of the Terms explains. For work that must not be kept, ask about the Zero Data Retention API on the Private AI page.
Same key, same model string, different job. See every use case. Or find your tool on Works with.
Product names belong to their owners. Unbiased is not affiliated with or endorsed by the makers of the tools on this page.
One prompt, one schedule and nothing sent without you. Pareto starts at $10 a month for 50M tokens a week.