---
title: AWS SES
description: Send emails and manage templates with AWS Simple Email Service
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="ses"
  color="linear-gradient(45deg, #BD0816 0%, #FF5252 100%)"
/>

{/* MANUAL-CONTENT-START:intro */}
[Amazon Simple Email Service (SES)](https://aws.amazon.com/ses/) is a cloud-based email sending service designed for high-volume, transactional, and marketing email delivery. It provides a cost-effective, scalable way to send email without managing your own mail server infrastructure.

With AWS SES, you can:

- **Send simple emails**: Deliver one-off emails with plain text or HTML body content to individual recipients
- **Send templated emails**: Use pre-defined templates with variable substitution (e.g., `{{name}}`, `{{link}}`) for personalized emails at scale
- **Send bulk emails**: Deliver templated emails to large lists of recipients in a single API call, with per-destination data overrides
- **Manage email templates**: Create, retrieve, list, and delete reusable email templates for transactional and marketing campaigns
- **Monitor account health**: Retrieve your account's sending quota, send rate, and whether sending is currently enabled

In Sim, the AWS SES integration is designed for workflows that need reliable, programmatic email delivery — from access request notifications and approval alerts to bulk outreach and automated reporting. It pairs naturally with the IAM Identity Center integration for TEAM (Temporary Elevated Access Management) workflows, where email notifications are sent when access is provisioned, approved, or revoked.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Integrate AWS SES v2 into the workflow. Send simple, templated, and bulk emails. Manage email templates and retrieve account sending quota and verified identity information.



## Actions

### `ses_send_email`

Send an email via AWS SES using simple or HTML content

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `fromAddress` | string | Yes | Verified sender email address |
| `toAddresses` | string | Yes | Comma-separated list of recipient email addresses |
| `subject` | string | Yes | Email subject line |
| `bodyText` | string | No | Plain text email body |
| `bodyHtml` | string | No | HTML email body |
| `ccAddresses` | string | No | Comma-separated list of CC email addresses |
| `bccAddresses` | string | No | Comma-separated list of BCC email addresses |
| `replyToAddresses` | string | No | Comma-separated list of reply-to email addresses |
| `configurationSetName` | string | No | SES configuration set name for tracking |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `messageId` | string | SES message ID for the sent email |

### `ses_send_templated_email`

Send an email using an SES email template with dynamic template data

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `fromAddress` | string | Yes | Verified sender email address |
| `toAddresses` | string | Yes | Comma-separated list of recipient email addresses |
| `templateName` | string | Yes | Name of the SES email template to use |
| `templateData` | string | Yes | JSON string of key-value pairs for template variable substitution |
| `ccAddresses` | string | No | Comma-separated list of CC email addresses |
| `bccAddresses` | string | No | Comma-separated list of BCC email addresses |
| `configurationSetName` | string | No | SES configuration set name for tracking |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `messageId` | string | SES message ID for the sent email |

### `ses_send_bulk_email`

Send emails to multiple recipients using an SES template with per-recipient data

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `fromAddress` | string | Yes | Verified sender email address |
| `templateName` | string | Yes | Name of the SES email template to use |
| `destinations` | string | Yes | JSON array of destination objects with toAddresses \(string\[\]\) and optional templateData \(JSON string\); falls back to defaultTemplateData when omitted |
| `defaultTemplateData` | string | No | Default JSON template data used when a destination does not specify its own |
| `configurationSetName` | string | No | SES configuration set name for tracking |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `results` | array | Per-destination send results with status and messageId |
| `successCount` | number | Number of successfully sent emails |
| `failureCount` | number | Number of failed email sends |

### `ses_list_identities`

List all verified email identities (email addresses and domains) in your SES account

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `pageSize` | number | No | Maximum number of identities to return \(1-1000\) |
| `nextToken` | string | No | Pagination token from a previous list response |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `identities` | array | List of email identities with name, type, sending status, and verification status |
| `nextToken` | string | Pagination token for the next page of results |
| `count` | number | Number of identities returned |

### `ses_get_account`

Get SES account sending quota and status information

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `sendingEnabled` | boolean | Whether email sending is enabled for the account |
| `max24HourSend` | number | Maximum emails allowed per 24-hour period |
| `maxSendRate` | number | Maximum emails allowed per second |
| `sentLast24Hours` | number | Number of emails sent in the last 24 hours |

### `ses_create_template`

Create a new SES email template for use with templated email sending

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `templateName` | string | Yes | Unique name for the email template |
| `subjectPart` | string | Yes | Subject line template \(supports \{\{variable\}\} substitution\) |
| `textPart` | string | No | Plain text version of the template body |
| `htmlPart` | string | No | HTML version of the template body |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `message` | string | Confirmation message for the created template |

### `ses_get_template`

Retrieve the content and details of an SES email template

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `templateName` | string | Yes | Name of the template to retrieve |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `templateName` | string | Name of the template |
| `subjectPart` | string | Subject line of the template |
| `textPart` | string | Plain text body of the template |
| `htmlPart` | string | HTML body of the template |

### `ses_list_templates`

List all SES email templates in your account

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `pageSize` | number | No | Maximum number of templates to return |
| `nextToken` | string | No | Pagination token from a previous list response |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `templates` | array | List of email templates with name and creation timestamp |
| `nextToken` | string | Pagination token for the next page of results |
| `count` | number | Number of templates returned |

### `ses_delete_template`

Delete an existing SES email template

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
| `accessKeyId` | string | Yes | AWS access key ID |
| `secretAccessKey` | string | Yes | AWS secret access key |
| `templateName` | string | Yes | Name of the template to delete |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `message` | string | Confirmation message for the deleted template |


