BOX OXDocs

Get started

Install on Workers Free

Incoming mail, search, and mail-reading agents on Cloudflare’s free plan.

On this page

Box Ox is free. The same download installs as an inbox on Cloudflare Workers Free, or as the full app on Workers Paid. The installer checks the account’s Workers subscription before creating resources. It never buys or changes a Cloudflare plan.

Included features#

FeatureWorkers FreeWorkers Paid
Inbox, attachments, labels, and keyword searchIncludedIncluded
Scoped mail-reading agents and MCPIncludedIncluded
Inbound webhooksIncludedIncluded
Outbound sending and sent-mail copiesNot installedIncluded
AI, semantic search, and Browser RunNot installedAvailable with consent/configuration

Cloudflare allows verified-destination sends on Workers Free, but the Box Ox inbox install does not include outbound sending.

Plan detection#

Automatic detection uses Cloudflare’s account subscription API and needs Billing Read. A separate BOXOX_BILLING_TOKEN can supply that read-only permission while Wrangler handles deployment. Keep the token in your secret manager or environment. It is not stored in the Worker.

Wrangler OAuth cannot read billing subscriptions. If detection is unavailable, check Workers & Pages in Cloudflare, then choose the matching install:

sh
BOXOX_PLAN=free pnpm run deploy

Use BOXOX_PLAN=paid only after confirming Workers Paid is enabled. A website’s Pro or Business plan does not establish the Workers plan.

Costs and limits#

Workers Free has no $5 monthly minimum. Account-wide quotas still apply. R2 must be enabled separately. Storage and operations beyond its free allowances can incur Cloudflare charges.

A mail domain is required to send or receive mail. You can install and explore the app without one. The app can use a free workers.dev address.

The inbox install moves heavier processing into a SQLite Durable Object and keeps Workflow retries. Large mailboxes and high mail volume can exhaust free quotas.

Moving to Workers Paid#

After switching your Cloudflare account to Workers Paid, rerun the same installer. Keep the same account, resource names, owner email, and app URL. The full install reuses the mail database and bucket, then adds the other bindings. Enable sending for your domain in Domains. AI still needs your separate consent.

The installer refuses to replace an existing full install with the inbox install. Moving a live mail service back to Workers Free needs a separate migration review.

Testing status#

The inbox install passes local tests with paid-only bindings removed. The unchanged 2.4.0 source also installed in a fresh Workers Free account without domains. Owner sign-in and empty Inbox and Domains pages passed after billing checkouts and separate Access configuration. The agent removal procedure later removed that empty installation and its dedicated resources. Mail delivery, populated-mail recovery, and enforced CPU and volume limits remain unverified. There is no separate fresh-account deployment result for the current patch release.