Automate the inbox. Keep control.
Inbox automation with explicit tasks, account-scoped permissions, and reviewable audit logs.
No credit card required · Task runs logged · Read-only by default
Execution flow
Inbox credentials
│
▼
Task definition (prompt + allow/deny)
│
▼
Scheduled run
│
├─ AI provider (local or hosted)
│
▼
Audit log + resultMost automation has no logs.
- Important emails get buried in noise.
- Rules engines are brittle and break silently.
- AI tools process email with no visibility into behavior.
Inbox Manager changes the model.
- Tasks are explicit: instructions and permissions.
- Automation runs on schedules you control.
- Actions are logged and reviewable.
Inbox automation you can audit
Explicit tasks, scoped permissions, and reviewable runs.
- Plain-language tasksDefine instructions and allowed tools per task.
- Read-only by defaultWrite tools require explicit per-task permission.
- Reviewable runsEvery action lands in an audit log you control.
Three steps. Full visibility.
1. Connect
Connect with IMAP or OAuth. Credentials are encrypted at rest and decrypted in memory only during task execution.
inbox-manager inbox add --name "Work" --provider gmail --oauth
2. Define tasks
Write instructions in plain language and specify allowed tools. Tasks start read-only until you allow write tools.
inbox-manager task create --name "Daily Summary" --allow list_messages,read_message
3. Execute and review
Run on demand or on a schedule. Review results and logs for every message access and action.
inbox-manager logs tail --task "Daily Summary"
From inbox to insight in three steps
Connect once, define tasks in plain language, and let Inbox Manager handle the rest.
Connect
Define Tasks
Review Logs
Connect
Define Tasks
Review Logs
Bring your own tools, speak your language
Inbox Manager integrates with the toolchain you already use. Define tasks once and run them on a schedule — all config lives in a single YAML file checked into your repo.
import { InboxManager } from '@inbox-manager/sdk';
const im = new InboxManager({
apiKey: process.env.INBOX_MANAGER_KEY,
region: 'us-east-1',
});
const task = await im.tasks.create({
name: 'Daily Digest',
schedule: '0 8 * * 1-5',
inbox: 'work@company.com',
prompt: `Read today's unread messages. List urgent items
at the top, then summarize the rest in 3 bullet points.`,
allow: ['list_messages', 'read_message'],
});
await im.tasks.run(task.id);
console.log(await im.tasks.log(task.id));from inbox_manager import InboxManager
im = InboxManager(
api_key=os.environ['INBOX_MANAGER_KEY'],
region='us-east-1',
)
task = im.tasks.create(
name='Daily Digest',
schedule='0 8 * * 1-5',
inbox='work@company.com',
prompt=(
"Read today's unread messages. "
"List urgent items at the top, "
"then summarize the rest in 3 bullet points."
),
allow=['list_messages', 'read_message'],
)
im.tasks.run(task.id)
print(im.tasks.log(task.id))import {
InboxManager,
type TaskDefinition,
type TaskLog,
} from '@inbox-manager/sdk';
const im = new InboxManager({
apiKey: process.env.INBOX_MANAGER_KEY!,
region: 'us-east-1',
});
const def: TaskDefinition = {
name: 'Daily Digest',
schedule: '0 8 * * 1-5',
inbox: 'work@company.com',
prompt: `Read today's unread messages. List urgent
items at the top, then summarize in 3 bullet points.`,
allow: ['list_messages', 'read_message'],
};
const task = await im.tasks.create(def);
const result = await im.tasks.run(task.id);
const log: TaskLog = await im.tasks.log(result.id);
console.log(log.summary);What Inbox Manager does not do
- Does not replace an email client.
- Does not run tasks continuously in the background.
- Does not take write actions without explicit permission.
Security is the foundation.
- Credentials encrypted with per-account keys.
- AI receives only task-scoped payloads.
- Audit trail for inbox access and AI calls.
Simple pricing. No surprises.
- Free: 1 inbox, 50 task runs.
- Pro: 5 inboxes, 500 task runs.
- Team: high limits with fair use.
Take control of the inbox.
Start free. No credit card required.