MunBot

Agentyard — by hotmun

Your business, staffed by agents that actually show up.

A team that answers customers on the channels they already use, works to a schedule, and keeps your site live — on isolated infrastructure you can host yourself.

Every business gets its own pod and its own database. Nine messaging channels, 27 model providers, and spend ceilings that hold. No free tier — a trial, then a plan.

Shift log aquafix-plumbing · tue 19:04–21:12
  1. 19:04

    whatsapp Reception · front desk

    New message while the van was on a job — boiler leaking under the sink, can anyone come tonight?

  2. 19:04

    whatsapp Reception

    Replied in 11 seconds, asked for a photo and a postcode, logged the lead.

  3. 19:21

    quote Estimator · pricing

    Priced against the rate card, sent a signed quote link. No customer account needed.

  4. 19:48

    accepted Scheduler · dispatch

    Quote accepted. Booked 07:30 Wednesday, owner notified, calendar updated.

  5. 21:12

    cadence Marketing · weekly post

    Scheduled turn skipped — no social account connected yet. Nothing spent.

Illustrative — one evening, one business 4 agents · 1 pod
Own pod
One business, one isolated runtime and database
9 channels
WhatsApp to iMessage, plus webhooks
27 providers
With failover chains and key rotation
Rust core
One binary, no mandatory dependencies
Self-host
Docker Compose or a Helm chart
What the team does

Five jobs, covered while you're on a ladder.

You describe the work. Each agent gets a role, the tools for it, and a budget. Below each promise is the mechanism that makes it hold.

01

Answers, in seconds

Customers write where they already are — WhatsApp, Telegram, Slack, Discord, email, iMessage, Matrix, Lark, IRC. An agent picks it up, asks the right follow-up, and writes the lead down instead of letting it sit in an unread inbox.

Every channel is declared once in a single manifest, so adding credentials hot-reloads the connection — no restart, no redeploy.

02

Work on a schedule

Chase unpaid invoices on Mondays, post on Thursdays, follow up two days after every quote. Cadences run whether or not anyone opened the app.

A scheduled turn is gated before it costs anything: if a prerequisite is missing — no connected account, no key, a provider parked — the turn is skipped at zero model spend and re-checked on the next tick, instead of burning a call to rediscover the same wall.

03

A website that stays up

Ask for a site and you get one — pages, photos, and a form that actually reaches you. Enquiries land in your business's own database and you get told about them.

Static pages are served from a CDN, so visitors never wait on the application, and a restart is not an outage. Form posts go to the database inside your pod — business data never moves to a shared one.

04

It remembers, and it hands over

Agents keep their own memory and search it before answering, so a returning customer isn't asked the same question twice. Work moves between agents like it would between colleagues.

Per-agent storage with full-text and vector search, recalled into context on each turn. A task that goes two turns without progress escalates — assignee, then team lead, then the executive, then it waits for you rather than looping quietly.

05

Spending that stops

The failure mode of AI agents is a quiet runaway bill. This one has a ceiling per hour and per day, and it is enforced before a call is made, not discovered on an invoice.

You're warned at 80% of a ceiling; at the ceiling, turns defer instead of retrying. If every model provider is failing, work is held with a reason attached and released the moment the wall clears — waiting_on, not a blind retry timer.

How it works

Three steps, then it's working.

Step one

Describe the business

What you do, who writes to you, what a job costs. You get a team with roles that fit — reception, estimating, scheduling, marketing — not a blank prompt box.

Step two

Connect a channel

Paste one credential and the connection comes up live. Start with the inbox that actually rings; add the rest whenever you like.

Step three

Set the ceiling, then watch

Pick what the team may spend a day. Every reply, scheduled turn and pound spent is on one screen — and you can stop the whole team from it.

Isolation & ownership

One business per pod. No shared plumbing.

Multi-tenant usually means your records sit in a table next to someone else's, separated by a WHERE clause. Here each business runs as its own workload with its own database and its own storage scope, because the boundary is the product.

The same binary you'd run yourself is the one we host. Bring your own model keys and the spend is yours; use ours and the ceiling is still yours. Nothing here needs a hyperscaler — it runs on our own cluster, and it will run on yours.

Talk to us about self-hosting

Runtime
Rust, single binary · agent engine, gateway and channels in one process
Tenancy
A dedicated pod per business · own volume, own database
Models
27 providers · plus any OpenAI-compatible URL, with per-agent fallback chains
Channels
WhatsApp, Telegram, Slack, Discord, Email, iMessage, Matrix, Lark, IRC · and webhooks
Guards
Sandboxed tools, secret-leak and injection filters, audit log · keys never reach the shell
Budgets
Calls per hour and spend per day · enforced before the call, warned at 80%
Deploy
Hosted, Docker Compose, or Helm · your infrastructure, your keys
Channels

Wherever your customers already write.

One credential brings a channel up live — no restart. The same agent answers across all of them, with the conversation kept in one place.

  • WhatsApp
  • Telegram
  • Slack
  • Discord
  • Email
  • iMessage
  • Matrix
  • Lark / Feishu
  • IRC
  • + webhooks for anything else

Start with the inbox that keeps getting missed.

Connect one channel, give the team one job, and see what a week looks like when nothing goes unanswered.

Trial included, then a plan — there is no free tier, because a team that runs all day costs real money to run.