Resources · n8n integration

AWS SES n8n integrationAutomate AWS SES with n8n.

Transactional email out of a workflow should cost one node, not a side project. The AWS SES n8n integration exposes 13 operations across 3 resources: emails, templates, and custom verification emails. The node ships without a trigger, so a schedule or an incoming webhook starts the run.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the AWS SES n8n integration actually give you?

The AWS SES node is the block that hands an email to Amazon Simple Email Service from inside an n8n workflow. It ships with n8n, it authenticates with an AWS credential you create once, and it groups its 13 operations under 3 resources: Email for the sending itself, Template for stored wording, and Custom Verification Email for the message SES uses to confirm a sender address. No installation, no extra n8n cost, same behavior on n8n Cloud and on a self-hosted instance.

Three shapes of workflow cover most of what gets built around this node. The first is the plain notification: something happens upstream, and email.send pushes a message to an ops mailbox. Subject and body are assembled in the workflow, so a recap of yesterday's orders reads exactly as written, with Is Body HTML switched on when the body carries markup.

The second is the templated send. The wording lives in SES, created once through template.create, and every run calls email.sendTemplate with a row of data. A new line in Google Sheets turns into a personalised message without anyone editing the workflow, and when the copy changes, template.update handles it while the automation stays untouched.

The third is sender onboarding. customVerificationEmail.create stores the confirmation wording, customVerificationEmail.send asks an address to confirm itself, and the two redirect URLs bring the person back to a page you chose rather than a default one. That pattern fits any product where each client sends under their own address.

Now the edges. The node stops at those 13 operations. Whatever the SES API offers beyond them goes through the HTTP Request node, which reuses the same AWS credential through predefined authentication, so nothing has to be re-entered. There is also no AWS SES trigger in n8n: a workflow here always starts somewhere else, with a Schedule Trigger firing on an interval, an n8n Webhook (a URL an external service calls) or the trigger of another tool, for instance a message posted in Slack.

One last thing worth settling before building: SES is one of several ways to put an email in an inbox from n8n. Gmail fits a mailbox a human also reads and replies to, SendGrid is another transactional route with its own node, and the n8n review takes a broader look at the platform itself. Pick SES when the sending domain already lives in AWS and the rest of the setup does too.

Connect

How do you connect AWS SES to n8n?

  1. 01

    Pick the credential type

    n8n offers two AWS credential types for this node. AWS (IAM) authenticates with an access key, meaning an Access Key ID and a Secret Access Key. AWS (Assume Role) authenticates by assuming an IAM role through AWS STS, and the keys used for that AssumeRole call can be typed in or read automatically from the environment n8n runs in. On EKS, ECS or EC2, the second type avoids storing static keys in n8n at all.

  2. 02

    Create the access key in AWS

    For the IAM route, open the IAM console, select your user name in the upper right, then Security credentials. In the Access keys section, choose Create access key, pick your use case on the best practices page (or Other if no prompt appears), and set a description tag such as n8n integration so the key is identifiable later. Reveal both values at the end of the flow.

  3. 03

    Fill the credential in n8n

    In n8n, open Credentials, create the AWS credential, select your Region, then paste the Access Key ID and the Secret Access Key. A credential is created once and reused by every workflow, and the node picks it from its dropdown. If n8n sits behind an Amazon VPC, the Custom Endpoints field takes the endpoint for that connection, and SES is one of the apps this setup supports.

Actions

What can the AWS SES node do?

The AWS SES node exposes 13 operations across 3 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteSendSend Template
Custom Verification Email✓✓✓✓✓✓
Email✓✓
Template✓✓✓✓✓

Custom Verification Email

6 operations
01

Create a custom verification email

customVerificationEmail.create

What you see in n8n

Notes & use cases

SES asks any new sender address to confirm it belongs to you. This operation stores the template used for that confirmation message, so the ask carries your wording instead of a generic one.

Key parameters

  • From Email: the address the custom verification email is sent from.
  • Template Subject: the subject line of that verification email.
  • Success Redirection URL: where the recipient lands once the address is verified.
  • Failure Redirection URL: where the recipient lands when verification does not succeed.
  • Template Content: the body, HTML allowed, with the total email size kept under 10 MB.
Use cases
a product onboarding where every client registers their own reply address and gets a branded confirmation instead of an AWS default.
02

Delete a custom verification email

customVerificationEmail.delete

What you see in n8n

Notes & use cases

Verification templates accumulate fast once two or three wordings have been tested. This operation removes one from the account, which also removes the risk of a later send picking stale copy by name.

Key parameters

  • Template Name: the name of the custom verification email template to remove; feed it from a previous step with {{ $json.templateName }} rather than typing it twice.
Use cases
a housekeeping branch that drops the seasonal wording once a campaign closes, so only the templates actually in use remain.
03

Get a custom verification email

customVerificationEmail.get

What you see in n8n

Notes & use cases

Reading one template back returns it as SES currently stores it, which is the only reliable way to know what an address is really being sent.

Key parameters

  • Template Name: the name of the custom verification email template to read.
Use cases
a review step before a round of verifications, where the workflow fetches the stored wording, posts it for approval, and only then moves on to the send.
04

Get many custom verifications

customVerificationEmail.getAll

What you see in n8n

Notes & use cases

Rather than one template by name, this returns the custom verification email templates that exist on the account, which is what an inventory job needs.

Key parameters

  • Return All: on, n8n walks the API pages and brings back every template; off, it stops at Limit.
  • Limit: the maximum number of templates returned when Return All stays off.
Use cases
a monthly audit that lists every verification template and writes the result to a sheet, so nobody has to open the AWS console to answer what exists.
05

Send a custom verification email

customVerificationEmail.send

What you see in n8n

Notes & use cases

Here the template stops being an object and starts being an email: the address receives the confirmation request and gets added to the list of identities once it goes through.

Key parameters

  • Email: the address to verify, often {{ $json.email }} from the form or record upstream.
  • Template Name: the custom verification email template to use for this send.
  • Configuration Set Name: in Additional Fields, the configuration set to use when sending the verification email.
Use cases
a signup workflow that fires the verification the moment a client fills in their sending address.
06

Update a custom verification email

customVerificationEmail.update

What you see in n8n

Notes & use cases

The verification wording ages like any other copy: a redirect points at an old landing page, the subject line no longer matches the product. This operation edits the stored template instead of deleting and recreating it.

Key parameters

  • Template Name: the template being edited.
  • From Email, Template Subject and Template Content: in Update Fields, the sender, the subject line and the body.
  • Success Redirection URL and Failure Redirection URL: the two destinations after a verified or failed address.
Use cases
a rebrand where only the redirect URLs move.

Email

2 operations
07

Send an email

email.send

What you see in n8n

Notes & use cases

This is the workhorse: subject and body are built in the workflow and handed to SES as is, with no stored template involved.

Key parameters

  • Subject and Body: the message itself, usually assembled from earlier nodes.
  • From Email: the sender address, such as admin@example.com.
  • To Addresses: the recipients.
  • Is Body HTML: on when the body carries markup, off for plain text.
  • Cc Addresses, Bcc Addresses, Reply To Addresses and Return Path sit in Additional Fields, the last one collecting bounces and complaints.
Use cases
a daily recap where the body is written by the workflow, so the wording follows the data.
08

Send an email based on a template

email.sendTemplate

What you see in n8n

Notes & use cases

Same delivery, opposite split of responsibilities: SES holds the wording, the workflow only supplies the values that change from one recipient to the next.

Key parameters

  • From Email: the sender address, the one required field here.
  • Template Name or ID: picked from the list, or set with an expression when the template depends on the data.
  • To Addresses: the recipients of this send.
  • Template Data: the Key and Value pairs that fill the template placeholders.
Use cases
an order confirmation where only the name and the reference change, and marketing can rewrite the copy without opening n8n.

Template

5 operations
09

Create a template

template.create

What you see in n8n

Notes & use cases

Before any templated send there has to be a template. This operation registers one in SES under a name the workflow will call later.

Key parameters

  • Template Name: the name of the template, and the handle every later operation uses.
  • Subject Part: the subject line of the email.
  • Html Part: the HTML body.
  • Text Part: in Additional Fields, the body shown to recipients whose email client does not display HTML.
Use cases
a deployment workflow that pushes the invoice wording to SES from a versioned file, so the template in production always matches the one that was reviewed.
10

Delete a template

template.delete

What you see in n8n

Notes & use cases

Retiring a piece of wording is a one-field job, and doing it from a workflow beats doing it by hand three environments in a row.

Key parameters

  • Template Name: the name of the template to delete, required, so a wrong value removes the wrong wording.
Use cases
a teardown step at the end of a test run that clears the templates a staging workflow created, leaving the account with production wording only.
11

Get a template

template.get

What you see in n8n

Notes & use cases

Fetching a single template by name returns what SES holds for it, which is how a workflow checks the live wording instead of trusting a copy in a document.

Key parameters

  • Template Name: the name of the template to read, required.
Use cases
a pre-send guard that reads the template, compares it with the reference stored elsewhere, and stops the run when the two no longer match.
12

Get many templates

template.getAll

What you see in n8n

Notes & use cases

The list view of the same resource: every template on the account comes back in one execution, ready to be filtered downstream.

Key parameters

  • Return All: on, n8n follows the API pages until no template is left; off, the run stops at Limit.
  • Limit: how many templates come back at most when Return All is off.
Use cases
an export that dumps the full template inventory into a sheet each week, so a marketing team can see what exists without AWS access.
13

Update a template

template.update

What you see in n8n

Notes & use cases

Copy changes more often than workflows do. This operation rewrites a stored template in place, and every send that follows uses the new version without any workflow edit.

Key parameters

  • Template Name: which template gets rewritten, required.
  • Subject Part, Html Part and Text Part: in Update Fields, the subject, the HTML body and the plain text fallback.
Use cases
a legal mention added to every transactional email at once, applied to the template rather than to a dozen automations.
Need help

Need help automating AWS SES with n8n?

A person reads every message.

FAQ

AWS SES and n8n, the questions that come up

01Is the AWS SES n8n integration free?
Yes on the n8n side. The AWS SES node ships with n8n, so there is nothing to install and nothing extra to pay for the node itself, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow behaves the same way in both setups, and the credential you create is reused everywhere. What Amazon bills for the emails themselves is a separate matter between you and AWS, and this page does not cover it. Check your own AWS account for that side of the equation before you plan volume.
02What credentials does the AWS SES node need?
One of two AWS credential types. AWS (IAM) uses an access key: you select a Region, then paste an Access Key ID and a Secret Access Key generated from the IAM console, under your user name and Security credentials. AWS (Assume Role) instead assumes an IAM role through AWS STS, and the keys used for that call can be entered by hand or read from the environment n8n runs in. If you self-host n8n on AWS infrastructure such as EKS, ECS or EC2, the role route avoids keeping static keys inside n8n. Temporary credentials also need the Session token option enabled.
03What are the limits of the AWS SES node in n8n?
The node exposes 13 operations spread over 3 resources, and that is the boundary. Anything the SES API offers beyond those operations is reachable with the HTTP Request node, which calls any endpoint while reusing the same AWS credential through predefined authentication, so there is no second setup to maintain. On the two list operations, Get Many templates and Get Many custom verifications, Return All walks through the API pages while leaving it off caps the result at Limit. Custom verification email content is expected to stay under 10 MB in total, HTML included.
04Can AWS SES trigger an n8n workflow in real time?
No, and it is worth knowing before you design the automation. AWS SES has no trigger node in n8n, so nothing on the SES side can start a workflow by itself. A workflow that uses SES always begins somewhere else: a Schedule Trigger that fires on a fixed interval, an n8n Webhook, meaning a URL an external service calls when something happens, or the trigger of another tool already in your setup. The SES node then sits further down the flow and sends. In practice this covers recaps, confirmations and alerts without any loss.
05n8n or Make for AWS SES?
It depends on four things, and price is only one of them. Make is a hosted automation platform with no self-hosting option, billed by operation, so a high volume of sends translates directly into operations consumed. n8n runs on n8n Cloud or on your own infrastructure through Docker or npm, which matters when the email data itself is sensitive and should not leave your servers. The visual logic differs too: n8n lets you drop into expressions and code when a branch gets specific. If SES already lives in your AWS account, self-hosting n8n next to it keeps the whole path internal.