Official agent skill

AWS Social Messaging

by aws in aws/agent-toolkit-for-aws

Manages WhatsApp messaging through AWS End User Messaging Social.

OfficialApache-2.0Auto-check passed

Install AWS Social Messaging

skills CLI
$ npx skills add aws/agent-toolkit-for-aws --skill aws-social-messaging -a claude-code

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

GitHub CLI
$ gh skill install aws/agent-toolkit-for-aws aws-social-messaging --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/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/specialized-skills/messaging-and-streaming-skills/aws-social-messaging .claude/skills/aws-social-messaging && 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
aws-social-messaging
GitHub stars
2.8k
Token cost
~2.8k tokens
SKILL.md length
1,082 words
Files
6 (incl. references)
Skills in repo
138
Repo updated
First seen
Licence
Apache-2.0

At a glance

Manages WhatsApp messaging through AWS End User Messaging Social.

  • Works in 6 steps: Verify Dependencies → Manage Templates → Send Messages → …
  • SKILL.md covers Overview, Common Tasks, Quick Reference — Common Errors and Security Considerations, plus 1 more section
  • Calls aws

What it does

AWS Social Messaging is an agent skill from aws/agent-toolkit-for-aws, published by the product's own GitHub organization. Manages WhatsApp messaging through AWS End User Messaging Social. Covers managing templates (create, update, delete, library), sending messages (utility/marketing/auth templates and freeform), uploading and managing media, configuring event destinations for delivery tracking, and troubleshooting delivery failures. Applicable when a user needs to send WhatsApp messages, create or manage templates, upload media, configure delivery notifications, or diagnose messaging issues.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/configuring-event-destinations.md`, `references/managing-media.md` and `references/managing-templates.md`).

It works with Amazon Web Services, WhatsApp and Model Context Protocol. The repository describes itself as: Official, AWS-supported MCP servers, skills, and plugins to help AI agents build on AWS. The licence is Apache-2.0.

Example prompts

  • “Use the aws-social-messaging skill to manage WhatsApp messaging through AWS End User Messaging Social”
  • “/aws-social-messaging”

Workflow steps

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

  1. Verify Dependencies
  2. Manage Templates
  3. Send Messages
  4. Manage Media
  5. Configure Event Destinations
  6. Troubleshoot Delivery

What it can do on your machine

Read from SKILL.md and the folder at commit df2ab44. 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:

    • aws

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

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.aws.amazon.com
    • developers.facebook.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

AWS Social Messaging loads about 2.8k tokens when it runs, and up to ~9.2k if it reads all its reference files. Until then it costs about 125 tokens; SKILL.md has 1,082 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.2k

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 aws/agent-toolkit-for-aws at commit df2ab44, republished under its Apache-2.0 licence (© aws). 1,082 words, ~2,834 tokens.

Download SKILL.mdSave it as .claude/skills/aws-social-messaging/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
aws-social-messaging
description
Manages WhatsApp messaging through AWS End User Messaging Social. Covers managing templates (create, update, delete, library), sending messages (utility/marketing/auth templates and freeform), uploading and managing media, configuring event destinations for delivery tracking, and troubleshooting delivery failures. Applicable when a user needs to send WhatsApp messages, create or manage templates, upload media, configure delivery notifications, or diagnose messaging issues.
version
1

AWS End User Messaging Social — WhatsApp

Overview

WhatsApp messaging via AWS End User Messaging Social: template management, sending, media handling, event destinations, and delivery troubleshooting.

Recommended setup: Use the AWS MCP server for sandboxed execution, audit logging, and enterprise controls.

Without AWS MCP: This skill works with any agent that has AWS CLI access. All commands use standard AWS CLI syntax.

Common Tasks

1. Verify Dependencies

Constraints:

  • The AWS MCP server is recommended for seamless API execution but not required — all commands use standard AWS CLI syntax
  • You MUST verify the AWS CLI is installed and configured with appropriate credentials
  • You SHOULD recommend the user assume an IAM role with ephemeral credentials
  • You MUST inform the user if any required tool is missing and how to install/configure it
  • You MUST ask the user if they want to proceed despite any missing tools
  • If the aws socialmessaging subcommand is not recognized, the user must update to the latest AWS CLI version
  • Required IAM permissions (scope to specific WABA and phone number ARNs):
    • Templates: social-messaging:CreateWhatsAppMessageTemplate, social-messaging:GetWhatsAppMessageTemplate, social-messaging:ListWhatsAppMessageTemplates, social-messaging:UpdateWhatsAppMessageTemplate, social-messaging:DeleteWhatsAppMessageTemplate, social-messaging:ListWhatsAppTemplateLibrary, social-messaging:CreateWhatsAppMessageTemplateFromLibrary
    • Sending: social-messaging:SendWhatsAppMessage
    • Media: social-messaging:PostWhatsAppMessageMedia, social-messaging:CreateWhatsAppMessageTemplateMedia, social-messaging:GetWhatsAppMessageMedia, social-messaging:DeleteWhatsAppMessageMedia
    • Events: social-messaging:PutWhatsAppBusinessAccountEventDestinations
    • Diagnostics: social-messaging:GetLinkedWhatsAppBusinessAccount, social-messaging:GetLinkedWhatsAppBusinessAccountPhoneNumber, social-messaging:ListLinkedWhatsAppBusinessAccounts
    • Supporting: sns:ListSubscriptionsByTopic, iam:PassRole (for event destination role)
2. Manage Templates

Create, update, and delete message templates (utility, marketing, authentication).

  • create-whatsapp-message-template: base64-encode --template-definition (blob type)
  • create-whatsapp-message-template-from-library: use pre-approved Meta library templates
  • list-whatsapp-template-library: browse available library templates
  • get-whatsapp-message-template: retrieve template details by --id (WABA) and --meta-template-id
  • update-whatsapp-message-template: modify existing template content
  • delete-whatsapp-message-template: requires --template-name (NOT --meta-template-name); always include --delete-all-languages
  • list-whatsapp-message-templates: response fields are templateStatus and templateCategory (NOT status/category)
  • Templates with {{N}} parameters MUST include "parameter_format": "positional" (exception: AUTHENTICATION — Meta handles OTP parameters automatically) and "example"
  • Meta reviews all templates (minutes to 24h); MUST NOT send with PENDING/REJECTED
  • Choosing the wrong category causes reclassification (UTILITY → MARKETING) which changes pricing — see managing-templates.md — Choosing the Right Category for guidance on selecting UTILITY vs MARKETING vs AUTHENTICATION
  • You MUST confirm the intended category (UTILITY, MARKETING, or AUTHENTICATION) with the user before creating a template — explain the categorization criteria and reclassification risk if the choice is ambiguous

See managing-templates.md.

3. Send Messages
Template Messages (no 24h restriction)
  • Use for: transactional updates (utility), promotions (marketing), verification codes (authentication)
  • Collect: phone number ID, recipient (E.164 with +), template name, language, parameters
  • Marketing templates may include image headers
  • --message is blob type — MUST base64-encode JSON
Freeform Messages (24h window required)
  • Use for: customer service replies within 24h of customer's last inbound message
  • Supports: text, image, document, video, audio — see WhatsApp Cloud API media reference for supported format and size constraints
  • No API to check window status — user must confirm from logs or event history
  • Media URLs MUST be publicly accessible HTTPS and remain available for the full 30-day message availability window (Meta can re-fetch anytime). For sensitive content (receipts, invoices, PII), upload via post-whatsapp-message-media and reference by media ID instead — presigned URLs cannot satisfy the 30-day availability requirement

Constraints for all sends:

  • Before executing any API call, validate parameter formats:
    • Phone number IDs match phone-number-id-* pattern
    • WABA IDs match waba-* pattern
    • Recipient numbers are E.164 with + prefix (e.g., +14155551234), or Business-Scoped User ID (BSUID) via the "recipient" field
    • Template names contain only lowercase letters, numbers, and underscores
    • Language codes use Meta's locale format with underscores (e.g., en_US, pt_BR)
    • --meta-api-version is v{Major}.{Minor} format (e.g., v21.0)
  • "messaging_product" MUST be "whatsapp" in the JSON body; check Meta's Graph API changelog for the supported Meta Graph API version
  • --message is blob type — MUST base64-encode the JSON payload
  • A successful messageId means queued, not delivered
  • You MUST ask for all required parameters upfront in a single prompt
  • You MUST accept parameters as individual values, JSON objects, or file references
  • You MUST explain each step before executing
  • You SHOULD confirm all parameters with the user before executing
  • You MUST respect the user's decision to abort
  • You MUST NOT send more than 5 messages per batch without user confirmation
  • You MUST NOT create or access credentials directly

See sending-messages.md.

Show full SKILL.md (429 more words)Show less
4. Manage Media

Upload, retrieve, and delete media for messages and template headers.

  • post-whatsapp-message-media: upload media, returns reusable media ID
  • create-whatsapp-message-template-media: upload media specifically for template headers
  • get-whatsapp-message-media: retrieve media metadata/URL by ID
  • delete-whatsapp-message-media: remove uploaded media

See managing-media.md.

5. Configure Event Destinations

Set up delivery tracking, template status notifications, and reclassification alerts.

Set up delivery tracking, template status notifications, and reclassification alerts. A WABA can only have one event destination. See configuring-event-destinations.md for prerequisites (IAM role, SNS topic with KMS encryption, HTTPS-only subscription endpoints, condition keys) and full security controls.

6. Troubleshoot Delivery

Diagnostic flow: WABA status → phone number → templates → event destinations → quotas.

  • get-linked-whatsapp-business-account: registration MUST be COMPLETE
  • get-linked-whatsapp-business-account-phone-number: verify phone number health
  • list-linked-whatsapp-business-accounts: list all WABAs
  • Template reclassified: detectable via event destinations (real-time) or by listing templates and comparing categories; delete and recreate
  • 24h window expired: use template message instead
  • Rate limiting: new WABAs have lower limits; increases with quality
  • Recipient without WhatsApp: silently dropped

See troubleshooting-delivery.md.

Quick Reference — Common Errors

  • Access denied: verify IAM permissions scoped to WABA/phone number ARNs
  • Template rejected: body must match category; include parameter_format and example
  • Template reclassified: configure event destinations to detect; delete and recreate
  • 24h window expired: use template message instead of freeform
  • Send fails: --origination-phone-number-id is the ID (not phone number); recipient E.164 with +
  • Queued but not delivered: 200 = queued; configure event destinations for status
  • Media URL inaccessible: must be publicly accessible HTTPS

Security Considerations

  • Use least-privilege IAM policies scoped to specific social-messaging: actions and WABA/phone number ARNs
  • Use ephemeral credentials (IAM roles) instead of long-lived access keys
  • Store secrets in AWS Secrets Manager or Parameter Store — never in code or environment variables
  • Enable CloudTrail for auditing all social-messaging API calls; encrypt logs with KMS CMK
  • Encrypt SNS topics for event destinations with KMS (callbacks contain recipient metadata)
  • Encrypt CloudWatch Logs with KMS if monitoring social-messaging activity
  • Avoid sensitive data in template parameters and freeform message content (they appear in CloudTrail logs)
  • Validate recipient phone numbers to prevent unauthorized messaging
  • Verify SNS subscription endpoints are authorized by your team — validate that all subscribed email addresses and systems belong to personnel/systems that should receive sensitive delivery status and recipient metadata before confirming subscriptions. Use HTTPS-only endpoints
  • Add condition keys (aws:SourceArn, aws:SourceAccount) to SNS topic policies to prevent confused deputy attacks
  • Implement rate limiting via service quotas and CloudWatch alarms on send rates

Additional Resources

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

Files

SKILL.md and 5 other files (references) in skills/specialized-skills/messaging-and-streaming-skills/aws-social-messaging of aws/agent-toolkit-for-aws.

  • SKILL.md
  • references/configuring-event-destinations.md
  • references/managing-media.md
  • references/managing-templates.md
  • references/sending-messages.md
  • references/troubleshooting-delivery.md

Open the folder on GitHubat commit df2ab44

Compare with similar skills

AWS Social Messaging 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.

AWS Social Messaging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AWS Social Messaging this skillaws/agent-toolkit-for-aws2.8k—~2.8kAutomated safety check: PassApache-2.0
Agent Squad Python Guide2FastLabs/agent-squad7.8k—~4.7kAutomated safety check: PassApache-2.0
AWS Cdk Developmentzxkane/aws-skills3672 repos~2.5kAutomated safety check: PassMIT
AWS Serverless Edazxkane/aws-skills3674 repos~3.2kAutomated safety check: PassMIT
Terravision Cloud Diagramspatrickchugh/terravision1.6k—~5.6kAutomated safety check: NotesAGPL-3.0-only
FoundatioFoundatioFx/Foundatio2.1k—~3.9kAutomated safety check: PassApache-2.0

Similar skills

  • Agent Squad Python Guide

    2FastLabs/agent-squad

    Map of the agent-squad Python framework for async multi-agent orchestration: which agent, classifier, storage and tool provider to pick, and the pitfalls to avoid.

    7.8k GitHub stars~4.7k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • AWS Cdk Development

    zxkane/aws-skills

    AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python.

    367 GitHub starsUsed in 2 repos~2.5k tokens
    DevOps & CloudAuto-check passed
  • AWS Serverless Eda

    zxkane/aws-skills

    AWS serverless and event-driven architecture expert based on Well-Architected Framework.

    367 GitHub starsUsed in 4 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Terravision Cloud Diagrams

    patrickchugh/terravision

    Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.

    1.6k GitHub stars~5.6k tokensUpdated 3 days ago
    DevOps & CloudAuto-check: notes
  • Foundatio

    FoundatioFx/Foundatio

    A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.

    2.1k GitHub stars~3.9k tokensUpdated today
    Backend & APIsAuto-check passed
  • Spotinfo

    alexei-led/spotinfo

    Query Spot/preemptible VM prices, savings and interruption risk across AWS, GCP and Azure with the spotinfo CLI.

    164 GitHub stars~1.8k tokensUpdated 4 days ago
    DevOps & CloudAuto-check passed

More from aws/agent-toolkit-for-aws

All 138 skills in this repo
  • Agent Advisor

    aws/agent-toolkit-for-aws

    Official

    Entry point for AI-agent work on AWS: pick a runtime, plan a migration for existing workloads, and build an executable POC — one phased flow.

    2.8k GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Agents Build

    aws/agent-toolkit-for-aws

    Official

    A skill your agent uses to extend an existing agent project with memory, app integration, VPC, multi-agent, migration, model, browser, code interpreter, payments, or resource removal.

    2.8k GitHub stars~2.3k tokensUpdated today
    Auto-check: notes
  • Launch With AWS

    aws/agent-toolkit-for-aws

    Official

    Migrates vibe-coded web applications to AWS. An agent skill from aws/agent-toolkit-for-aws.

    2.8k GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Official

    Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size.

    2.8k GitHub stars~4k tokensUpdated today
    Auto-check passed
  • AWS Marketplace Metering

    aws/agent-toolkit-for-aws

    Official

    Deploys, queries, and debugs AWS Marketplace usage-based (PAYG) metering — the pipeline (ResolveCustomer, BatchMeterUsage, EventBridge via SAM) and querying/debugging metering records, statuses…

    2.8k GitHub stars~18k tokensUpdated today
    Auto-check passed
  • Agents Pay

    aws/agent-toolkit-for-aws

    Official

    A skill your agent uses when THIS agent needs to pay for x402-protected content at runtime: hitting a paywall mid-task, settling it via AgentCore Payments, and applying operator-defined spend limits.

    2.8k GitHub stars~6.5k tokensUpdated today
    Auto-check: notes

Questions about AWS Social Messaging

What does AWS Social Messaging do?

Manages WhatsApp messaging through AWS End User Messaging Social. AWS Social Messaging is an agent skill from aws/agent-toolkit-for-aws, published by the product's own GitHub organization. Manages WhatsApp messaging through AWS End User Messaging Social.

How do I install AWS Social Messaging in Claude Code?

Run `npx skills add aws/agent-toolkit-for-aws --skill aws-social-messaging -a claude-code`. Or copy the skill folder (skills/specialized-skills/messaging-and-streaming-skills/aws-social-messaging in aws/agent-toolkit-for-aws) into .claude/skills/aws-social-messaging in your project. Claude Code loads it when a task matches its description.

How do I install AWS Social Messaging in Codex?

Run `npx skills add aws/agent-toolkit-for-aws --skill aws-social-messaging -a codex`. Or copy the skill folder (skills/specialized-skills/messaging-and-streaming-skills/aws-social-messaging in aws/agent-toolkit-for-aws) into .agents/skills/aws-social-messaging in your project. Codex loads it when a task matches its description.

Can I use AWS Social Messaging 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 aws/agent-toolkit-for-aws --skill aws-social-messaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aws-social-messaging, .gemini/skills/aws-social-messaging, .github/skills/aws-social-messaging and .opencode/skills/aws-social-messaging in your project.

What does AWS Social Messaging need to run?

Going by SKILL.md and its folder, AWS Social Messaging needs the command-line tools its instructions call (aws).

Does AWS Social Messaging access the network?

SKILL.md names 2 domains. As links in the text: docs.aws.amazon.com and developers.facebook.com. This is read from the text; nothing was executed.

Is AWS Social Messaging 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 AWS Social Messaging use?

AWS Social Messaging is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AWS Social Messaging use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.4k tokens, read only when the agent opens those files.

What are the alternatives to AWS Social Messaging?

Skills that share tags, products or a category with AWS Social Messaging: Agent Squad Python Guide (2FastLabs/agent-squad, 7.8k stars), AWS Cdk Development (zxkane/aws-skills, 367 stars), AWS Serverless Eda (zxkane/aws-skills, 367 stars) and Terravision Cloud Diagrams (patrickchugh/terravision, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AWS Social Messaging?

aws (a GitHub organization, an official publisher) maintains it in aws/agent-toolkit-for-aws, which has 2,830 GitHub stars. The repository holds 138 skills in this directory. The repository was last updated on October 9, 2026.

Source: aws/agent-toolkit-for-aws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.