AI Agents for Business Automation Beyond Coding
Most agent orchestrators are built for software development. amux includes a full business ops stack — CRM, Gmail API email, Playwright browser, notes, and scheduler — all accessible to AI agents through a single REST API. Run your business, not just your codebase.
The Business Ops Stack
amux is built on a single Python server with a unified SQLite database. Every capability below is a REST endpoint at $AMUX_URL — the same URL your AI coding agents use for session management, the kanban board, and the Messages tab. No second platform, no separate automation service.
| Business Function | amux API | What agents can do |
|---|---|---|
| CRM / Contacts | /api/crm/contacts | Add, update, search contacts; log interactions; check follow-ups |
/api/email/* | Send new emails, reply in-thread, search inbox, read messages (Gmail API) | |
| Browser | /api/browser/* | Navigate with saved auth, click, type, screenshot, run JS, AI-driven tasks |
| Notes / Docs | /api/notes/* | Create, read, update, delete documents (plain text or rich HTML) |
| Scheduler | /api/schedules | Run prompts on cron or natural-language schedules (daily at 9am, every weekday) |
CRM: Contact Management
The amux CRM stores contacts with auto-assigned PPL-N IDs and full interaction history. AI agents access it through the REST API or the amux crm CLI.
What agents do with CRM
- After a conference: "Search my inbox for the last 7 days, extract every person I emailed, add them as CRM contacts with company and role fields, and log 'conference follow-up' as an interaction."
- Weekly pipeline review: "List all contacts with interactions older than 14 days and no scheduled follow-up. Draft a personalized 3-sentence email for each."
- Investor updates: "Get all contacts tagged investor. Write a brief update email for each based on last month's milestones in the notes."
# Agent adds a contact via API
curl $AMUX_URL/api/crm/contacts -X POST \
-d '{"name":"Jane Smith","company":"Acme","email":"[email protected]","role":"CTO","notes":"Met at AI Summit, interested in enterprise plan"}'
# Log a follow-up interaction
curl $AMUX_URL/api/crm/contacts/PPL-12/interactions -X POST \
-d '{"notes":"Sent intro email, awaiting reply","type":"email"}'
# Check who needs follow-up
curl $AMUX_URL/api/crm/contacts/follow-ups
Email: Gmail API Integration
amux connects directly to Gmail via the Gmail API — not Mail.app or SMTP. This means robust threading, no AppleScript fragility, and your real Gmail signature is auto-appended. AI agents can send new emails, reply in-thread, search by query, and read individual messages.
Connected accounts
Connect a Gmail account once with GET /api/gmail/[email protected]. Tokens are stored in ~/.amux/gmail-tokens/. Multiple accounts are supported — pass "from": "[email protected]" to specify which account sends.
What agents do with email
- Send new email:
POST /api/email/sendwith to, subject, body, from, optional cc - Reply in-thread:
POST /api/email/replywith message_id (from /inbox or /search) — sets In-Reply-To/References correctly - Search inbox:
GET /api/email/search?q=investor&days=30 - Read a message:
GET /api/email/message/<rfc822_id>
# Agent searches for leads and replies to each
MESSAGES=$(curl -s $AMUX_URL/api/email/search?q=pricing+question&days=7)
# For each message_id, reply with a personalized response
curl $AMUX_URL/api/email/reply -X POST \
-d '{"message_id":"","body":"Thanks for reaching out! Here is our pricing...","from":"[email protected]"}'
Raw SMTP from AI agents can land in spam. osascript (Mail.app) silently sends blank replies — a real incident. The amux Gmail API integration handles threading, authentication, and signature appending reliably. See security hardening guide for email rate limiting.
Browser: Playwright Automation
The amux browser API wraps a persistent Playwright instance with saved auth profiles. AI agents can start a browser session with your cookies already loaded — no re-login — and drive any site programmatically.
Saved auth profiles
Auth profiles live in ~/.amux/playwright-auth/. Record a profile once by logging in through a headed browser. Agents then launch headless with your saved cookies, skipping login entirely. This works for LinkedIn, Stripe, GitHub, internal dashboards, and any site where you're already authenticated.
What agents do with browsers
- Research: visit 10 competitor pricing pages, screenshot each, write a comparison note
- Lead generation: search LinkedIn for job titles matching your ICP, extract names and companies, add to CRM
- Data entry: fill out partner portal forms, submit expense reports, update inventory records
- Monitoring: check Stripe dashboard daily for new signups, post a summary to the board
# Agent starts browser with default auth profile and navigates
curl $AMUX_URL/api/browser/start -X POST \
-d '{"profile":"default","url":"https://stripe.com/dashboard"}'
# Take a screenshot — returns {"path": "/path/to/screenshot.jpg"}
curl $AMUX_URL/api/browser/screenshot
# Or hand the task to the AI browser agent (drives autonomously)
curl $AMUX_URL/api/browser/agent -X POST \
-d '{"task":"Find all new signups from the last 7 days and return their email addresses","profile":"default"}'
Notes: Documents & Write-ups
amux includes a notes store at /api/notes/<slug> for plain text or rich HTML documents. AI agents use this to store research, drafts, reports, and structured outputs that persist across sessions.
What agents do with notes
- Research report: an agent browses 5 competitor sites, writes a structured comparison, and saves it to
/api/notes/competitor-analysis-2026-07 - Weekly digest: a scheduler-driven agent reads the board and CRM, writes a summary, saves to
/api/notes/weekly-digest, and emails it - Meeting prep: before a call, an agent reads the CRM contact, notes, and recent emails, then writes a 1-page briefing note
# Agent saves a research document
curl $AMUX_URL/api/notes/competitor-research -X POST \
-d '{"content":"# Competitor Analysis\n\n## Acme Corp\n- Pricing: $99/seat..."}'
# Read a note in the next session
curl $AMUX_URL/api/notes/competitor-research
Scheduler: Recurring Tasks
The amux scheduler runs prompts on a cron or natural-language schedule. Each schedule targets an amux session and sends it a prompt text — the session's AI agent executes the task. No external cron, no separate automation service.
# Daily inbox review at 9am (weekdays)
curl $AMUX_URL/api/schedules -X POST \
-d '{"title":"Daily inbox review","session":"biz-ops","command":"Check the inbox for the last 24 hours. Reply to any leads or customer questions. Log interactions in CRM. Write a summary note.","schedule_expr":"every weekday at 9am"}'
# Weekly CRM follow-up check (Mondays)
curl $AMUX_URL/api/schedules -X POST \
-d '{"title":"Weekly follow-up check","session":"biz-ops","command":"List all CRM contacts with no interaction in the last 14 days. Draft personalized follow-up emails for each and send them.","schedule_expr":"weekly on Monday at 8:30am"}'
# Daily board digest sent via email
curl $AMUX_URL/api/schedules -X POST \
-d '{"title":"Daily board digest","session":"biz-ops","command":"Summarize what is done, doing, and todo on the board. Email the summary to [email protected].","schedule_expr":"daily at 6pm"}'
Day-in-the-Life: Agent-Run Business Day
Here is what a typical automated business day looks like when amux is running your ops layer:
Automated Day (no human intervention required)
amux vs n8n vs Zapier vs Separate Tools
| Capability | amux | n8n / Zapier | Separate tools |
|---|---|---|---|
| AI coding agents | Native — core use case | Limited via API calls | Claude Code / Cursor (no orchestration) |
| Email automation | Built-in Gmail API, threading | Gmail node (Zapier/n8n) | SMTP / manual |
| CRM | Built-in, SQLite, no SaaS | HubSpot / Salesforce node | HubSpot, Notion, etc. |
| Browser automation | Built-in Playwright, saved auth | Puppeteer node (complex) | Playwright / Selenium scripts |
| Scheduling | Built-in, natural language | Cron trigger node | cron / Launchd |
| AI reasoning | Native (Claude Code, Codex, Gemini) | AI Agent node (limited) | Direct API (no orchestration) |
| Mobile monitoring | iOS app + PWA | n8n cloud dashboard | None |
| Cost | Free & open source + API tokens | $20–$50/month + API costs | Multiple SaaS subscriptions |
| Data stays local | Yes — SQLite on your machine | No — vendor cloud | Vendor dependent |
| Setup | < 5 minutes | 2–4 hours | Per-tool setup (days) |
The key difference: amux combines AI agent orchestration with the business ops API layer in one process. n8n and Zapier are good at connecting SaaS services but require separate setup for AI reasoning. Separate tools require context-switching and no single dashboard to monitor everything.
That said, amux and n8n work well together. Use amux for the AI agent loop (reasoning, code generation, complex judgment) and n8n for the integration plumbing (webhooks, SaaS connectors). See the amux vs n8n comparison for details.
FAQ
Q Can AI agents really handle my business email?
Q Is the browser automation reliable enough for real tasks?
Q Do I need to run separate coding and business ops agents?
biz-ops session for business automation and dedicated coding sessions for software development. This avoids context confusion and makes the board easier to read. Both share the same amux server, kanban board, and monitoring dashboard.
Q How do I get started with business automation on amux?
brew install mixpeek/amux/amux), connect a Gmail account (GET /api/gmail/[email protected]), register a biz-ops session (amux register biz-ops --yolo), and add your first scheduled task. The getting started guide covers the full setup in under 5 minutes.
Q Is my business data safe with amux?
~/.amux/amux.db. CRM contacts, notes, schedules, email history — all on your machine. Gmail tokens are stored in ~/.amux/gmail-tokens/. Nothing is sent to external servers except the AI API calls (to Anthropic, OpenAI, or Google). See the security guide for hardening recommendations.
amux is the open-source control plane for both coding agents and business automation — one dashboard, one API, one install.
Get Started on GitHub — Free & Open Source