- Home
- Resources
- Integrations
- AWS DynamoDB
AWS DynamoDB n8n integrationAutomate AWS DynamoDB with n8n.
Your workflow needs to read and write DynamoDB rows without touching the AWS SDK. The AWS DynamoDB n8n integration covers 1 resource and 4 item operations, from upsert to paginated queries. No DynamoDB trigger exists, so a Schedule or Webhook node opens the run.
Verified Trustpilot reviews · AI, automation & growth agency
What does the AWS DynamoDB n8n integration actually cover?
The AWS DynamoDB node ships inside n8n and speaks to the DynamoDB API on your behalf. It exposes one resource, Item, and 4 operations on it: create or update, delete, get, and get many. You point it at a table, hand it a primary key or a key condition, and it writes or returns rows. Everything happens with an AWS credential you store once in n8n.
Three shapes of workflow come back again and again. The first one is a write path: a form, a webhook or another node produces data, and item.upsert drops it into the table, replacing the row when the primary key already exists. The second is a lookup: mid-workflow, item.get fetches a single row by key so the next node can branch on it. The third is a batch read: item.getAll runs a query or a scan, and the results feed a report, an export, or a sync toward a sheet.
That third shape is where DynamoDB tends to meet the rest of a stack. Rows pulled from a table land in Google Sheets for a team that lives in spreadsheets, in Airtable when someone needs a view with filters, or in Postgres when the reporting side runs on SQL. The other direction works too: a row created in Supabase gets mirrored into DynamoDB by the upsert operation.
Where the node stops, HTTP Request takes over. The DynamoDB API has many endpoints; the n8n node targets items, not tables, indexes or streams. Anything outside those 4 operations goes through the generic HTTP Request node, which can reuse the same AWS credential through predefined authentication. That fallback is worth knowing before you conclude something is impossible.
The second limit is the trigger. There is no AWS DynamoDB trigger node in n8n, so nothing pushes a change into a workflow on its own. You schedule a run with the Schedule Trigger and query what moved, or you let the service that writes the data call an n8n Webhook, a URL n8n exposes and any external system can hit. Teams comparing platforms before they commit usually start with the n8n review.
One last practical note: the node reads and writes items, it does not create the table. The table, its partition key and its sort key exist in AWS before the workflow runs, and the Table Name or ID dropdown lists what your credential can see.
How do you connect AWS DynamoDB to n8n?
- 01
Pick your AWS credential type
n8n offers two credential types for AWS. AWS (IAM) authenticates with an access key, meaning an Access Key ID plus a Secret Access Key. AWS (Assume Role) authenticates by assuming an IAM role through AWS STS; the keys used for the
AssumeRolecall are typed in by hand or read automatically from the environment n8n runs in. Both work with the DynamoDB node, so the choice is about how your AWS account is organized. - 02
Create the access key in IAM
Log in to the IAM console, open your user name in the upper right, then Security credentials. In the Access keys section, select Create access key, choose your use case on the best practices page (pick Other if it does not prompt you), then Next. Set a description tag such as
n8n integrationso the key is easy to spot later, and select Create access key. - 03
Fill the credential in n8n
Back in n8n, select your AWS Region, then reveal the Access Key ID and the Secret Access Key in the console and paste them in. A credential is created once in the Credentials menu and reused across every workflow; the DynamoDB node then offers it in its dropdown.
What can the AWS DynamoDB node do?
The AWS DynamoDB node exposes 4 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
Operations index
Item
4 operationsCreate or update an item
item.upsertWhat you see in n8n
Notes & use cases
One call writes the row, and DynamoDB overwrites it when the primary key already exists. No branch between an insert path and an update path.
Key parameters
- Table Name or ID: choose the table from the list, or pass its identifier with an expression such as
{{ $json.table }}. - Data to Send:
autoMapInputDatasends the incoming item as it arrives when its properties already match the column names;defineBelowlets you set each value yourself in Fields to Send. - Automatically Parse Numbers: enabled, a value like
"42"is stored as DynamoDB Number (N); disabled, it stays a String (S).
Delete an item
item.deleteWhat you see in n8n
Notes & use cases
Removal targets one row through its primary key, and the node can hand the deleted content back before it disappears.
Key parameters
- Keys: the item's primary key. A simple primary key needs the partition key value only; a composite one needs the partition key and the sort key.
- Return:
ALL_OLDreturns the content of the old item,NONEreturns nothing. - Condition Expression, under Additional Fields: the delete only goes through if the condition is satisfied, with Expression Attribute Values supplying the substitution tokens it references.
Get an item
item.getWhat you see in n8n
Notes & use cases
A single row comes back from its key, which is what you want in the middle of a workflow when the next node has to decide something.
Key parameters
- Keys: the partition key value, plus the sort key value when the table uses a composite primary key.
- Select:
ALL_ATTRIBUTESfor the whole row,ALL_PROJECTED_ATTRIBUTES, orSPECIFIC_ATTRIBUTEScombined with Attributes to Select. - Read Type:
stronglyConsistentReadoreventuallyConsistentRead, depending on whether a read right after a write has to see it.
Get many items
item.getAllWhat you see in n8n
Notes & use cases
Rows arrive in batch, either through a query on the partition key or through a full scan of the table.
Key parameters
- Key Condition Expression: required, an equality test on a single partition key value, written as
partitionKeyName = :partitionkeyval. - Expression Attribute Values: required, the substitution tokens the expression above refers to.
- Scan: enabled, the node scans instead of querying. Return All chains the API pages until the table is exhausted; disabled, Limit caps the number of rows returned.
Need help automating AWS DynamoDB with n8n?
A person reads every message.
AWS DynamoDB and n8n: common questions
01Is the AWS DynamoDB n8n integration free?
02What credentials does the AWS DynamoDB node need?
03What are the limits of the AWS DynamoDB node in n8n?
04Can a workflow react to a DynamoDB change in real time?
05n8n or Make for AWS DynamoDB?
Get our weekly integration tips.
No spam. Unsubscribe anytime.



