Agent skill

Sendblue API

by sickn33 in sickn33/agentic-awesome-skills

Send and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound…

MITAuto-check passedBackend & APIs

Install Sendblue API

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill sendblue-api -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills sendblue-api --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/sendblue/sendblue-api .claude/skills/sendblue-api && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sendblue-api
GitHub stars
47k
Used in
1 other repo
Token cost
~2.3k tokens
SKILL.md length
950 words
Files
1
Skills in repo
1,394
Repo updated
First seen
Licence
MIT

At a glance

Send and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound…

  • Works in 4 steps: Authenticate → Send a message → Track delivery → …
  • Tasks that involve Webhooks
  • SKILL.md covers Overview, When to Use This Skill, How It Works and Core Endpoints, plus 7 more sections
  • Calls curl; reaches api.sendblue.com

What it does

Sendblue API is an agent skill from sickn33/agentic-awesome-skills. Send and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound webhooks.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Webhooks, Messaging and chat bots and REST APIs. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Tasks that involve Webhooks
  • Tasks that involve Messaging and chat bots
  • Tasks that involve REST APIs

Example prompts

  • “/sendblue-api”

Requirements

  • A credential in YOUR_API_SECRET

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Authenticate
  2. Send a message
  3. Track delivery
  4. Receive inbound

What it can do on your machine

Read from SKILL.md and the folder at commit 1e53ce2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.sendblue.com

    Also links to:

    • docs.sendblue.com
    • sendblue.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sendblue API loads about 2.3k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 950 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit 1e53ce2, republished under its MIT licence (© sickn33). 950 words, ~2,304 tokens.

Download SKILL.mdSave it as .claude/skills/sendblue-api/SKILL.md (or your agent's skills folder).
name
sendblue-api
description
Send and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound webhooks.
category
api-integration
risk
critical
source
community
source_type
official
date_added
2026-05-22
author
AnthonyFirth
tags
sendblue, imessage, sms, rcs, messaging, api, webhooks
tools
claude, cursor, gemini

Sendblue API

Overview

Sendblue is a REST API that sends iMessage (blue bubbles), SMS, and RCS from a provisioned phone number. Everything is plain JSON over HTTPS — no SDK is required. The API covers outbound 1:1 and group sends, iMessage effects, reactions, typing indicators, status callbacks, and inbound webhooks.

When to Use This Skill

  • Use when writing application code (server, worker, function) that sends Sendblue messages as part of a long-running service.
  • Use when receiving inbound messages via webhooks.
  • Use when you need features the CLI does not expose: send styles, reactions, group messages, typing indicators, status callbacks, media uploads, or the contacts API beyond basic CRUD.
  • Reach for [[sendblue-cli]] instead for shell-context outbound: one-shot scripts, cron jobs, agent hooks, "ping me when X" workflows.

How It Works

Step 1: Authenticate
https://api.sendblue.com

Every request needs two headers:

sb-api-key-id: <YOUR_API_KEY_ID>
sb-api-secret-key: <YOUR_API_SECRET>
Content-Type: application/json

Keep both values server-side — never ship them to a browser or mobile client.

Step 2: Send a message
bash
curl -X POST https://api.sendblue.com/api/send-message \
  -H "sb-api-key-id: $KEY_ID" \
  -H "sb-api-secret-key: $SECRET" \
  -H 'Content-Type: application/json' \
  -d '{
    "number": "+15551234567",
    "from_number": "+1YOUR_SENDBLUE_NUMBER",
    "content": "Hello from the API!"
  }'

Phone numbers must be E.164. from_number must be a line you own — list yours with GET /api/lines.

Step 3: Track delivery

The synchronous response includes a message_handle (Apple GUID — persist this; you need it for reactions and replies) and a status from REGISTERED, PENDING, QUEUED, ACCEPTED, SENT, DELIVERED, DECLINED, ERROR. Only DELIVERED means it landed. Use status_callback instead of polling /api/status.

Step 4: Receive inbound

Configure webhook URLs in the dashboard or via POST /api/account/webhooks. Sendblue POSTs JSON to your endpoint. Respond with 2xx promptly — non-2xx triggers retries and duplicate deliveries. Event types: receive, outbound, typing_indicator, call_log, line_blocked, line_assigned, contact_created.

Core Endpoints

MethodPathPurpose
POST/api/send-messageSend a 1:1 message (text and/or media)
POST/api/send-group-messageSend to multiple recipients
POST/api/create-groupCreate a named group thread
POST/api/send-reactionSend a tapback (love/like/dislike/laugh/emphasize/question)
POST/api/send-typing-indicatorShow "typing…" in the recipient's thread
POST/api/mark-readSend a read receipt
POST/api/upload-file / /api/upload-media-objectUpload media (direct or from URL)
GET/api/statusPoll a message's delivery status
GET/api/evaluate-serviceCheck whether a number is on iMessage
GET/api/v2/messages / /api/v2/messages/:idRead message history
GET / POST / PUT / DELETE/api/v2/contacts[...]Manage contacts
GET/api/linesList your Sendblue phone numbers
POST/api/account/webhooksCRUD webhook subscriptions

Examples

Example 1: Send with media, effects, and a status callback
json
POST /api/send-message
{
  "number": "+15551234567",
  "from_number": "+1YOUR_SENDBLUE_NUMBER",
  "content": "Optional text",
  "media_url": "https://example.com/img.jpg",
  "send_style": "celebration",
  "status_callback": "https://yourapp.com/sendblue/status"
}

content and/or media_url is required. send_style is iMessage-only — valid values: celebration, shooting_star, fireworks, lasers, love, confetti, balloons, spotlight, echo, invisible, gentle, loud, slam. Ignored on SMS. Text up to 18,996 chars; media up to 100 MB on iMessage, 5 MB on SMS.

Example 2: Group message
json
POST /api/send-group-message
{
  "numbers": ["+15551234567", "+15557654321"],
  "from_number": "+1YOUR_SENDBLUE_NUMBER",
  "content": "Hey team"
}

The response returns a group_id — persist it to send follow-ups into the same thread instead of creating a new one each time.

Example 3: React to a message
json
POST /api/send-reaction
{
  "from_number": "+1YOUR_SENDBLUE_NUMBER",
  "message_handle": "<message_handle from prior send>",
  "reaction": "love"
}

Reactions only work on iMessage and need the original message's message_handle. Valid values: love, like, dislike, laugh, emphasize, question.

Example 4: Inbound webhook payload (receive)
json
{
  "accountEmail": "you@example.com",
  "content": "Reply text",
  "media_url": "https://...",
  "is_outbound": false,
  "number": "+15551234567",
  "from_number": "+1YOUR_SENDBLUE_NUMBER",
  "service": "iMessage",
  "group_id": "...",
  "date_sent": "2024-01-01T12:00:00Z"
}

Status callback payloads (outbound) mirror the send-message response and update as the message moves through SENT → DELIVERED (or ERROR).

Best Practices

  • ✅ Persist message_handle on every send. You need it for reactions, replies, and correlating status callbacks.
  • ✅ Use status_callback over polling. It's lower-cost and more accurate than GET /api/status.
  • ✅ Return 2xx fast from your webhook, then process async. Non-2xx triggers duplicate deliveries.
  • ✅ Check service with /api/evaluate-service before relying on iMessage-only features for a recipient.
  • ✅ Rehost inbound media on receipt — media URLs expire in ~30 days.
  • ❌ Don't ship sb-api-key-id / sb-api-secret-key to a client. They are server-side credentials.
  • ❌ Don't treat a 200 on /api/send-message as delivery. It only means "accepted".
Show full SKILL.md (382 more words)Show less

Limitations

  • Synchronous send responses only report acceptance, not delivery. Final state arrives via status_callback or GET /api/status.
  • send_style silently no-ops on SMS (green-bubble recipients).
  • Inbound media URLs expire in ~30 days.
  • Per-line rate limits apply; bursting many sends from one number can trip Apple's spam heuristics — pace them or split across lines.
  • Reactions and effects are iMessage-only.

Security & Safety Notes

  • Keep sb-api-key-id and sb-api-secret-key server-side. They are not safe in browser, mobile, or CI logs.
  • Treat every outbound send, contact/webhook mutation, read receipt, reaction, or typing indicator as state-changing. Preview the recipient, sender line, content, and callback/webhook changes, then wait for explicit user confirmation before sending.
  • Webhook endpoints should be on HTTPS and idempotent — same message_handle may arrive more than once.
  • Sensitive data in message content is visible in lock-screen previews on the recipient's device. Don't embed secrets, tokens, or full PII — link to an authenticated dashboard or shortened payload instead.
  • Rotate API keys from the Sendblue dashboard if either value is exposed; the old pair is invalidated on rotation.

Common Pitfalls

  • E.164 only. 5551234567 or (555) 123-4567 will fail — always send +15551234567.
  • from_number must be one of your lines. A spoofed or unprovisioned number returns an error.
  • send_style silently no-ops on SMS. If the recipient is green-bubble, effects don't render — check service first with /api/evaluate-service if it matters.
  • Store message_handle. You need it for reactions, replies, and correlating status callbacks back to your records.
  • Media URLs expire in ~30 days. If you need durable media from inbound webhooks, download and re-host on receipt.
  • Status is async. A 200 on /api/send-message means accepted, not delivered. Use status_callback rather than blocking on the synchronous response.
  • Webhook retries on non-2xx. Return 200 even when you've decided to ignore the event; otherwise expect duplicate deliveries.
  • Rate limits apply per line. Bursting many sends from one number trips Apple's spam heuristics — pace them or split across lines.
  • @sendblue-cli — Shell wrapper for shell-context outbound (scripts, cron, agent hooks). Use it when you don't need a full HTTP integration.
  • @sendblue-notify — Patterns and copy rules for outbound "text me when X is done" notifications layered on top of the API or CLI.
  • Full reference: https://docs.sendblue.com/
  • Sendblue: https://sendblue.com
  • Useful undocumented-here features: carousels (/api/send-carousel), FaceTime/contact-card sharing, advanced webhook filtering, contacts API beyond basic CRUD — see the docs site.

© sickn33, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/sendblue/sendblue-api of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit 1e53ce2

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Sendblue API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sendblue API compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sendblue API this skillsickn33/agentic-awesome-skills47k1 repos~2.3kAutomated safety check: PassMIT
Integrate Whatsappgokapso/agent-skills175—~4.8kAutomated safety check: PassNone
API Patternsdilolabs/nosia2131 repos~2.5kAutomated safety check: PassMIT
Paper Feishu Digestchtc66/academic-skills359—~348Automated safety check: PassMIT
Loops APIopeninary/openinary412—~1.1kAutomated safety check: PassAGPL-3.0
X Twitter ScraperXquik-dev/x-twitter-scraper209—~2.6kAutomated safety check: PassMIT

Similar skills

  • Integrate Whatsapp

    gokapso/agent-skills

    Connect WhatsApp to your product with Kapso: onboard customers with setup links, detect connections, receive events via webhooks, and send messages/templates/media.

    175 GitHub stars~4.8k tokensUpdated today
    Backend & APIsAuto-check passed
  • API Patterns

    dilolabs/nosia

    Builds REST APIs using respondto blocks with Jbuilder templates following the 37signals same-controllers-different-formats philosophy.

    213 GitHub starsUsed in 1 repo~2.5k tokens
    Backend & APIsAuto-check passed
  • Paper Feishu Digest

    chtc66/academic-skills

    monitor recent arxiv papers and produce a chinese digest when the user needs a filtered paper watchlist, a ranked update for agent or rag related topics, or an optional feishu webhook push from…

    359 GitHub stars~348 tokensUpdated 6 mo ago
    Backend & APIsAuto-check passed
  • Loops API

    openinary/openinary

    A skill your agent uses whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation.

    412 GitHub stars~1.1k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • X Twitter Scraper

    Xquik-dev/x-twitter-scraper

    Use Xquik to fetch X (Twitter) data or act through a connected account: search, profiles, followers, replies, threads, timelines, media downloads, bulk exports, trends, monitors, signed webhooks…

    209 GitHub stars~2.6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Verify

    gregluffy/HomeLabInfo

    Build, run, and drive the HomeLabInfo backend to verify changes at its real surfaces (REST API, UDP DHCP listener, outgoing webhooks).

    102 GitHub stars~424 tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,394 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Categories

Questions about Sendblue API

What does Sendblue API do?

Send and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound…. Sendblue API is an agent skill from sickn33/agentic-awesome-skills. Send and receive iMessage, SMS, and RCS from application code via the Sendblue HTTP API — text, media, group messages, send styles, reactions, typing indicators, status callbacks, and inbound webhooks.

When should I use Sendblue API?

Sendblue API fits situations like: tasks that involve Webhooks; tasks that involve Messaging and chat bots; tasks that involve REST APIs.

How do I install Sendblue API in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill sendblue-api -a claude-code`. Or copy the skill folder (skills/sendblue/sendblue-api in sickn33/agentic-awesome-skills) into .claude/skills/sendblue-api in your project. Claude Code loads it when a task matches its description.

How do I install Sendblue API in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill sendblue-api -a codex`. Or copy the skill folder (skills/sendblue/sendblue-api in sickn33/agentic-awesome-skills) into .agents/skills/sendblue-api in your project. Codex loads it when a task matches its description.

Can I use Sendblue API in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sickn33/agentic-awesome-skills --skill sendblue-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sendblue-api, .gemini/skills/sendblue-api, .github/skills/sendblue-api and .opencode/skills/sendblue-api in your project.

What does Sendblue API need to run?

Going by SKILL.md and its folder, Sendblue API needs the command-line tools its instructions call (curl). Our summary lists: A credential in YOUR_API_SECRET.

Does Sendblue API access the network?

SKILL.md names 3 domains. In commands or code: api.sendblue.com; the agent is likely to contact it when it follows the instructions. As links in the text: docs.sendblue.com and sendblue.com. This is read from the text; nothing was executed.

Is Sendblue API safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Sendblue API use?

Sendblue API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sendblue API use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Sendblue API?

Skills that share tags, products or a category with Sendblue API: Integrate Whatsapp (gokapso/agent-skills, 175 stars), API Patterns (dilolabs/nosia, 213 stars), Paper Feishu Digest (chtc66/academic-skills, 359 stars) and Loops API (openinary/openinary, 412 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sendblue API?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,304 GitHub stars. The repository holds 1,394 skills in this directory. The repository was last updated on October 6, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.