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

ActionWhat it does
Check suppressed addressCheck whether an address is on the suppression list, and why.
Create configuration setCreate a configuration set, which groups sends for delivery options and reputation tracking.
Create email identityStart verifying an email address or a domain.
Create templateStore an email template.
Delete configuration setDelete a configuration set and its event destinations.
Delete email identityRemove an email address or domain from SES.
Delete templateDelete a stored template.
Get accountRead 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 setRead a configuration set's sending, delivery and tracking options.
Get email identityRead one identity's verification, DKIM and MAIL FROM status, including the DKIM DNS records a domain needs.
Get templateRead a template's subject and bodies.
List configuration setsList the configuration set names in this region.
List email identitiesList the email addresses and domains set up for sending in this region, with their verification status.
List suppressed addressesList addresses on the account's suppression list - ones SES will not send to because they bounced or complained.
List templatesList the templates stored in this region.
Send bulk emailSend a stored template to many recipients in one call, each as a separate email with its own variables.
Send emailSend an email with a subject and a text and/or HTML body, optionally with attachments and custom headers.
Send templated emailSend an email built from a stored SES template, filling its {{variables}} from Template data.
Test render templateRender a template with sample data and return the resulting subject and bodies, without sending anything.
Update templateChange 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 addressemail_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

Nameconfiguration_set_nametextRequired
Up to 64 letters, numbers, hyphens and underscores, unique in this region.
Sending enabledsending_enabledtrue/false
Allow email to be sent through it (on by default).
TLS policytls_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 metricsreputation_metrics_enabledtrue/false
Publish bounce and complaint metrics to CloudWatch.
Tagstagsobject
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 domainemail_identitytextRequired
For example 'ana@example.com' or 'example.com'.
Default configuration setconfiguration_set_nametext
Configuration set used by default for mail from it.
Tagstagsobject
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 nametemplate_nametextRequired
A name for the template, unique in this region.
SubjectsubjecttextRequired
Subject line, e.g. 'Welcome, {{name}}!'.
Text bodytext_parttext
Plain-text body. Provide this, an HTML body, or both.
HTML bodyhtml_parttext
HTML body. Provide this, a text body, or both.
Tagstagsobject
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 setconfiguration_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

Identityemail_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 nametemplate_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 setconfiguration_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

Identityemail_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 nametemplate_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 sizepage_sizenumber
How many to return per page.At least 1.
Next tokennext_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 sizepage_sizenumber
How many to return per page (1-1000).From 1 to 1000.
Next tokennext_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

Reasonsreasonstext
Only addresses suppressed for these reasons.One or more of: BOUNCE, COMPLAINT.
Added afterstart_datedate and time
Only addresses added to the list after this time.
Added beforeend_datedate and time
Only addresses added to the list before this time.
Page sizepage_sizenumber
How many to return per page.At least 1.
Next tokennext_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 sizepage_sizenumber
How many to return per page (1-100).From 1 to 100.
Next tokennext_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

Fromfrom_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 nametemplate_nametextRequired
The stored template to send.
RecipientsentrieslistRequired
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 datadefault_template_dataobject
Variables used for every recipient unless their entry sets its own.
Reply-toreply_tolist
Addresses replies should go to.
Configuration setconfiguration_set_nametext
Optional configuration set to send through, for event tracking and delivery options.
Message tagsdefault_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

Fromfrom_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.
TotolistRequired
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).
SubjectsubjecttextRequired
The subject line.
Text bodytext_bodytext
Plain-text body. Provide this, an HTML body, or both.
HTML bodyhtml_bodytext
HTML body. Provide this, a text body, or both.
Cccclist
Carbon-copy recipients.
Bccbcclist
Blind-carbon-copy recipients.
Reply-toreply_tolist
Addresses replies should go to.
Configuration setconfiguration_set_nametext
Optional configuration set to send through, for event tracking and delivery options.
Message tagsemail_tagsobject
Name/value tags attached to the message, reported in event notifications, e.g. {"campaign": "welcome"}.
Headersheadersobject
Extra message headers as name/value pairs (up to 15, printable ASCII), e.g. {"X-Campaign": "welcome"}.
Attachmentsattachmentslist
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

Fromfrom_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.
TotolistRequired
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 nametemplate_nametextRequired
The stored template to send.
Template datatemplate_dataobject
Values for the template's {{variables}}, e.g. {"name": "Ana"}.
Cccclist
Carbon-copy recipients.
Bccbcclist
Blind-carbon-copy recipients.
Reply-toreply_tolist
Addresses replies should go to.
Configuration setconfiguration_set_nametext
Optional configuration set to send through, for event tracking and delivery options.
Message tagsemail_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 nametemplate_nametextRequired
The template to render.
Template datatemplate_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 nametemplate_nametextRequired
The template to change.
Subjectsubjecttext
New subject line. Leave empty to keep the current one.
Text bodytext_parttext
New plain-text body. Leave empty to keep it.
HTML bodyhtml_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
  }
}

On this page