unbiased ai

An assistant that triages your inbox around the clock

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

A replay of a scheduled OpenClaw run on Pareto, recreated from a real run with five made-up messages. Not a screenshot.

Tools that do this

Each of these talks to Pareto with a base URL, an API key and the model string pareto. Pick the one you already use.

The recipe: one prompt, one schedule, no sending

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.

  1. Get an Unbiased API key

    Choose a plan, then create a key in the Unbiased platform. New accounts are reviewed and approved by a person before the key works.

  2. Point your assistant at Pareto

    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.

  3. Write the triage prompt once

    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.

  4. Test it once by hand

    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.

  5. Schedule it and keep sending manual

    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.

Tested on October 20, 2026OpenClaw 2026.10.5, model 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.

OpenClaw

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.

  • Tested with OpenClaw 2026.10.5: 3 one-shot runs and 3 runs fired by the scheduler, all with the right buckets
  • openclaw cron is an alias for openclaw automations, and jobs need a running Gateway
  • inbox.md stands in for your messages: our test used a fixed file, not a live mailbox
~/.openclaw/openclaw.json
{
  "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" }
}
~/inbox/task.md
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.
Shell
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>
~/inbox/inbox.md (our test messages)
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.

triage.md from our first scheduled OpenClaw run
# 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.

What it costs to leave it running

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.

Personal at $10/monthFor one person
50M
tokens a week, 20 requests a minute
Personal Max at $100/monthFor one person
600M
tokens a week, 60 requests a minute

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.

One key for every tool on this page

Pick a monthly allowance, or pay per token on Team.

Personal

$10/month

  • 50M tokens a week
  • 20 requests per minute
  • For one person
Choose Personal

Personal Max

$100/month

  • 600M tokens a week
  • 60 requests per minute
  • For one person
Choose Personal Max

Team

Pay as you go

  • Prepaid credits at published rates
  • 300 requests per minute
  • No weekly token cap
Get started with Team

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.

Questions about this recipe

Will it send anything without asking me?

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.

How does it get my email?

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.

Did it sort the messages correctly?

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.

Why does a pass use tens of thousands of tokens for five short messages?

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.

Do I need an OpenAI or Anthropic key?

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.

What happens when I hit the weekly allowance?

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.

Do I choose between models?

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.

Are my messages kept?

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.

Let Pareto read the overnight pile

One prompt, one schedule and nothing sent without you. Pareto starts at $10 a month for 50M tokens a week.