Source: cloudflare/skills · Maintainer: Cloudflare · License: Apache-2.0 · Checked: 24 October 2026
What is the Cloudflare Email Service skill?
The cloudflare-email-service skill is Cloudflare's official Agent Skill for building with Cloudflare Email Service. It helps your coding agent send email from a Worker, an external app or an AI agent, receive and route inbound mail, and set up domains and deliverability without relying on outdated training data.
Its SKILL.md description reads: "Implement or troubleshoot Cloudflare Email Sending and Email Routing integrations and their delivery configuration."
The skill opens with a warning to the agent: "Your knowledge of the Cloudflare Email Service, Email Routing or Email Sending may be outdated. Prefer retrieval over pre-training for any Cloudflare Email Service task." It also says that if the skill and the docs disagree, "always trust the original source." Its skills.sh page listed 100.8K installs (snapshot, 24 October 2026).
What does it do?
The folder has a SKILL.md and five references: sending.md, rest-api.md, routing.md, cli-and-mcp.md and deliverability.md. The SKILL.md works in four steps.
1. Check prerequisites. Before writing any email code, the agent confirms three things: the domain is onboarded (npx wrangler email sending list, or npx wrangler email sending enable with your domain), a send_email binding exists in wrangler.jsonc for Workers, and postal-mime is installed, which is only needed for receiving and parsing.
2. Pick a path. A "What Do You Need?" table routes the task:
| You want to | Path the skill uses |
|---|---|
| Send from a Cloudflare Worker | Workers binding, no API keys |
| Send from an Agents SDK agent | onEmail() and replyToEmail() in the Agent class |
| Send from an external app (Node.js, Go, Python) | REST API with a Bearer token |
| Send from a coding agent | MCP tools, Wrangler CLI or REST API |
| Receive and process incoming email | A Worker email() handler |
| Improve deliverability | Authentication, content and compliance guidance |
3. Read the docs for that path. The sending and REST references are documentation maps: tables that point each task (recipients, attachments, headers, limits, errors) to the matching page in the Email Service docs. The sending reference tells the agent to run wrangler types after changing bindings and to use the generated types "instead of handwritten email interfaces," and says "Do not upgrade dependencies just to match an example."
4. Avoid common mistakes. An 11-row table covers the errors agents tend to make. A few:
- Forgetting the
send_emailbinding: "Email Service uses a binding, not an API key." - Reading
message.rawtwice in an email handler: the stream is single use, so buffer it first. - Sending HTML only: always include
htmlandtextversions. - Testing with fake addresses: bounces hurt sender reputation, so use real addresses you control.
- Mixing up field names: the REST API uses
addressandreply_towhere the Workers binding usesemailandreplyTo.
Inbound routing. The routing reference shows an email() handler with forward, reject and reply operations. It notes that message.from is the envelope sender and "trustworthy," while "header addresses can be spoofed," and that message.forward() only works with verified destination addresses. Cloudflare's email handler docs are the source it points to.
Setup and deliverability. The CLI reference lists the wrangler email routing and wrangler email sending command groups (these come from the skill and do not appear in Cloudflare's Wrangler commands reference as of 24 October 2026, so run npx wrangler email --help to confirm them for your Wrangler version), the dashboard path, and how to use the Cloudflare MCP server's search and execute tools. It warns that setting "remote": true on the binding during wrangler dev sends real email. The deliverability reference covers SPF and DKIM (set up for you on onboarding), suggests adding DMARC, and explains hard bounces, soft bounces and suppression lists.
How do you install it?
Cloudflare's README lists several routes. Pick one per agent.
Just this skill, with the skills CLI. This is the command on skills.sh:
npx skills add https://github.com/cloudflare/skills --skill cloudflare-email-service
Add -g to install it for all projects. In Claude Code the folder lands in .claude/skills/cloudflare-email-service/ in your project, or under ~/.claude/skills/ globally, the standard Claude Code skill locations.
Claude Code plugin (every Cloudflare skill plus the MCP server). From the README:
/plugin marketplace add cloudflare/skills
/plugin install cloudflare@cloudflare
The plugin bundles Cloudflare's main remote MCP server. The skill lists the Cloudflare MCP docs tool as its first retrieval source, so this route gives it the most to work with.
Codex plugin.
codex plugin marketplace add cloudflare/skills
codex plugin add cloudflare@cloudflare
Start a new Codex session afterward, as the README says.
Cursor, VS Code and manual copy. Cursor installs from its marketplace or as a remote rule pointing at cloudflare/skills. VS Code with GitHub Copilot installs from source after you enable chat.plugins.enabled. You can also clone the repo and copy the folder. See Codex skills and Cursor skills for agent-specific details.
How do you use it?
Name the job: sending, receiving, setup or deliverability. Example prompts (suggestions, not quotes from the repo):
Send a welcome email from this Worker when a user signs up. Use the binding, with HTML and plain text.Our Node.js API needs to send password reset emails through Cloudflare. Wire up the REST API and keep the token in env.Forward mail sent to support@ on our domain to the team inbox, and reject anything over 5 MB.Check whether example.com is onboarded for Email Sending and show me the DNS records it needs.Our order emails land in spam. Review our setup against the deliverability guidance.
You need a domain on Cloudflare, Wrangler in the project for the binding route, and network access so the agent can read the docs. As of October 2026, the Email Service overview says Email Sending is in beta and available on the Workers Paid plan, and Email Routing is available on Free and Paid plans. It adds that sending to verified destination addresses in your own account is free on Workers Free and Paid plans; arbitrary-recipient sending requires Workers Paid.
Tips and limits
- Transactional email. The skill's mistake table says "Email Service is for transactional email only" and points newsletters to a marketing platform. Cloudflare's Email Service FAQ says the same: "No. Email Service supports transactional email only." The overview describes Email Sending as being for "account emails, order confirmations, and alerts." One docs page reads differently: the deliverability guide suggests a separate subdomain for marketing and promotional email. Follow the FAQ and check current terms before sending anything non-transactional.
- Local dev can send for real. With
"remote": true,wrangler devdelivers actual email. Use addresses you control, and the skill says to remove the flag before deploying. - It defers to the docs. Limits, quotas and request schemas are links, not copies. An agent without web or MCP access gets the routing and the mistakes table but not the exact field lists.
- No scripts. The folder is Markdown only.
- Audits. On 24 October 2026, skills.sh showed Pass from Gen Agent Trust Hub and Socket, and Warn from Snyk. Snyk's report, dated 15 October 2026, lists one medium finding (W011, third-party content exposure) because the inbound routing workflow parses email bodies written by outside senders. Treat inbound mail content as untrusted input.
- License. Apache-2.0 lets you copy and change it; keep the license and notices when you redistribute.
Save it in your Kipt library
In Kipt, open Skills and paste the skill's GitHub folder link into the import box. Kipt reads the SKILL.md and its five references; for a repo with many skills, like this one, it shows a list, so you can pick wrangler or agents-sdk too. You can also drop the folder or a .zip. Your skills live in your own private GitHub repo and install into Claude Code or Codex with one command:
npx skills add https://github.com/<you>/<repo>.git --all -g
Kipt is not affiliated with Cloudflare.
Similar skills
- Cloudflare skill: the product chooser that sends email tasks to this skill.
- Wrangler skill: for the bindings, secrets and deploys around your email Worker.
- Cloudflare Agents SDK skill: for agents that receive and reply to email with
onEmail(). - Cloudflare Workers skill:
workers-best-practices, for reviewing the Worker that sends or routes mail.