Resources · n8n integration

AWS IAM n8n integrationAutomate AWS IAM with n8n.

Every IAM user and every group in your AWS account, handled from a workflow. The AWS IAM n8n integration exposes 12 operations across 2 resources, users and groups. No trigger node ships with it, so a Schedule Trigger or a Webhook starts the run. Written for ops and platform teams.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the AWS IAM n8n integration actually do?

The AWS IAM n8n integration wires the identity layer of your AWS account into the rest of your automation. n8n ships an AWS IAM node that talks to Amazon IAM directly: it creates, reads, updates and deletes users and groups, and it moves users in and out of groups. Twelve operations, two resources, and one AWS credential that every other AWS node in n8n can reuse.

Onboarding is usually the first thing a team moves over. A new hire row arrives from the HR side, user.create opens the IAM user with the name passed in User Name, and user.addToGroup drops that user into the group that already carries the right permissions. Set Path to something like /division_abc/engineering/ and the account still reads clearly a year later.

Offboarding runs the same sequence backwards, and it tends to be the one people care about most. user.removeFromGroup pulls the person out of each group, user.delete closes the account, and a note lands in Slack so the security channel keeps a written trace. Nothing sits in a ticket queue waiting for a human.

The third pattern is the access review. Run user.getAll with Return All turned on, then group.getAll with Include Users switched on, and write both results into Google Sheets on a schedule. One sheet then answers who sits in which group, which is the question every review opens with, and Gmail sends the reviewers their reminder.

The published n8n templates for this node point the same way. One responds to a compromised access key with Slack, Code and an AI agent. One alerts Slack about access keys older than 365 days. One collects SOC 2 evidence into Google Sheets with Gmail alerts. In all three, the AWS IAM node sits next to other nodes rather than doing the whole job alone.

Worth knowing before you design around it: anything outside the 12 catalog operations goes through the HTTP Request node, which calls any endpoint of the AWS API and reuses the same AWS credential through predefined authentication. If the platform choice itself is still open, the n8n review covers it, and the n8n training walks through building flows like these end to end.

Connect

How do you connect AWS IAM to n8n?

  1. 01

    Create the access key in the IAM console

    Sign in to the IAM console, select your user name in the navigation bar on the upper right, then Security credentials. In the Access keys section, select Create access key. On the access key best practices and alternatives page, choose your use case, or select Other if nothing prompts you to create a key, then select Next.

  2. 02

    Name the key and reveal both values

    Set a description tag on the key so you can identify it later, n8n integration works well. Select Create access key, then reveal the Access Key ID and the Secret Access Key. Both are generated at that moment. Access keys can also be generated through the AWS CLI and the AWS API if you would rather script this step.

  3. 03

    Save the credential in n8n and pick it in the node

    In n8n, open the Credentials menu and create an AWS (IAM) credential, meaning a stored set of connection details n8n reuses across workflows. Select your AWS Region, paste the Access Key ID and the Secret Access Key, and save. The AWS IAM node then offers that credential in its dropdown, along with every other AWS node in your instance.

Actions

What can the AWS IAM node do?

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

Resources × operations matrix
ResourceCreateGetGet ManyUpdateDeleteAdd to GroupRemove From Group
User✓✓✓✓✓✓✓
Group✓✓✓✓✓

User

7 operations
01

Add user to group

user.addToGroup

What you see in n8n

Notes & use cases

Group membership is where permissions actually land, and this operation adds an existing user to an existing group in one call.

Key parameters

  • User: select the user you want to add to the group. It is a resource locator, so you can pick from the list n8n loads or feed an expression such as {{ $json.userName }} from the step before.
  • Group: select the group you want to add the user to, the same way.
Use cases
a contractor signs an NDA, the workflow reads the row and attaches them to the read-only group for the length of the engagement.
02

Create user

user.create

What you see in n8n

Notes & use cases

Opens a new IAM user in the account. This is the operation an onboarding workflow starts with, before any group is attached.

Key parameters

  • User Name: required, the username of the new user, for example UserName. Leave it empty and the node stops on that item.
  • Path: the path for the user name, such as /division_abc/subdivision_xyz/, useful once several teams share the account.
  • Permissions Boundary: the ARN of the managed policy used as the boundary, for example arn:aws:iam::123456789012:policy/ExampleBoundaryPolicy.
  • Tags: a list of tags to attach to the new user.
Use cases
a signed offer moves to the start date, and the account exists before the laptop is unboxed.
03

Delete user

user.delete

What you see in n8n

Notes & use cases

Removes the user from IAM. There is no soft state here, so most teams put an approval step in front of it.

Key parameters

  • User: select the user you want to delete. Picking from the list avoids the classic mistake of passing a display name where the node expects the user it loaded.
Use cases
a leaver workflow that already emptied the person out of every group finishes with this call, then writes the timestamp to a sheet for the next audit.
04

Get user

user.get

What you see in n8n

Notes & use cases

Reads one user back from IAM and hands the record to the next node, which is what you want before deciding anything about that account.

Key parameters

  • User: select the user you want to retrieve. Feeding it from a previous node with an expression turns the call into a lookup rather than a hard-coded one.
Use cases
a helpdesk request arrives by form, the workflow fetches the user first and only then routes the ticket to whoever owns that part of the account.
05

Get many users

user.getAll

What you see in n8n

Notes & use cases

Returns the list of users in the account. Every inventory, review and reconciliation workflow starts here.

Key parameters

  • Return All: on, n8n walks through the API pages and brings back every user; off, it stops at the number set in Limit.
  • Limit: the maximum number of users returned when Return All stays off, handy while you are still testing.
  • Path Prefix: filters the results on the path, so /division_abc/ gives you one division instead of the whole account.
Use cases
a monthly export of every user into a sheet the security lead signs off on.
06

Remove user from group

user.removeFromGroup

What you see in n8n

Notes & use cases

Takes a user out of a group. The account stays open, the permissions that came with that group go away.

Key parameters

  • User: select the user you want to remove from the group.
  • Group: select the group you want to remove the user from. Both are resource locators, so a loop over a list of groups works well here.
Use cases
someone changes team internally, and the workflow detaches them from the old group before attaching the new one, with no gap in between.
07

Update user

user.update

What you see in n8n

Notes & use cases

Renames an existing user, and optionally moves it in the IAM path hierarchy.

Key parameters

  • User: select the user you want to update, that is the account being changed.
  • User Name: required, the new name of the user, for example JohnSmith. It is the target name, not the current one.
  • Path: the new path, such as /division_abc/subdivision_xyz/.
Use cases
a naming convention changes across the company and a single run over the user list rewrites every account to the new format.

Group

5 operations
08

Create group

group.create

What you see in n8n

Notes & use cases

Creates a group, the container you attach users to instead of granting permissions one account at a time.

Key parameters

  • Group Name: required, the name of the new group, for example GroupName.
  • Path: the path to the group. Leave it out and it defaults to a slash, /. Setting /division_abc/engineering/ keeps the org chart visible in IAM itself.
Use cases
a new project spins up, and the workflow creates its group first so that every user added afterwards inherits the same permissions.
09

Delete group

group.delete

What you see in n8n

Notes & use cases

Deletes an existing group. Teams usually run it at the end of a project cleanup, once the members have been moved elsewhere.

Key parameters

  • Group: select the group you want to delete. Choose it from the list n8n loads rather than typing a label, since the node acts on the group it resolved.
Use cases
a quarterly tidy-up reads the group list, flags the ones nobody belongs to any more, and deletes them after a human approves the batch.
10

Get group

group.get

What you see in n8n

Notes & use cases

Retrieves the details of one existing group, with or without its membership.

Key parameters

  • Group: select the group you want to retrieve.
  • Include Users: on, the response also carries the list of users in the group, which saves a second call when you need the membership and not just the group itself.
Use cases
an approver asks who is currently in the production group, and the workflow answers in the chat thread instead of sending them to the console.
11

Get many groups

group.getAll

What you see in n8n

Notes & use cases

Lists the groups of the account, and can expand each one with its members in the same pass.

Key parameters

  • Return All: on, n8n pages through the API until every group is back; off, it stops at Limit.
  • Limit: caps the number of groups returned while Return All is off.
  • Include Users: adds the list of users in each group, which is what turns this call into a full access map.
Use cases
the access review export that says, in one table, which group holds which people.
12

Update group

group.update

What you see in n8n

Notes & use cases

Changes the name of an existing group, and its place in the path hierarchy if you pass one.

Key parameters

  • Group: select the group you want to update.
  • Group Name: required, the new name of the group, for example GroupName.
  • Path: the new path to the group; left out, it defaults to a slash, /.
Use cases
two departments merge, and one run renames their groups and files them under /division_abc/engineering/ so the next audit reads straight.
Need help

Need help automating AWS IAM with n8n?

A person reads every message.

FAQ

AWS IAM and n8n, the usual questions

01Is the AWS IAM n8n integration free?
Yes, on the n8n side. The AWS IAM node ships with n8n, so there is nothing to install and nothing extra to pay for the node itself. It behaves the same way on n8n Cloud, the hosted offer run by n8n, and on a self-hosted instance under the Community Edition and its Sustainable Use license. The workflow you build in one runs unchanged in the other, which matters if you prototype on Cloud and then move the flow onto your own infrastructure. What the AWS side of the equation costs is a separate question and not one this page covers.
02What credentials does the AWS IAM node need?
n8n offers two credential types for AWS and this node accepts either. The first is AWS (IAM), which authenticates with an access key: you provide your AWS Region, the Access Key ID and the Secret Access Key, both generated when you create the access key in the IAM console. Turning on Temporary security credential adds a Session token field. The second is AWS (Assume Role), which authenticates by assuming an IAM role through AWS STS; the keys n8n uses for that AssumeRole call can be entered by hand or read automatically from the environment n8n runs in. If you self-host n8n on EKS, ECS or EC2 and want no static keys stored in n8n, that second route is the one to read about. A credential is created once in the Credentials menu and reused in every workflow.
03What are the limits of the AWS IAM node in n8n?
It depends on what you are reaching for. The node covers 12 operations across 2 resources, users and groups, and everything the catalog lists is available without writing a request by hand. Anything outside those operations goes through the HTTP Request node, which calls any endpoint of the AWS API and reuses the very same AWS credential through predefined authentication, so you do not manage a second set of keys. On the listing side, remember that Get Many stops at Limit unless Return All is on, in which case n8n chains the API pages for you. A field marked required blocks the node on that item if you leave it empty.
04Can AWS IAM trigger an n8n workflow in real time?
No, not from this node. AWS IAM has no trigger node in n8n, so a workflow about IAM starts somewhere else. Three options cover almost everything. A Schedule Trigger runs the flow at a fixed interval, which fits inventories and access reviews built on Get Many Users and Get Many Groups. An n8n Webhook, meaning a URL n8n exposes and a third-party service calls, lets another system push the event in, for example your HR tool announcing a departure. Or you start from another tool's trigger and chain the AWS IAM node after it. In every case the IAM operations sit downstream, as actions.
05n8n or Make for AWS IAM?
It depends on four things, and neither tool is the wrong answer. Hosting comes first: Make is a hosted platform with no self-hosting option, while n8n runs on your own infrastructure through Docker or npm, or on n8n Cloud. Data control follows from that, and it weighs more than usual here, because identity data is exactly the kind of thing a security team wants to keep inside its own perimeter. Cost model next: Make bills per operation, so a nightly loop over a long user list is a very different line item on each platform. Visual logic last, which is mostly a matter of what your team reads comfortably. Try the same access review on both and keep the one your team maintains without effort.