Skip to content

About

OpenClaw email channel by Groundmail: your agent gets its own email address, answers mail in the thread and gets sign-up codes on its own

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Groundmail

Groundmail for OpenClaw

Agent mailboxes for OpenClaw. Your agent gets its own email inbox:
people email it and it answers in the same thread, and sign-up codes reach it on their own.

npm License: MIT

Docs · Get a free account · groundmail.dev


Install

openclaw plugins install @groundmail/openclaw
openclaw channels add --channel groundmail --owner-email you@example.com
openclaw gateway restart

That's all: with no key, channels add creates an address for your agent with no account, such as bot-7f2k@agents.groundmailbox.com. Email it from your address and the agent answers.

--owner-email lets the agent send as well as receive: you get a code, and once you give it to the agent it can email anyone. It also adds you to the allowed senders. To give the address a name, add --local-part sales.

Already have a Groundmail account? Pass --api-key gm_…. OpenClaw uses your mailbox (or creates one) and stores a new key that reaches only that mailbox. Your account key is never written to the config.

What reaches the agent

Mode Mail from people Automated mail (sign-up codes, notifications)
channel (default) Wakes the agent; its answer goes back in the same thread A short note in its main chat with the code; no reply
notify A short note in its main chat to tell you about; no reply Same
tool Nothing arrives on its own Nothing arrives on its own

Change it with openclaw channels add --channel groundmail --mode notify.

Only allowed senders start a conversation with the agent; everyone else's mail arrives as the short note in its main chat. Add people or whole domains with --allow-from a@x.com,@yourcompany.com. Set dmPolicy to open (with "*" in allowFrom) to let anyone in, or disabled to let nobody in.

The agent only answers mail that passed DMARC, so a forged sender never gets a reply. Held spam never reaches it.

Every email is untrusted

Anyone who knows the address can email it, but only allowed senders reach the agent. The plugin hands the agent only what a person would see (hidden text removed), fenced off and labelled as written by an outsider. The one-time code and links are pulled out for it, and mail that looks like it's trying to give the agent instructions comes with a warning. Notes in the agent's main chat, where it has its full context and tools, say only that an email arrived, with the code if there is one: nothing the sender wrote.

More than replies

The plugin ships a skill and a command that runs the Groundmail CLI with the channel's key, so the agent never sees it:

openclaw groundmail -- mailboxes wait <address> --since <time> --json    # wait for a sign-up code
openclaw groundmail -- mailboxes read <address> thd_… --json             # read a thread
openclaw groundmail -- mailboxes send <address> --to … --subject … --text …

An address on the shared agent domain can reply but not email people first. For that, use a mailbox on your own domain.

Configuration

{
  channels: {
    groundmail: {
      apiKey: { source: "env", provider: "default", id: "GROUNDMAIL_API_KEY" }, // or a literal key
      mailbox: "sales@agents.example.com",
      mode: "channel",
    },
  },
}

Several agents? Add accounts under channels.groundmail.accounts.<id>, each with its own mailbox and key.

No webhook or open port is needed: the gateway holds a long poll to Groundmail, so it works on a laptop or behind NAT.

Why Groundmail

  • Mailboxes for your agents. Give an agent its own email address: it receives mail, replies in the thread and picks up sign-up codes on its own. No account needed to start. Agent mailboxes
  • Each kind of mail on its own IPs. Transactional email (sign-in codes, password resets, receipts), product email and opt-in newsletters send from separate IPs, so your newsletter never shares a pool with your password resets. We run our own mail servers and never send cold outreach or bought lists.
  • Start free. Free covers 3,000 emails a month. After that, pay as you go is $15 a month with 20,000 emails included, then from $0.70 per 1,000, less as you grow. Pricing
  • Built for code and for agents. REST API, SMTP, SDKs for Node, Python, Go, PHP and Ruby, a CLI, and an MCP server for Claude, ChatGPT and Cursor.

All Groundmail libraries

Use Package
Node.js / TypeScript groundmail on npm
Python (Django), Go, Ruby (Rails Action Mailer) Groundmail/groundmail-sdks
PHP Groundmail/groundmail-php
Laravel Groundmail/groundmail-laravel
Symfony Mailer Groundmail/groundmail-symfony-mailer
Nodemailer Groundmail/groundmail-nodemailer
NestJS Groundmail/nestjs-groundmail
Strapi Groundmail/strapi-provider-email-groundmail
Medusa Groundmail/medusa-notification-groundmail
AdonisJS Groundmail/adonisjs-groundmail
Phoenix (Swoosh) Groundmail/swoosh_groundmail
CLI groundmail-cli on npm
MCP server (Claude, ChatGPT, Cursor) Groundmail/groundmail-mcp
Agent skills and Claude Code plugin Groundmail/groundmail-skills
Email templates (React Email, MJML, HTML) Groundmail/email-templates

Website · Docs · Pricing · Sign up free

About

OpenClaw email channel by Groundmail: your agent gets its own email address, answers mail in the thread and gets sign-up codes on its own

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages