Send an email via Resend
Let your AI send transactional email via Resend; the API key stays server-side.
Send a plain-text email through the Resend API to a fixed recipient. The API key rides the Authorization header and is resolved server-side at delivery; sender and recipient are fixed at install, so the agent composes content, never addresses.
The credential never enters the model context: it lives in the FlurryPORT secret store, deliveries are signed server-side, and every send returns a receipt your agent can quote.
What this is
Your AI sends plain-text email through Resend to one fixed recipient. The API key stays server-side, and the addressing is deliberately not the AI's to choose: sender and recipient are fixed at install, so the agent composes content, never destinations.Setup in two steps
- Resend side. At resend.com create an API key with Sending access permission (Full access is more than this pipe needs). Before you verify a domain, the sender must be onboarding@resend.dev and you can only mail your own account address.
- FlurryPORT side. Your AI requests secret setup and FlurryPORT emails you a secure page. Paste the key; sender and recipient are set at install.
Credential custody
Stored encrypted, added at delivery, scrubbed from stored responses. Fixing the recipient at install is a security choice: a confused or compromised agent cannot redirect your mail at send time.What to expect
Success is 200 with an id in the receipt. Free tier runs about two requests per second and 100 emails a day, which fits notification duty comfortably.Install with your agent
npx flurryport mcp
Point your agent at the FlurryPORT MCP server (npx flurryport mcp) and ask it for the flurryport:resend-send-email recipe. Works from AI clients that can run a local process: desktop apps and terminal agents. Web-only chat clients cannot reach a local MCP server; open a desktop client instead.
Tools your agent gains
flry_resend_send_email- Send a plain-text email to the configured recipient via Resend. Input: subject (required), text (required, plain-text body).
Setup walkthrough
RESEND_API_KEY: At resend.com: API Keys, Create API key, permission Sending access (Full access is more than this recipe needs), domain All domains. Copy the re_ key and paste it into the FlurryPORT secret page.
Intent schema
{
"type": "object",
"required": [
"subject",
"text"
],
"properties": {
"subject": {
"type": "string",
"maxLength": 300
},
"text": {
"type": "string",
"description": "Plain-text email body."
}
}
}Install-time parameters
to- install-time: Fixed recipient for this install; the agent never chooses addresses at send time.
from- install-time: Sender address; constrained by Resend domain verification.
Transformation
{ "from": $install.from, "to": [ $install.to ], "subject": $body.subject, "text": $body.text }Delivery target
POST https://api.resend.com/emails
Placeholders like $secrets.NAME resolve server-side at delivery, never in the agent.
Gotchas
- Before a domain is verified, sends to any address other than your own Resend account email answer 403, and the sender must be onboarding@resend.dev exactly.
- Success is 200 with an id; free tier allows about 2 requests per second and 100 emails per day.
- The recipient is install-time config on purpose: a compromised or confused agent cannot redirect mail at send time.
Where this fits
Related recipes
Let your AI add records to an Airtable table; the token stays server-side.
Create and update Azure DevOps work items in one batched pipe: priority, state, tags, and sprint included.
Query Azure DevOps work items with WIQL and read the matching ids back, without your AI ever holding the PAT.
Read fields for a batch of Azure DevOps work items by id: title, state, tags, priority, iteration.
Let your AI file Azure DevOps work items (bugs, tasks) the model never holds credentials for.
Let your AI post to Discord through a channel webhook the model never sees.