# AWS WhatsApp

The **AWS WhatsApp** module manages API credentials and configuration settings for sending WhatsApp notifications through AWS End User Messaging / WhatsApp services. When configured, it can be linked to [WhatsApp Templates](/whatsapp-template) and [Notification](/notification) rules to automate multi-channel messaging.

---

## How it works

1. **Configure AWS WhatsApp integration** — provide your AWS Access Key ID, Secret Access Key, AWS region, WhatsApp Business Account ID, and WhatsApp Phone Number ID.
2. **Link to WhatsApp templates** — associate this integration record (`integrationId`) with a [WhatsApp Template](/whatsapp-template) when setting `integrationProvider: aws_whatsapp`.
3. **Automate notification dispatch** — active [Notification](/notification) rules with matching integration configuration will dispatch transactional WhatsApp messages via your AWS WhatsApp gateway.

---

## Fields

### Basic information

| Field | Type | Required | Max length | Description |
|---|---|---|---|---|
| `name` | string | ✅ | 256 | The name of the AWS WhatsApp integration record |
| `description` | string | ❌ | 1 024 | A brief description of the integration setup |
| `status` | enum | ✅ | `draft` | Status of the integration: `draft` · `live` · `paused` |

### AWS credentials & configuration

| Field | Type | Required | Description |
|---|---|---|---|
| `accessKeyId` | string | ✅ | The AWS IAM Access Key ID with permissions for WhatsApp messaging |
| `secretAccessKey` | string | ✅ | The AWS IAM Secret Access Key. Encrypted at rest and in transit (returned on create only). |
| `region` | string | ✅ | The target AWS region (e.g., `us-east-1`, `eu-west-1`) |
| `whatsAppBusinessAccountId` | string | ✅ | The registered WhatsApp Business Account ID |
| `whatsAppPhoneNumberId` | string | ✅ | The registered WhatsApp Phone Number ID |

---

## Real-world examples

**🟢 Configuring AWS WhatsApp Credentials**

```json
{
  "name": "Production AWS WhatsApp Gateway",
  "description": "Primary AWS integration for sending customer WhatsApp notifications.",
  "accessKeyId": "someaccesskeyid",
  "secretAccessKey": "somesecretaccesskey",
  "region": "us-east-1",
  "whatsAppBusinessAccountId": "yourwhatsappbusinessaccountid",
  "whatsAppPhoneNumberId": "yourwhatsappphonenumberid",
  "status": "live"
}
```

---

## Access & permissions

| Caller | Allowed operations | Notes |
|---|---|---|
| Admin | CREATE · GET · LIST · UPDATE · DELETE | Full management access |
| End user | *(none)* | No access |
| Guest user | *(none)* | No access |

---

## Related resources

| Resource | Description |
|---|---|
| [WhatsApp Template](/whatsapp-template) | Template configurations bound to AWS WhatsApp integration |
| [Notification](/notification) | Active notification rules targeting WhatsApp channels |
| [Notification Log](/notification-log) | Read-only delivery logs recording execution history |

---

## API reference

See the [API Reference](/api/aws-whatsapp) for full schemas and interactive examples for:

- `GET /schema/aws_whatsapp/record` — list AWS WhatsApp integration records
- `POST /schema/aws_whatsapp/record` — create an AWS WhatsApp integration record
- `GET /schema/aws_whatsapp/record/{id}` — get an AWS WhatsApp integration record by ID
- `PATCH /schema/aws_whatsapp/record/{id}` — update an AWS WhatsApp integration record
- `DELETE /schema/aws_whatsapp/record/{id}` — delete an AWS WhatsApp integration record
