resend-email
by @vladchatware
Send emails via Resend API from any verified domain. Use when sending emails, notifications, or automated messages. Supports HTML and plain text. Default voi...
clawhub install resend-emailπ About This Skill
name: resend-email description: Send emails via Resend API from any verified domain. Use when sending emails, notifications, or automated messages. Supports HTML and plain text. Default voice is warm bureaucratic (configurable).
Resend Email
Send emails from any Resend-verified domain using the Resend API.
Quick Start
# Send simple email
bash skills/resend-email/scripts/send.sh \
--to "recipient@example.com" \
--subject "Subject Line" \
--body "Email body text"With custom from address
bash skills/resend-email/scripts/send.sh \
--to "recipient@example.com" \
--from "you@yourdomain.com" \
--subject "Subject" \
--body "Body"
Direct API Call
curl -X POST 'https://api.resend.com/emails' \
-H "Authorization: Bearer $(cat ~/.config/resend/credentials.json | jq -r .api_key)" \
-H "Content-Type: application/json" \
-d '{
"from": "noreply@yourdomain.com",
"to": ["recipient@example.com"],
"subject": "Subject",
"text": "Plain text body"
}'
Configuration
~/.config/resend/credentials.jsoncredentials.json (e.g., noreply@yourdomain.com)Receiving (Webhook + Clawdbot)
Use this when you want Resend inbound emails to trigger Clawdbot automatically.
1) Enable Clawdbot hooks
{
hooks: {
enabled: true,
token: "",
path: "/hooks",
transformsDir: "~/.clawdbot/hooks",
mappings: [
{
id: "resend",
match: { path: "resend" }, // relative to /hooks (no leading slash)
action: "agent",
deliver: true,
channel: "telegram",
transform: { module: "resend-inbound.js", export: "transform" }
}
]
}
}
Important: match.path is relative to /hooks (e.g., /hooks/resend β resend).
2) Expose the webhook (Tailscale Funnel)
If your gateway is local-only, expose it via Funnel:
/Applications/Tailscale.app/Contents/MacOS/Tailscale funnel --bg 18789
MagicDNS + HTTPS certs must be enabled in your tailnet for TLS to work.
3) Configure Resend webhook
In Resend β Webhooks:
https://.ts.net/hooks/resend?token= email.receivedResend cannot set custom headers, so use ?token=.
4) Fetch full email content
Resend webhooks do not include body text. Use the receiving API:
GET https://api.resend.com/emails/receiving/:id
(See resend-inbound.js for an example transform that fetches the body.)
Email Voice: The Bureaucrat
See references/voice-bureaucrat.md for the default email tone.
Key traits:
Tone: DMV supervisor who smiles while denying your form Γ LinkedIn thought-leader who genuinely believes bureaucracy is beautiful.
When drafting emails, apply this voice unless instructed otherwise.
HTML Emails
curl -X POST 'https://api.resend.com/emails' \
-H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "noreply@yourdomain.com",
"to": ["recipient@example.com"],
"subject": "Subject",
"html": "Hello
HTML content
"
}'
Notes
send.sh preserves line breaks in --body (no literal \n output).--html for rich formatting; default is plain text.Common Patterns
Transactional notification:
# Order confirmation, welcome email, etc.
bash skills/resend-email/scripts/send.sh \
--to "customer@example.com" \
--subject "Your Request Has Been Processed" \
--body "$(cat <<'EOF'
Dear Valued Individual,Please note that your recent submission has been received and processed in accordance with standard operating procedures.
It should be understood that all requests are handled in the order received, pursuant to our established compliance framework.
We appreciate your cooperation in maintaining an orderly process.
Warm regards,
Clawd
Agent Services Division
EOF
)"
Reply to inquiry: Apply bureaucrat voice. Be helpful while maintaining the veneer of official procedure.
π‘ Examples
# Send simple email
bash skills/resend-email/scripts/send.sh \
--to "recipient@example.com" \
--subject "Subject Line" \
--body "Email body text"With custom from address
bash skills/resend-email/scripts/send.sh \
--to "recipient@example.com" \
--from "you@yourdomain.com" \
--subject "Subject" \
--body "Body"
βοΈ Configuration
~/.config/resend/credentials.jsoncredentials.json (e.g., noreply@yourdomain.com)π Tips & Best Practices
send.sh preserves line breaks in --body (no literal \n output).--html for rich formatting; default is plain text.