Browse documentation
Minion docs
New here? Start with What is Minion?
Guides
Concepts and walkthroughs, start to finish.
What is Minion?
Start here. Minion is the home your agents share — connect the AI agent you already use over MCP and it gains durable memory, secrets it never reads, saved packages, and jobs that keep running while you are offline. Covers what Minion is and is not, what you cannot get elsewhere, the building blocks, real uses, and notes for an agent running a discovery interview. Nothing here requires an account.
Agent inbox
Every team has an email address at inbox.minion.codes. Mail sent there is stored, checked for spoofing, and readable by your agents through minion.email.* and the Inbox page. Load this when someone asks how the inbox works or how to give an agent an email address.
Connect a home MCP server
Run an MCP server next to a vault, CLI or device, publish it with Cloudflare Tunnel, and add it to Minion with a bearer token.
Connect your agent
The three-step Get started flow for people: connect the agent you already use over MCP, paste one prompt so that agent makes something useful in your account, then connect a second agent from another ecosystem and watch it reuse the same memory and package. Includes what approving access means, verified-email requirements, and which agents suit building versus using.
Email and memories: the welcome-email loop
Optional agent playbook: send a welcome email, point the person at their own inbox to reply, look the reply up when they say it is sent, save what matters as memories, then offer a next step. The default first build is quick-example; the in-app Get started page is /app/onboarding. Includes the no-polling rule and troubleshooting for missing mail and unbound tools.
External HTTP knock
Call a package export over HTTP with inbound webhooks. One webhook name binds one export; mint a handle with webhooks.mint, register GitHub hooks with webhooks.apply, and POST JSON.
First build: ad hoc execute, then persist
Agent playbook after Say hello on the Get started page (/app/onboarding): run one useful ad hoc execute, show the result, persist that working code as a package they own, and offer optional triggers without recommending one.
First run: the onboarding briefing
First-run guide for a connected agent. Teach lightly what Minion is and is not, offer six concrete first-win choices, help them take one small win from their pick, and set up integrations with clear difficulty. Then Step 3.
Flake Hunter
A worked cron example: a package-owned daily job that scans CI for flaky end-to-end runs, stays quiet on a clean day, and only emails you when a flake signal is present. Load this when someone asks how to hang a schedule on a package they own.
Gmail drafts and send permissions
Google has gmail.send but no drafts-only scope. gmail.compose can manage drafts and send. Publish a drafts-only package, lock it, then integrationLock the connection so execute cannot use the token.
Google OAuth walkthrough
A walkthrough of Google OAuth for Gmail inbox reading: official guides first, one console step at a time, the Google preset on the Integrations page, no secrets in chat, then a Gmail profile smoke test.
How Minion works
The factory loop as a conversation: ask what your favorite bot shipped, save the answer as an export you can invoke from any agent, then a daily email that stays quiet until something actually ships.
Integration bootstrap
START HERE when a third-party integration must work before saving a dependent package or package app: inspect integration and secret state, stop for setup, run an authenticated smoke test, then build a thin helpers package.
Jobs, workflows, and webhooks
How work runs when nobody is in the chat. Package-owned jobs for recurring schedules, workflows for deferred or long one-shot runs, inbound webhooks for provider events, subscriptions for events inside Minion, and the inbox — which to pick, how each is declared, and how to test one safely before enabling it. Load this when someone asks how to run something later, on a schedule, or when a provider knocks.
Lock an MCP server to a package
A connected MCP server exposes every approved tool to execute and every package. Lock the server to saved packages, and put the calls you want in a thin wrapper package.
OAuth: bring your own app
START HERE for third-party OAuth: register an OAuth app on the Integrations page, the exact redirect URI (https://app.minion.codes/oauth/callback), GitHub and Google presets, custom providers, token refresh, and how it differs from MCP OAuth.
Offload heavy work
The sandbox imports only zod and hono, with 128 MB and 20 s CPU per run. Run PDF parsing, browsers and big libraries in a service you operate.
OpenAPI integrations
Call a third-party API that publishes an OpenAPI document: treat the spec as untrusted, authenticate with an integration or secret, and wrap the operations you need in a thin helpers package.
Packages, integrations, and MCP servers
Packages are saved behavior. Integrations are account-owned logins. MCP servers are how agents connect. Use this when those three look interchangeable.
Persist named state
Where named state belongs in Minion: memories, package storage, notes, secrets or integrations.
Purchase thanks
A worked event example: a verified purchase becomes a fact your factory already knows, and a package drafts a thank-you without anyone typing. Load this when someone asks how to react to an event a package you own already emitted.
Runtime and limits
How Minion runs your code in a fresh isolate, what each surface counts against on your plan, the monthly worker compute include and prepaid credits, and the per-run limits for time, memory and results.
Search and execute
Minion's MCP surface is two tools. search finds capabilities, guides, packages, notes, team skills and connected MCP server tools. execute runs an ephemeral module that calls what you found. Covers how they work together and the inputs an agent actually passes.
Second agent: reuse what already exists
Second-agent proof after a first win. Find what the account already has, reuse it once, and stop.
Secret setup
How to get an API key or PAT into Minion: the Secrets page form, its fields, approval reminders, and what an agent should say and wait for.
Secret-backed integrations
Default non-OAuth recipe for secret-backed integrations: research auth, collect secrets on the Secrets page, approve hosts, run a smoke test, then build the downstream package.
Secrets
How Minion lets your agent use your API keys, tokens, and private keys without ever reading them: no capability returns a value, {{secret:name}} placeholders resolved at the network boundary, host approval, expiry, and where each kind of credential lives. Load this when someone asks how credentials work or whether the agent can see a key.
Sentry Issues
A worked webhook example: a package-owned inbound URL that accepts a Sentry issue POST, verifies HMAC on the platform, and starts triage without a model in the request path. Load this when someone asks how to hang a vendor webhook on a package they own.
Shared memory
What a Minion memory is, why it lives on the account instead of in one host's chat, how memories surface automatically on search and execute, the verify-first rule for writes, and what does not belong in memory (package state, config, credentials). Load this when someone asks what their agents remember about them or how memory travels between agents.
Text your agent
How to let a spouse or friend talk to your agent over a familiar chat surface (iMessage worked example). Surface vs brain vs tools: the agent holds the conversation; Minion is memory, secrets, packages, and jobs, not the chat buddy. Covers OpenClaw, Hermes Agent and Bezalel patterns, a simpler SMS path through a webhook, and email through the team inbox.
The Minion factory map
Map Minion's discovery, credentials, integrations, packages, storage, schedules, events, inbox, hosted surfaces, memories and notes—and know where the boundary is.