πŸ”¬ Manage Strapi CMS v5 content types via webhook using HTTP requests

⚑ 28 views Β· πŸ”¬ Document Extraction & Analysis

Description

n8n workflow template: Strapi CMS v5 content API

An importable n8n workflow that creates, updates, and lists entries on Strapi v5 through a single webhook. It talks to Strapi’s REST API with HTTP Request nodes and a Strapi Token API credential, so it stays compatible with v5 even though n8n’s built-in Strapi node targets older Strapi versions.

What’s in this repo

FilePurpose
strapi-v5-content-n8n-workflow.jsonWorkflow export β€” use for Import from File / Import from URL in n8n or when submitting to the n8n template gallery

Features

Requirements

Quick start

  1. In n8n, choose Import workflow β†’ From File and select strapi-v5-content-n8n-workflow.json (or import from this repo’s raw URL).
  2. Create a Strapi Token API credential in n8n and attach it to all HTTP Request nodes (Create, Update, Get all).
  3. Activate the workflow and copy the webhook’s Production URL (default path segment: strapi-v5-content). Change the path in the Webhook node if it clashes with another active workflow on the same instance.
  4. Send POST requests with a JSON body as below. Do not include a trailing slash on strapi_base_url.

The template ships with no webhook authentication so you can test quickly. Before exposing the URL publicly, add authentication on the Webhook node (for example Header Auth with X-API-Key and a long random secret) and send that header on every call. The workflow intentionally does not hardcode your Strapi host: callers supply strapi_base_url in the body, so only trusted clients should be allowed.

Request body reference

All actions expect a JSON object (typically the webhook body). Common fields:

FieldRequiredDescription
action_typeYes"create" | "update" | "get_all"
strapi_base_urlYesStrapi origin, no trailing slash (e.g. https://your-project.strapiapp.com)
content_type_pluralYesPlural API ID from Content-Type Builder (e.g. articles)

get_all

Optional: status (published / draft), page_size, page_number.

create

Required: data β€” object of field names and values matching your Strapi schema.

update

Required: documentId (Strapi v5), and data with fields to patch.

Example shapes:

{
  "action_type": "get_all",
  "strapi_base_url": "https://your-strapi.example.com",
  "content_type_plural": "articles",
  "status": "published",
  "page_size": 10,
  "page_number": 1
}
{
  "action_type": "create",
  "strapi_base_url": "https://your-strapi.example.com",
  "content_type_plural": "articles",
  "data": { "title": "Hello", "slug": "hello" }
}
{
  "action_type": "update",
  "strapi_base_url": "https://your-strapi.example.com",
  "content_type_plural": "articles",
  "documentId": "<from get_all or Strapi admin>",
  "data": { "title": "Updated title" }
}

For full parameter notes, pagination examples, and MCP / AI agent usage, see the sticky note inside the imported workflow.

License

This project is released under the MIT License (Copyright Β© 2026 IBSolutions.dev).

πŸ”— Nodes Used

HTTP Request, Webhook, Stop and Error

πŸ“₯ Import

Download workflow.json and import into n8n: Workflow menu β†’ Import from File

πŸ“– Importing guide Β· πŸ”‘ Credential setup