The gap it fills
n8n’s official Strapi node targets Strapi v3 and v4. Strapi v5 changed the API — different endpoint structure, a new documentId identifier, different publish/draft mechanics. The built-in node doesn’t work against v5.
This template uses HTTP Request nodes to talk directly to Strapi’s v5 REST API. No monkey-patching, no workarounds — just the v5 API called correctly.
What it does
One webhook endpoint, three actions routed by a single action_type parameter:
get_all— fetch entries for any content type, with optionalstatusfilter (published/draft) and pagination viapage_sizeandpage_numbercreate— create a new entry with any field payloadupdate— update an existing entry by its Strapi v5documentId
The content type is passed dynamically on each request via content_type_plural, so one workflow handles all your Strapi collections without modification. Pass a different strapi_base_url per request and it works across multiple Strapi instances too.
A few things worth knowing before you set it up
Strapi v5 auto-publishes on create and update. Even if you pass publishedAt: null in the body, entries go live. The correct way to save a draft is via a status=draft query parameter on the API call. This template handles that automatically — pass "status": "draft" in your request body and the workflow routes it to the right URL parameter.
documentId is not id. Strapi v5 uses a stable string documentId as the canonical identifier across environments. The numeric id is internal. Always retrieve documentId via get_all before running updates.
publishDate: null is required on create but breaks on update. Send it on create and it works. Send it on update and Strapi throws a ValidationError. Same field, opposite rules. The template doesn’t abstract this — be aware of it when building your payloads.
MCP: AI agents can call this directly
The workflow has availableInMCP enabled. If you expose n8n’s MCP server to an AI agent, the workflow appears as a named tool the agent can call without any webhook configuration on its side.
This is how we use it. Our AI runs this workflow to create, update, and publish content on ibsolutions.dev — no human relay between AI output and the CMS. We wrote about that setup in Write, preview, iterate, publish — all in one AI session.
Get the template
Download the workflow
Open the workflow JSON on GitHub (use Raw to save the file, or copy the raw URL for n8n Import workflow → From URL).
The full repo includes the same file plus readme context: n8n-strapi-cms-v5-content-type-management-template. For Import workflow → From URL in n8n, use the raw file: https://raw.githubusercontent.com/IBSolutions-dev/n8n-strapi-cms-v5-content-type-management-template/main/strapi-v5-content-n8n-workflow.json.
The workflow also has a sticky note on the canvas with full payload examples and security notes.
After import, attach a Strapi Token API credential to the three HTTP Request nodes, activate, and you’re done.
Implemented solutions
Used technologies
Demos
Demos and case studies for this project.
Want to build something like this?
Lab projects often become production solutions. Share your idea and we'll help you turn it into a real product.