Amazon SES
App · Email · 20 actions
Send email through Amazon Simple Email Service: plain, templated or bulk sends, verified sender identities, email templates, the suppression list and configuration sets.
Actions
| Action | What it does |
|---|---|
| Check suppressed address | Check whether an address is on the suppression list, and why. |
| Create configuration set | Create a configuration set, which groups sends for delivery options and reputation tracking. |
| Create email identity | Start verifying an email address or a domain. |
| Create template | Store an email template. |
| Delete configuration set | Delete a configuration set and its event destinations. |
| Delete email identity | Remove an email address or domain from SES. |
| Delete template | Delete a stored template. |
| Get account | Read the account's sending quota, send rate, whether it is still in the sandbox and whether sending is enabled, for the connection's region. |
| Get configuration set | Read a configuration set's sending, delivery and tracking options. |
| Get email identity | Read one identity's verification, DKIM and MAIL FROM status, including the DKIM DNS records a domain needs. |
| Get template | Read a template's subject and bodies. |
| List configuration sets | List the configuration set names in this region. |
| List email identities | List the email addresses and domains set up for sending in this region, with their verification status. |
| List suppressed addresses | List addresses on the account's suppression list - ones SES will not send to because they bounced or complained. |
| List templates | List the templates stored in this region. |
| Send bulk email | Send a stored template to many recipients in one call, each as a separate email with its own variables. |
| Send email | Send an email with a subject and a text and/or HTML body, optionally with attachments and custom headers. |
| Send templated email | Send an email built from a stored SES template, filling its {{variables}} from Template data. |
| Test render template | Render a template with sample data and return the resulting subject and bodies, without sending anything. |
| Update template | Change a template's subject and/or bodies. |
Check suppressed address
Check whether an address is on the suppression list, and why. An address that is not on it returns suppressed = false. The match is case-sensitive.
Inputs
- Email address
email_addresstextRequired - The address to look up.
Outputs
resultobject
Example output
{
"result": {
"email_address": "ana@example.com",
"feedback_id": null,
"last_updated_at": null,
"message_id": null,
"reason": null,
"suppressed": false
}
}Create configuration set
Create a configuration set, which groups sends for delivery options and reputation tracking.
Inputs
- Name
configuration_set_nametextRequired - Up to 64 letters, numbers, hyphens and underscores, unique in this region.
- Sending enabled
sending_enabledtrue/false - Allow email to be sent through it (on by default).
- TLS policy
tls_policytext - Whether delivery must use TLS.One of:
REQUIRE(Require TLS (don't deliver if the receiving server can't use it)),OPTIONAL(Optional (use TLS when available - the SES default)). - Reputation metrics
reputation_metrics_enabledtrue/false - Publish bounce and complaint metrics to CloudWatch.
- Tags
tagsobject - Optional AWS tags as name/value pairs.
Outputs
resultobject
Example output
{
"result": {
"configuration_set_name": "transactional",
"created": true
}
}Create email identity
Start verifying an email address or a domain. An address gets a verification email and can send once its link is clicked; a domain returns the DKIM CNAME records to publish in DNS.
Inputs
- Email address or domain
email_identitytextRequired - For example 'ana@example.com' or 'example.com'.
- Default configuration set
configuration_set_nametext - Configuration set used by default for mail from it.
- Tags
tagsobject - Optional AWS tags as name/value pairs.
Outputs
resultobject
Example output
{
"result": {
"created": true,
"dkim": {
"current_signing_key_length": "RSA_2048_BIT",
"last_key_generation_at": "2026-09-01T10:00:00Z",
"next_signing_key_length": "RSA_2048_BIT",
"signing_attributes_origin": "AWS_SES",
"signing_enabled": true,
"signing_hosted_zone": null,
"status": "PENDING",
"tokens": [
"abc123token"
]
},
"dkim_records": [
{
"name": "abc123token._domainkey.example.com",
"type": "CNAME",
"value": "abc123token.dkim.amazonses.com"
}
],
"identity_name": "example.com",
"identity_type": "DOMAIN",
"verified_for_sending": false
}
}Create template
Store an email template. Subject and bodies can use {{variable}} placeholders filled in at send time.
Inputs
- Template name
template_nametextRequired - A name for the template, unique in this region.
- Subject
subjecttextRequired - Subject line, e.g. 'Welcome, {{name}}!'.
- Text body
text_parttext - Plain-text body. Provide this, an HTML body, or both.
- HTML body
html_parttext - HTML body. Provide this, a text body, or both.
- Tags
tagsobject - Optional AWS tags as name/value pairs.
Outputs
resultobject
Example output
{
"result": {
"created": true,
"template_name": "welcome"
}
}Delete configuration set
Delete a configuration set and its event destinations.
Inputs
- Configuration set
configuration_set_nametextRequired - The configuration set to delete.
Outputs
resultobject
Example output
{
"result": {
"configuration_set_name": "transactional",
"deleted": true
}
}Delete email identity
Remove an email address or domain from SES. Nothing can be sent from it afterwards until it is verified again.
Inputs
- Identity
email_identitytextRequired - The email address or domain to remove.
Outputs
resultobject
Example output
{
"result": {
"deleted": true,
"identity_name": "example.com"
}
}Delete template
Delete a stored template.
Inputs
- Template name
template_nametextRequired - The template to delete.
Outputs
resultobject
Example output
{
"result": {
"deleted": true,
"template_name": "welcome"
}
}Get account
Read the account's sending quota, send rate, whether it is still in the sandbox and whether sending is enabled, for the connection's region.
Inputs
None.
Outputs
resultobject
Example output
{
"result": {
"account": {
"additional_contact_email_addresses": [],
"contact_language": null,
"current_pricing_plan": null,
"dedicated_ip_auto_warmup_enabled": false,
"enforcement_status": "HEALTHY",
"in_sandbox": true,
"mail_type": null,
"max_24_hour_send": 200,
"max_send_rate": 1,
"next_pricing_plan": null,
"production_access_enabled": false,
"review_case_id": null,
"review_status": null,
"sending_enabled": true,
"sent_last_24_hours": 3,
"suppressed_reasons": [
"BOUNCE",
"COMPLAINT"
],
"vdm_enabled": null,
"website_url": null
}
}
}Get configuration set
Read a configuration set's sending, delivery and tracking options.
Inputs
- Configuration set
configuration_set_nametextRequired - The configuration set to read.
Outputs
resultobject
Example output
{
"result": {
"configuration_set": {
"configuration_set_name": "transactional",
"custom_redirect_domain": null,
"https_policy": null,
"last_fresh_start_at": null,
"max_delivery_seconds": null,
"reputation_metrics_enabled": true,
"sending_enabled": true,
"sending_pool_name": null,
"suppressed_reasons": [],
"tags": {},
"tls_policy": "OPTIONAL"
}
}
}Get email identity
Read one identity's verification, DKIM and MAIL FROM status, including the DKIM DNS records a domain needs.
Inputs
- Identity
email_identitytextRequired - The email address or domain, e.g. 'example.com'.
Outputs
resultobject
Example output
{
"result": {
"identity": {
"behavior_on_mx_failure": null,
"configuration_set_name": null,
"dkim": {
"current_signing_key_length": "RSA_2048_BIT",
"last_key_generation_at": "2026-09-01T10:00:00Z",
"next_signing_key_length": "RSA_2048_BIT",
"signing_attributes_origin": "AWS_SES",
"signing_enabled": true,
"signing_hosted_zone": null,
"status": "SUCCESS",
"tokens": [
"abc123token"
]
},
"dkim_records": [
{
"name": "abc123token._domainkey.example.com",
"type": "CNAME",
"value": "abc123token.dkim.amazonses.com"
}
],
"feedback_forwarding_enabled": true,
"identity_name": "example.com",
"identity_type": "DOMAIN",
"mail_from_domain": null,
"mail_from_domain_status": null,
"policies": {},
"tags": {},
"verification_error_type": null,
"verification_last_checked_at": "2026-09-22T08:00:00Z",
"verification_last_success_at": "2026-09-22T08:00:00Z",
"verification_status": "SUCCESS",
"verified_for_sending": true
}
}
}Get template
Read a template's subject and bodies.
Inputs
- Template name
template_nametextRequired - The template to read.
Outputs
resultobject
Example output
{
"result": {
"template": {
"html": "<p>Hi {{name}}, thanks for signing up.</p>",
"subject": "Welcome, {{name}}!",
"tags": {},
"template_name": "welcome",
"text": "Hi {{name}}, thanks for signing up."
}
}
}List configuration sets
List the configuration set names in this region.
Inputs
- Page size
page_sizenumber - How many to return per page.At least 1.
- Next token
next_tokentext - The 'next_token' from a previous page, to read the next one.
Outputs
resultobject
Example output
{
"result": {
"configuration_sets": [
"transactional"
],
"count": 1,
"has_more": false,
"next_token": null
}
}List email identities
List the email addresses and domains set up for sending in this region, with their verification status.
Inputs
- Page size
page_sizenumber - How many to return per page (1-1000).From 1 to 1000.
- Next token
next_tokentext - The 'next_token' from a previous page, to read the next one.
Outputs
resultobject
Example output
{
"result": {
"count": 1,
"has_more": false,
"identities": [
{
"identity_name": "example.com",
"identity_type": "DOMAIN",
"sending_enabled": true,
"verification_status": "SUCCESS"
}
],
"next_token": null
}
}List suppressed addresses
List addresses on the account's suppression list - ones SES will not send to because they bounced or complained.
Inputs
- Reasons
reasonstext - Only addresses suppressed for these reasons.One or more of:
BOUNCE,COMPLAINT. - Added after
start_datedate and time - Only addresses added to the list after this time.
- Added before
end_datedate and time - Only addresses added to the list before this time.
- Page size
page_sizenumber - How many to return per page.At least 1.
- Next token
next_tokentext - The 'next_token' from a previous page, to read the next one.
Outputs
resultobject
Example output
{
"result": {
"count": 1,
"has_more": false,
"next_token": null,
"suppressed_destinations": [
{
"email_address": "bounced@example.com",
"last_updated_at": "2026-09-18T15:02:11Z",
"reason": "BOUNCE"
}
]
}
}List templates
List the templates stored in this region.
Inputs
- Page size
page_sizenumber - How many to return per page (1-100).From 1 to 100.
- Next token
next_tokentext - The 'next_token' from a previous page, to read the next one.
Outputs
resultobject
Example output
{
"result": {
"count": 1,
"has_more": false,
"next_token": null,
"templates": [
{
"created_at": "2026-09-20T12:00:00Z",
"template_name": "welcome"
}
]
}
}Send bulk email
Send a stored template to many recipients in one call, each as a separate email with its own variables. Returns each recipient's status; the step fails only if none was sent.
Inputs
- From
from_emailtextRequired - The sender: a verified email address, or any address at a verified domain, in the connection's region. 'Ana <ana@example.com>' sets a display name.
- Template name
template_nametextRequired - The stored template to send.
- Recipients
entrieslistRequired - One entry per email: an address, or an object with 'to' (address or list), optional 'cc'/'bcc', and 'template_data' overriding the defaults. While the account is in the SES sandbox every recipient must be a verified identity or the mailbox simulator (success@simulator.amazonses.com).
- Default template data
default_template_dataobject - Variables used for every recipient unless their entry sets its own.
- Reply-to
reply_tolist - Addresses replies should go to.
- Configuration set
configuration_set_nametext - Optional configuration set to send through, for event tracking and delivery options.
- Message tags
default_email_tagsobject - Name/value tags attached to every message.
Outputs
resultobject
Example output
{
"result": {
"count": 1,
"failed_count": 0,
"results": [
{
"error": null,
"index": 0,
"message_id": "0100019a1b2c3d4e-5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c-000000",
"status": "SUCCESS",
"succeeded": true,
"to": [
"ana@example.com"
]
}
],
"succeeded_count": 1
}
}Send email
Send an email with a subject and a text and/or HTML body, optionally with attachments and custom headers.
Inputs
- From
from_emailtextRequired - The sender: a verified email address, or any address at a verified domain, in the connection's region. 'Ana <ana@example.com>' sets a display name.
- To
tolistRequired - Recipient email addresses. While the account is in the SES sandbox every recipient must be a verified identity or the mailbox simulator (success@simulator.amazonses.com).
- Subject
subjecttextRequired - The subject line.
- Text body
text_bodytext - Plain-text body. Provide this, an HTML body, or both.
- HTML body
html_bodytext - HTML body. Provide this, a text body, or both.
- Cc
cclist - Carbon-copy recipients.
- Bcc
bcclist - Blind-carbon-copy recipients.
- Reply-to
reply_tolist - Addresses replies should go to.
- Configuration set
configuration_set_nametext - Optional configuration set to send through, for event tracking and delivery options.
- Message tags
email_tagsobject - Name/value tags attached to the message, reported in event notifications, e.g. {"campaign": "welcome"}.
- Headers
headersobject - Extra message headers as name/value pairs (up to 15, printable ASCII), e.g. {"X-Campaign": "welcome"}.
- Attachments
attachmentslist - Files to attach. Each needs a 'file_name' and either 'content' (text) or 'content_base64'; 'content_type' (e.g. text/csv) and 'disposition' (ATTACHMENT or INLINE) are optional.
Outputs
resultobject
Example output
{
"result": {
"message_id": "0100019a1b2c3d4e-5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c-000000"
}
}Send templated email
Send an email built from a stored SES template, filling its {{variables}} from Template data. SES can accept a message and then drop it if a variable is missing, so check the data with Test render template first.
Inputs
- From
from_emailtextRequired - The sender: a verified email address, or any address at a verified domain, in the connection's region. 'Ana <ana@example.com>' sets a display name.
- To
tolistRequired - Recipient email addresses. While the account is in the SES sandbox every recipient must be a verified identity or the mailbox simulator (success@simulator.amazonses.com).
- Template name
template_nametextRequired - The stored template to send.
- Template data
template_dataobject - Values for the template's {{variables}}, e.g. {"name": "Ana"}.
- Cc
cclist - Carbon-copy recipients.
- Bcc
bcclist - Blind-carbon-copy recipients.
- Reply-to
reply_tolist - Addresses replies should go to.
- Configuration set
configuration_set_nametext - Optional configuration set to send through, for event tracking and delivery options.
- Message tags
email_tagsobject - Name/value tags attached to the message, reported in event notifications, e.g. {"campaign": "welcome"}.
Outputs
resultobject
Example output
{
"result": {
"message_id": "0100019a1b2c3d4e-5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c-000000"
}
}Test render template
Render a template with sample data and return the resulting subject and bodies, without sending anything. Fails if a variable the template uses is missing from the data.
Inputs
- Template name
template_nametextRequired - The template to render.
- Template data
template_dataobject - Values for the template's {{variables}}, e.g. {"name": "Ana"}.
Outputs
resultobject
Example output
{
"result": {
"html": "<p>Hi Ana, thanks for signing up.</p>",
"rendered_template": "Subject: Welcome, Ana!\r\n...",
"subject": "Welcome, Ana!",
"template_name": "welcome",
"text": "Hi Ana, thanks for signing up."
}
}Update template
Change a template's subject and/or bodies. Fields left empty keep their current value.
Inputs
- Template name
template_nametextRequired - The template to change.
- Subject
subjecttext - New subject line. Leave empty to keep the current one.
- Text body
text_parttext - New plain-text body. Leave empty to keep it.
- HTML body
html_parttext - New HTML body. Leave empty to keep it.
Outputs
resultobject
Example output
{
"result": {
"html": "<p>Hi {{name}}, thanks for signing up.</p>",
"subject": "Welcome aboard, {{name}}!",
"template_name": "welcome",
"text": "Hi {{name}}, thanks for signing up.",
"updated": true
}
}