Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/haralderoessler-sendgrid
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, productivity, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/sendgrid
What's inside
- Skill name
sendgrid- Description
- Send transactional email through SendGrid. Use when the user asks to send an email, notification, alert, or message via email (and their agent has a SendGrid API key configured). Triggers on mentions of email, send mail, notification email, reminder email, alert. Requires SENDGRID_API_KEY and SENDGRID_FROM_EMAIL env vars on the agent.
- License
- MIT
- Compatibility
- Requires curl (bundled in image). Works on Linux.
- Instructions
- 130 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# SendGrid Skill
Send email via the SendGrid v3 REST API. Uses curl directly — no SDK dependency.
## Prerequisites
Two environment variables must be set on the agent (configure from the portal Settings → Skills → SendGrid):
- `SENDGRID_API_KEY` — a key from https://app.sendgrid.com/settings/api_keys with at least `Mail Send` permission.
- `SENDGRID_FROM_EMAIL` — a verified sender address. Must match a Single Sender or authenticated domain in your SendGrid account.
If either is missing, every send below returns an HTTP error — surface the exact response body to the user so they know what to fix.
## Simple send
```bash
curl -sS -w "\nHTTP %{http_code}\n" -X POST https://api.sendgrid.com/v3/mail/send \
-H "Authorization: Bearer ${SENDGRID_API_KEY}" \
-H "Content-Type: application/json" \
--data @- <<JSON
{
"personalizations": [{"to": [{"email": "recipient@example.com"}]}],
"from": {"email": "${SENDGRID_FROM_EMAIL}"},
"subject": "Hello from ownify",
"content": [{"type": "text/plain", "value": "This is the body of the message."}]
}
JSON
```
A successful send returns `HTTP 202` with an empty body. Anything else (400 bad request, 401 unauthorized, 403 forbidden) — check the JSON body.
## HTML + plain-text multipart
```bash
curl -sS -w "\nHTTP %{http_code}\n" -X POST https://api.sendgrid.com/v3/mail/send \
-H "Authorization: Bearer ${SENDGRID_API_KEY}" \
-H "Content-Type: application/json" \
--data @- <<JSON
{
"personalizations": [{"to": [{"email": "recipient@example.com", "name": "Jane Doe"}]}],
"from": {"email": "${SENDGRID_FROM_EMAIL}", "name": "ownify agent"},
"reply_to": {"email": "${SENDGRID_FROM_EMAIL}"},
"subject": "Weekly summary",
"content": [
{"type": "text/plain", "value": "Plain-text fallback goes here."},
{"type": "text/html", "value": "<p>The <strong>HTML</strong> version.</p>"}
]
}
JSON
```
`text/plain` MUST come before `text/html` in the `content` array — SendGrid requires that order.
## Multiple recipients + CC / BCC
```bash
curl -sS -X POST https://api.sendgrid.com/v3/mail/send \
-H "Authorization: Bearer ${SENDGRID_API_KEY}" \
-H "Content-Type: application/json" \
--data @- <<'JSON'
{
"personalizations": [{
"to": [{"email": "alice@example.com"}, {"email": "bob@example.com"}],
"cc": [{"email": "team-lead@example.com"}],
"bcc": [{"email": "archive@example.com"}]
}],
"from": {"email": "SENDER_PLACEHOLDER"},
"subject": "Group update",
"content": [{"type": "text/plain", "value": "See above."}]
}
JSON
```
(Substitute `SENDER_PLACEHOLDER` with `${SENDGRID_FROM_EMAIL}` at send time — heredoc with `'JSON'` is quoted so no shell expansion; switch to unquoted `JSON` if you need expansion.)
## Send with attachment
Attach a file by base64-encoding its bytes and including it in the `attachments` array:
```bash
ATTACH_B64=$(base64 -w 0 /path/to/report.pdf)
python3 - <<PY
import json, os
payload = {
"personalizations": [{"to": [{"email": "recipient@example.com"}]}],
"from": {"email": os.environ["SENDGRID_FROM_EMAIL"]},
"subject": "Monthly report",
"content": [{"type": "text/plain", "value": "Report attached."}],
"attachments": [{
"content": "${ATTACH_B64}",
"filename": "report.pdf",
"type": "application/pdf",
"disposition": "attachment"
}]
}
print(json.dumps(payload))
PY
```
Pipe the resulting JSON to `curl --data @- ...` as in the simple-send example. Attachment size limit is 30 MB per email combined.
## Templates
If the user manages dynamic templates in SendGrid, send by template ID:
```bash
curl -sS -X POST https://api.sendgrid.com/v3/mail/send \
-H "Authorization: Bearer ${SENDGRID_API_KEY}" \
-H "Content-Type: application/json" \
--data @- <<JSON
{
"personalizations": [{
"to": [{"email": "recipient@example.com"}],
"dynamic_template_data": {"firstName": "Alice", "orderId": "ORD-0421"}
}],
"from": {"email": "${SENDGRID_FROM_EMAIL}"},
"template_id": "d-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
JSON
```From HaraldeRoessler/ownify-microclaw, MIT.
More from HaraldeRoessler/ownify-microclaw
- 0.474score
yahoo-finance
HaraldeRoessler
Look up real-time stock quotes, historical prices, company fundamentals, dividends, splits, and options chains from Yahoo Finance.
SkillCFreshness: CClaude Code +9 - 0.474score
ownify-memory-enhanced
HaraldeRoessler
Use whenever you interact with the ownify memory system (MemPalace).
SkillCFreshness: CClaude Code +9 - 0.474score
skill-creator
HaraldeRoessler
Help the user write a new MicroClaw skill or revise an existing one.
SkillCFreshness: CClaude Code +9 - 0.474score
weather
HaraldeRoessler
Get current weather conditions and short forecasts using `wttr.in` (no API key required).
SkillCFreshness: CClaude Code +9 - 0.474score
x-twitter
HaraldeRoessler
Read timeline + mentions, post tweets, reply, like, retweet, and search on X (formerly Twitter).
SkillCFreshness: CClaude Code +9 - 0.474score
xlsx
HaraldeRoessler
Create, read, or edit Excel / CSV / TSV spreadsheets.
SkillCFreshness: CClaude Code +9 - 0.474score
docx
HaraldeRoessler
Create, read, or edit Microsoft Word documents (.docx).
SkillCFreshness: CClaude Code +9 - 0.474score
find-skills
HaraldeRoessler
Find reusable skills from the vercel-labs/skills registry by task keywords, evaluate fit, and suggest how to install or adapt them for MicroClaw.
SkillCFreshness: CClaude Code +9 - 0.474score
imap-mail
HaraldeRoessler
Read, search, triage, and move email in any IMAP mailbox — Gmail, iCloud, Proton Bridge, Fastmail, self-hosted, anything speaking IMAP.
SkillCFreshness: CClaude Code +9 - 0.474score
linkedin
HaraldeRoessler
Post updates and articles, fetch your own profile, and interact with LinkedIn via the v2 REST API.
SkillCFreshness: CClaude Code +9 - 0.474score
notion
HaraldeRoessler
Query databases, create + update pages, search, and append content blocks in a Notion workspace.
SkillCFreshness: CClaude Code +9 - 0.471score
pdf
HaraldeRoessler
Work with PDF files — read text, extract tables, merge, split, rotate pages, add watermarks, create new PDFs, or render pages to images.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- May 2, 2026 (6 months ago)
- Last release
- Jun 7, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from HaraldeRoessler
- 0.474score
notion
HaraldeRoessler
Query databases, create + update pages, search, and append content blocks in a Notion workspace.
SkillCFreshness: CClaude Code +9 - 0.474score
docx
HaraldeRoessler
Create, read, or edit Microsoft Word documents (.docx).
SkillCFreshness: CClaude Code +9 - 0.474score
find-skills
HaraldeRoessler
Find reusable skills from the vercel-labs/skills registry by task keywords, evaluate fit, and suggest how to install or adapt them for MicroClaw.
SkillCFreshness: CClaude Code +9 - 0.474score
linkedin
HaraldeRoessler
Post updates and articles, fetch your own profile, and interact with LinkedIn via the v2 REST API.
SkillCFreshness: CClaude Code +9 - 0.474score
imap-mail
HaraldeRoessler
Read, search, triage, and move email in any IMAP mailbox — Gmail, iCloud, Proton Bridge, Fastmail, self-hosted, anything speaking IMAP.
SkillCFreshness: CClaude Code +9 - 0.474score
ownify-memory-enhanced
HaraldeRoessler
Use whenever you interact with the ownify memory system (MemPalace).
SkillCFreshness: CClaude Code +9
Cite this page
sendgrid skill. Agent Mart. https://agentmart.dev/skills/haralderoessler-sendgrid (last updated 2026-10-24)