Devin logo

Devin + Courier

Ship production-ready notifications with Devin

Install Courier Skills and Devin builds notifications the way Courier's own team would: fallback routing, preferences, idempotency, and delivery you can verify.

Overview

How Devin and Courier fit together

Devin is Cognition's autonomous software engineer, working in its own cloud environment. Add Courier Skills and it builds notifications the way an experienced Courier engineer would. Courier delivers them and shows you what happened.

The skill handles the building. When you want to test against your own account without leaving the editor, add the hosted MCP server. Devin works in its own environment, so the skill goes in the repo it works on, and the MCP server is configured once for the whole organization.

You'll need a Courier account. For the MCP server, grab an API key; the test environment is the natural place to start.

What you can build

What you get with Devin + Courier

Sample prompts

Ask Devin to build any of these

Install Courier Skills first.

npx skills add trycourier/courier-skills

Then ask Devin to run any of these prompts.

Add password-reset notifications to this Express app with Courier. Send a 6-digit code by SMS first and fall back to email if SMS fails, expire it after 10 minutes, and make sure a retried request never sends a second code.
Add an in-app notification inbox to this Next.js app with Courier. Put it in the header, wire up the auth, and send a test notification so I can see it show up.
Build a three-step onboarding journey in Courier: a welcome email on signup, a setup-checklist email two days later, and a final nudge a week in that is skipped if the user has already finished setup.
Add a Product updates preference topic that users can opt out of, wire it into our existing settings page, and make sure every onboarding template respects it.
Create a reusable Courier routing strategy that tries push first and falls back to email, then apply it to our order-shipped and delivery-delayed templates so they share one policy.
Stop sending one email per comment. Batch comment notifications into a single daily digest per user with Courier, with each comment listed and a link back to the thread.
A customer says they never got their order confirmation. Pull the delivery history for their last three Courier sends, tell me which channel failed and why, and resend the confirmation if the provider error was transient.
Pull the last 30 days of Courier metrics for our onboarding templates: sends, delivery rate, opens, and clicks per template, per channel. Flag any template whose delivery rate is under 95% and tell me what changed.

Setup

Set up Devin with Courier

Two steps to start building. Two more if you want to test against your account without leaving the editor.

1
Put Courier Skills in the repo
Devin works in its own environment, so add Courier Skills to the repository it works on: clone courier-skills, copy skills/courier into the project, and point to it from your AGENTS.md so Devin reads it.
git clone https://github.com/trycourier/courier-skills.git /tmp/courier-skills
cp -R /tmp/courier-skills/skills/courier ./skills/
2
Kick off a build
Devin picks the right guides from the skill and writes the code and templates in your repo.
Add password-reset notifications to this app with Courier:
SMS first, email fallback
3
Add the MCP server to test and prototype
Optional. You'll need your test-environment API key from app.courier.com/settings/api-keys. In the Devin web app, go to Customize > MCPs and click Add custom MCP. Transport HTTP, URL https://mcp.courier.com, auth method Auth Header, header name api_key, header value your key.
4
Send yourself a test
Over MCP, Devin publishes to your test workspace, sends to your test user, and reads back the delivery events so you can see it landed.
Publish the password-reset template and send me a test

FAQ

Frequently asked questions

What's in Courier Skills?

About 40 short guides, plus a routing file that points Devin at the one or two that matter for the task at hand. They cover seven channels, transactional and growth patterns, routing, reliability, and Inbox. It's plain Markdown on the open agent-skills convention, so the same skill works in any tool that reads a SKILL.md.

Do I need the MCP server?

Not for building. The skill is enough for Devin to write templates, routing, journeys, and Inbox code in your repo. Add the MCP server when you want to test against your Courier account from the editor: publish to your test workspace, send yourself a test, read the delivery events.

What can Devin do through the Courier MCP server?

Everything the API does: 144 tools to create and publish templates, define routing strategies, build and run journeys, set up preference topics and brands, manage users and lists, send test messages, and read message logs. It's hosted and authenticates with your API key in a header, so there's nothing to run locally.

Is the Courier MCP server shared across my team in Devin?

Yes. MCP servers in Devin are configured for the whole organization, so every member shares the connection. Use a dedicated API key for it rather than a personal one.

Every Courier tool call returns 403. What's wrong?

Almost always the API key: it's wrong, or the header isn't named api_key. The MCP handshake is anonymous, so the server looks connected even with a bad key; the first tool call is where it fails, with 403 Invalid or missing authentication credentials. Re-copy the test-environment key from app.courier.com/settings/api-keys and check the header name.

The server is configured but no Courier tools show up in Devin

MCP servers in Devin are configured for the organization under Customize > MCPs. Check the entry uses transport HTTP, URL https://mcp.courier.com, auth method Auth Header, and header name api_key.

Is it safe to let it work against my account?

Yes. Every Courier workspace has separate test and production environments, each with its own API key. Build and experiment with the test key, then switch to the production key when you're ready to ship. The agent works the same way in both environments.

How is this different from the Claude and ChatGPT integrations?

Those pages are about AI assistants: Claude the model inside Courier (the AI agent node and AI Translation) and connecting a ChatGPT agent to Courier. This one is about Devin, the coding tool, building your notification system in your codebase with Courier Skills.

More

Other AI coding tools