← Back to docs

Multiple Bots

Deploy additional bots to the same server or different servers.

demo
Demo: Multiple Bots

How it works

Each bot is identified by an email + team combination. The email's domain determines the organization, and the team name creates a unique path within that org. You can deploy multiple bots to the same server, each with its own team name.

Adding a second bot

Run getbot setup again with the same server but a different team:

getbot setup

When prompted, enter:

  • SSH connection — same server IP and key as your first bot
  • AI provider — can be the same or a different provider
  • Email — same email (same org) or different email (different org)
  • Team — a new team name (e.g., sales, support)

Or non-interactively:

getbot setup --yes \
  --host-ip 1.2.3.4 \
  --ssh-key ~/.ssh/getbot \
  --provider anthropic \
  --api-key sk-ant-... \
  --email alice@acme.com \
  --team sales

Same org, same server

When two bots share the same email domain, they share the same Incus container and organization-level auth. This is the most efficient setup:

  • Container — shared (one container per org per host)
  • Auth — shared (getbot updates the existing auth config with the new bot's allowed emails)
  • URL — each bot gets its own path: https://acme.getbot.run/marketing and https://acme.getbot.run/sales
  • Data — separate (each bot has its own workspace volume)

Different orgs, same server

When two bots use different email domains (e.g., alice@acme.com and bob@widgets.io), they get separate containers with full isolation:

  • Container — separate (one per org)
  • Auth — separate (each org has its own signing keys and allowed emails)
  • URL — separate subdomains: acme.getbot.run and widgets.getbot.run
  • Network — isolated (containers can't reach each other)

Different servers

You can also deploy bots to entirely different servers. Each server runs its own Incus, Caddy, and getbot-auth stack. Register additional servers with:

getbot setup

Or register a server without deploying a bot:

getbot infra hosts register --ip 5.6.7.8 --ssh-key ~/.ssh/id_ed25519

Then deploy bots to it by specifying the host:

getbot bots install --email alice@acme.com --team engineering --host my-second-server

Viewing all bots

See everything you've deployed:

getbot bots list

This shows all bots across all servers and organizations, with their status and URL. See Managing Bots for more details on the management commands.