aws-social-messaging

Manages WhatsApp templates, messages, media, and event destinations via AWS End User Messaging Social.

2.5k|282|Updated Apr 23, 2026
One-click install
npx skills add https://github.com/aws/agent-toolkit-for-aws --skill aws-social-messaging
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aws-social-messaging
Source: https://github.com/aws/agent-toolkit-for-aws/tree/main/skills/specialized-skills/messaging-and-streaming-skills/aws-social-messaging
Command: npx skills add https://github.com/aws/agent-toolkit-for-aws --skill aws-social-messaging

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Sending WhatsApp messages at scale through AWS requires navigating Meta's template approval rules, 24-hour messaging windows, media handling, and delivery tracking — mistakes like wrong template categories or malformed payloads cause rejections, reclassifications, and silent delivery failures.

Core Features & Use Cases

  • Template Management: Create, update, delete, and browse WhatsApp message templates (utility, marketing, authentication) including pre-approved Meta library templates, with guidance on category selection to avoid reclassification.
  • Message Sending: Send template-based and freeform messages (text, image, document, video, audio) with correct base64-encoded payloads, E.164 recipient formatting, and Meta Graph API versioning.
  • Media & Event Handling: Upload and manage media via S3 or presigned URLs, and configure SNS-based event destinations for delivery status and template reclassification alerts.
  • Delivery Troubleshooting: Diagnose failures through a structured flow covering WABA status, phone number health, template state, event destinations, quotas, and CloudTrail logs.
  • Use Case: A developer needs to send order shipment notifications via WhatsApp — the skill guides creating an approved UTILITY template, sending messages with parameters, and configuring SNS event destinations to track delivery.

Quick Start

Ask the agent to create a WhatsApp utility template and send a test message to a recipient using AWS End User Messaging Social.

Frequently Asked Questions about aws-social-messaging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a WhatsApp message using AWS CLI?

Use the aws socialmessaging send-whatsapp-message command with an origination phone number ID, a base64-encoded WhatsApp Cloud API JSON payload, and a Meta Graph API version. Recipients must be in E.164 format with a + prefix, and the messaging_product field must be whatsapp.

How do I create a WhatsApp message template in AWS End User Messaging Social?

Use create-whatsapp-message-template with a base64-encoded template definition specifying name, category (UTILITY, MARKETING, or AUTHENTICATION), language, and components. Templates with {{N}} parameters must include parameter_format set to positional and example values for Meta review.

What is the difference between template and freeform WhatsApp messages?

Template messages use pre-approved Meta templates and can be sent anytime, while freeform messages (text, image, document) are only allowed within 24 hours of the customer's last inbound message. There is no API to check window status, so verify from logs or event history.

Why was my WhatsApp template reclassified from UTILITY to MARKETING?

Meta reclassifies templates whose body contains promotional language, unrelated calls-to-action, or content not tied to a specific user-initiated transaction. Configure event destinations to receive TEMPLATE_STATUS_UPDATE alerts, then delete and recreate the template with clearly transactional content.

How do I track WhatsApp message delivery status with AWS?

Configure an event destination using put-whatsapp-business-account-event-destinations with an SNS topic and IAM role. This delivers real-time notifications for message status (sent, delivered, read, failed) and template status changes, since a returned messageId only confirms queuing.

Why does my WhatsApp message show queued but never delivered?

A successful messageId means queued, not delivered. Common causes include the recipient not having WhatsApp, an expired 24-hour window for freeform messages, rate limiting on new WABAs, or missing event destinations that would reveal failure details.