The console
mua shows what your agents did today, what is waiting for you, and the buttons to press. It runs in your terminal, installs with one line, and signs you in with the code we email you.
$ curl -fsSL https://mailbuttons.com/install.sh | shmacOS and Linux. With Homebrew: brew install mailbuttons/tap/mua. Read the docs.
mua · you@oakfieldbuilding.co.uk · 3 staff ── Quoted £213480 · Out 4 · Win 67% Needs you: 3 1 Needs you (3) │ 2 Jobs (5) │ 3 Staff (3) all staff ┌────────────────────────────────────────────┐┌ preview ───────────────────────────────────────────────────────────────┐ │▸ 38 quoting_v1 Jo Reeves · £51061 ││quoting_v1 · held_send · pending_review │ │ 41 sam_v1 First email · Harbourside Joine││Jo Reeves · £51061 │ │ 44 simple_assistant Site visit · Thu 12 N││ │ │ ││ 1. Strip foundations and oversite 18 m 6840.00 │ │ ││ 2. Cavity wall, facing brick to match 34 m2 9180.00 │ │ ││ 3. Warm flat roof, GRP finish 24 m2 7920.00 │ │ ││ 4. Bi-fold doors, 3.6 m, anthracite 1 item 4650.00 │ │ ││ 5. Steel beam and padstones 1 item 2380.00 │ │ ││ 6. First and second fix, electrics 1 item 5210.00 │ │ ││ TOTAL 51061.00 │ │ ││ │ │ ││⚑ roof area taken from the plans, not measured │ │ ││ │ └────────────────────────────────────────────┘└────────────────────────────────────────────────────────────────────────┘ ^G Help ^S Send ^E Change ^T Talk ^F Filter ^X Exit ^R Reject ^B Mailbox Tab Next Enter Open PgUp/PgDn Scroll
Every screen on this page is drawn by the console's own code with made-up data, not a mock-up.
The top row is your Brief: staff, what was quoted this month, what is out this week, the win rate, and how many things need you. Below it, three tabs.
The queue of decisions, not of mail. A held quote, a first email Sam wants to send, a site visit the assistant wants to book. Each one shows its buttons: Send, Change, Reject, Talk.
The ledger. Every quote by state, who it went to, the total, and the outcome you recorded with Won or Lost.
mua · you@oakfieldbuilding.co.uk · 3 staff ── Quoted £213480 · Out 4 · Win 67% Needs you: 3 1 Needs you (3) │ 2 Jobs (5) │ 3 Staff (3) all staff ┌────────────────────────────────────────────┐┌ preview ───────────────────────────────────────────────────────────────┐ │ NEEDS YOU Jo Reeves £51061 ││Job 11 · M. Okafor · loft conversion │ │▸ Sent M. Okafor £38900 ││State: Sent │ │ Questions out Harbourside Joinery ││Total: £38900 │ │ Won S. Patel £44210 ││ │ │ Lost R. Hughes £6480 ││Loft conversion with a rear dormer and a new staircase. │ │ ││ │ │ ││ 1. Rear dormer, build-up and cladding 18 m2 12600 │ │ ││ 2. Staircase, softwood, to building regs 1 item 3400 │ │ ││ 3. Velux windows, 3 3 item 2700 │ │ ││ TOTAL 38900 │ │ ││ │ │ ││⚑ dormer area assumed from the plans │ │ ││ │ └────────────────────────────────────────────┘└────────────────────────────────────────────────────────────────────────┘ ^G Help ^W Won ^A Answer ^F Filter ^X Exit ^L Lost ^B Mailbox Tab Next Enter Open PgUp/PgDn Scroll
The roster. Each agent, its address, whether it is live or supervised, what it handled this week, and its settings. Pause one with a key.
mua · you@oakfieldbuilding.co.uk · 3 staff ── Quoted £213480 · Out 4 · Win 67% Needs you: 3 1 Needs you (3) │ 2 Jobs (5) │ 3 Staff (3) all staff ┌────────────────────────────────────────────┐┌ brief ─────────────────────────────────────────────────────────────────┐ │▸ quoting_v1 supervised quotes@oakfi││quoting_v1 · quotes@oakfield.mbag.ai · supervised since 26 Sep · last a│ │ sam_v1 supervised sam@oakfield││ │ │ simple_assistant live office@oakfi││ Needs you 1 │ Handled 7d 12 │ Replied 7d 9 │ Rejected 7d 1 │ │ ││ Quotes out 7d 4 │ Quoted 7d £88120 │ │ ││ │ │ ││Waiting on you │ │ ││ #38 held_send · Jo Reeves · £51061 │ │ ││ │ │ ││Recent activity │ │ ││ 2h ago Quote drafted for Jo Reeves, £51,061, held for you │ │ ││ 5h ago Asked Harbourside Joinery three questions about the garage │ │ ││ 1d ago Quote sent to M. Okafor, £38,900 │ │ ││ │ └────────────────────────────────────────────┘└────────────────────────────────────────────────────────────────────────┘ ^G Help ^P Pause/Resume ^O Mode ^F Filter ^X Exit Tab Next Enter Open
The state to aim for. When the queue is empty the top row turns green. Your staff carry on; you go and do something else.
mua · you@oakfieldbuilding.co.uk · 3 staff ── Quoted £213480 · Out 4 · Win 67% Nothing needs you. 1 Needs you (0) │ 2 Jobs (0) │ 3 Staff (3) all staff ┌────────────────────────────────────────────┐┌ preview ───────────────────────────────────────────────────────────────┐ │ Nothing needs you. ││ │ │ ││ │ │ ││ │ └────────────────────────────────────────────┘└────────────────────────────────────────────────────────────────────────┘ ^G Help ^S Send ^E Change ^T Talk ^F Filter ^X Exit ^R Reject ^B Mailbox Tab Next Enter Open PgUp/PgDn Scroll
The bottom two rows always list the keys that apply to what you have selected, the way nano does. Nothing to memorise.
^S Send ^E Change ^R Reject ^T Talk ^A Answer ^W Won ^L Lost ^F Filter ^B Mailbox ^G Help ^X Exit
Everything the console does is a subcommand, and every subcommand takes --json. The console is also the harness.
mua needs-you --json | jq 'length'
How many things are waiting on you.
mua events --kind quote.sent --follow
What your agents say to each other, one JSON object per line, as it happens.
mua pipe add quoting_v1:quote.sent calendar.propose_booking
Wire one agent's event to another's capability. A sent quote proposes the site visit.
Every command, with its JSON shape, is in the reference.
Sign in with the same one-time code as the web app. There is nothing to configure and no key to manage. The queue in the console is the queue on the web, and a decision made in one is made in both.
mua login you@example.com mua
$ curl -fsSL https://mailbuttons.com/install.sh | shOr sign in on the web and see the same queue in a browser.