Strapi n8n integrationAutomate Strapi with n8n.
Can a workflow write to your CMS without a single line of glue code? That is what the Strapi n8n integration gives you: one Entry resource, 5 operations that cover create, read, update and delete, and no trigger node, so any schedule or incoming call can start the run.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Strapi n8n integration actually do?
The Strapi node talks to the REST API of your Strapi project and works on one object: the entry, a single record inside a collection type. You name the content type, n8n authenticates with a credential you saved once, and the entry comes back as JSON that the next node can read.
The node ships with n8n, on n8n Cloud and on a self-hosted instance alike, so there is nothing to install and nothing extra to pay on the n8n side.
Take a content backlog that fills itself. A Schedule Trigger, the n8n node that runs a workflow at a fixed interval, wakes things up every morning, a row arrives from Google Sheets, and entry.create writes it into your articles collection. Writers keep working in a spreadsheet, the site reads Strapi.
Second pattern: an export that stays current. entry.getAll pulls a whole collection type with Return All switched on, and the items land in Airtable or in a reporting table in Postgres. Nobody copies rows by hand again.
Third pattern: human review before anything goes live. A submission comes in, the workflow posts it to Slack, a reviewer answers, and entry.update writes the verdict back on the matching record. Submissions that fail review go to entry.delete in the same run, so the collection type only ever holds what a person actually approved, and the trace of the decision stays in the execution log.
Now the honest part, because the node stops somewhere. It exposes the Entry resource and nothing else. Anything outside the Entry resource, any other content in your Strapi project or anything a plugin adds on top of the REST API, stays out of reach of the 5 operations, and the credential only targets Version 3 or Version 4 of the API. When you need one of those calls, the HTTP Request node reaches any endpoint of the Strapi REST API and reuses the same credential through its predefined authentication, so you keep one place to store the token.
If the question is the platform rather than the node, the n8n review walks through the trade-offs, and the n8n training covers building these workflows end to end.
How do you connect Strapi to n8n?
- 01
Choose between a user account and a token
Strapi credentials support two authentication methods. An API user account uses the Email and Password of an end user, never of an admin account, and inherits that user's content permissions. An API token is created from an admin account, under Settings > Global Settings > API Tokens. Tokens suit a server-to-server workflow; a user account suits a workflow that must stay inside one role's permissions.
- 02
Give the role its permissions
For the user account route, open Settings > Users & Permissions Plugin, then either extend the default Authenticated role or create a new one. In the Permissions section, open the collection type you plan to automate and tick what the workflow needs:
create,findandfindone,update,delete. Repeat for every collection type, save the role, then create the end user under Content Manager > Collection Types > User and assign it. - 03
Fill the credential inside n8n
In n8n, open Credentials and create a Strapi credential. The URL is the public address of your Strapi server, the
urlparameter in./config/server.js; Strapi recommends an absolute URL, and a Strapi Cloud project uses its own address such ashttps://my-strapi-project-name.strapiapp.com. Pick the API Version, Version 3 or Version 4. The credential is saved once and appears in the dropdown of every Strapi node afterwards.
What can the Strapi node do in a workflow?
The Strapi node exposes 5 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
Operations index
Entry
5 operationsCreate an entry
entry.createWhat you see in n8n
Notes & use cases
Posts a new record into a collection type and returns it, including the id Strapi assigned, which the rest of the workflow can reuse.
Key parameters
- Content Type: the name of the content type receiving the record, typed as Strapi exposes it.
- Columns: a comma-separated list of the properties to write, in the style of
id,name,description. Leave a property out and it never reaches Strapi, even when it sits in the incoming item.
Delete an entry
entry.deleteWhat you see in n8n
Notes & use cases
Removes one record from a collection type. The node returns the deleted record, so later steps still have its content to archive or to announce.
Key parameters
- Content Type: the collection type holding the record to remove.
- Entry ID: the ID of the entry to delete, usually carried over from a previous node as
{{ $json.id }}, an n8n expression that reads a field of the incoming item.
Get an entry
entry.getWhat you see in n8n
Notes & use cases
Reads a single record by its identifier and hands its fields to the next node, without touching anything in Strapi.
Key parameters
- Content Type: the content type to read from.
- Entry ID: the ID of the entry to get. A record identifier, never the title, which is the mistake that returns a
404most often.
Get many entries
entry.getAllWhat you see in n8n
Notes & use cases
Lists the records of a collection type. This is the read operation that feeds exports, digests and syncs.
Key parameters
- Content Type: the collection type to list.
- Return All: on, n8n walks the API pages until every entry is back; off, Limit caps how many records come out.
- Publication State:
livekeeps published records only,previewalso brings back drafts. - Sort Fields: field names, ascending by default, with a direction after a colon as in
name:asc. - Where (JSON): a JSON query that filters the records before they leave Strapi.
Update an entry
entry.updateWhat you see in n8n
Notes & use cases
Writes new values on records that already exist, matched on a property you choose rather than on a position in a list.
Key parameters
- Content Type: the content type to modify.
- Update Key: the property that decides which rows in the database get updated, normally
id. - Columns: the comma-separated properties to overwrite. Only what you list changes; everything else stays as it was.
Need help automating Strapi with n8n?
A person reads every message.