All skills
aws avatar

/aws-social-messaging

@6329aa8

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.

Use this Skill: https://skilld.dev/gh/aws/agent-toolkit-for-aws/aws-social-messaging

This session only. Nothing lands on disk.

referencesmanaging-media.md

≈654 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Managing WhatsApp Media

Security: S3 buckets used for media storage should have default encryption enabled (SSE-S3 or SSE-KMS) and enforce aws:SecureTransport in the bucket policy. Media files may contain sensitive content (receipts, invoices, PII). See SKILL.md — Security Considerations.

Upload Media

Option 1: From S3 Bucket

aws socialmessaging post-whatsapp-message-media \
  --origination-phone-number-id "phone-number-id-XXXXXXXXXXXXXXXXXXXX" \
  --source-s3-file '{"bucketName":"my-media-bucket","key":"images/receipt.png"}'

Option 2: From Presigned URL

aws socialmessaging post-whatsapp-message-media \
  --origination-phone-number-id "phone-number-id-XXXXXXXXXXXXXXXXXXXX" \
  --source-s3-presigned-url '{"url":"https://my-bucket.s3.amazonaws.com/image.png","headers":{}}'

Security: When generating presigned URLs, set a short expiration (15–30 minutes) to limit the window of access. See SKILL.md — Security Considerations.

Returns a reusable media ID for sending messages without re-uploading.

Upload Media for Template Headers

aws socialmessaging create-whatsapp-message-template-media \
  --id "waba-XXXXXXXXXXXXXXXXXXXX" \
  --source-s3-file '{"bucketName":"my-media-bucket","key":"templates/promo-header.jpg"}'

Use the returned media handle in template HEADER component's header_handle field.

Get Media

aws socialmessaging get-whatsapp-message-media \
  --media-id "XXXXXXXXXXXXXXXXXXXX" \
  --origination-phone-number-id "phone-number-id-XXXXXXXXXXXXXXXXXXXX"

Returns media metadata and a download URL.

Sensitive data: The returned download URL may be logged in CloudTrail and provides temporary access to media content — treat it as sensitive. Similarly, post-whatsapp-message-media input parameters (S3 bucket/key, presigned URLs) appear in CloudTrail logs.

Delete Media

aws socialmessaging delete-whatsapp-message-media \
  --media-id "XXXXXXXXXXXXXXXXXXXX" \
  --origination-phone-number-id "phone-number-id-XXXXXXXXXXXXXXXXXXXX"

Supported Media Types

Limits per WhatsApp Cloud API media reference — check Meta's documentation for supported formats and size constraints.

Usage in Messages

Once uploaded, reference media by ID instead of URL:

{"type":"image","image":{"id":"XXXXXXXXXXXXXXXXXXXX","caption":"Your receipt"}}

This avoids requiring publicly accessible URLs for each send.

Source: SKILL.md on GitHub

No alerts1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill provides a comprehensive and secure framework for managing WhatsApp messaging through AWS services. It includes security considerations such as the requirement for specific IAM permissions and the handling of recipient data. While these warrant review, they are implemented using standard AWS security controls like least-privilege policies and KMS encryption, aligning with the skill's intended functionality. See detailed analysis for context.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

Signed by skilld at 6329aa8. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
version
1

README badge

README badge for aws/agent-toolkit-for-aws/aws-social-messaging