---
title: "Strapi Integration"
description: "Connect AI agents to a self-hosted or Strapi Cloud instance through the v5 REST API. Agents create, read, update, and delete content-type entries, manage Draft and Publish workflows, and upload files to the Media Library."
url: https://flowrunner.ai/integrations/strapi
date_modified: 2026-08-07T17:20:23-07:00
---

# Strapi

[CMS & Content](https://flowrunner.ai/integrations/category/cms-content)

Connect AI agents to a self-hosted or Strapi Cloud instance through the v5 REST API. Agents create, read, update, and delete content-type entries, manage Draft and Publish workflows, and upload files to the Media Library.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 9 actions · API key · available

[Strapi website](https://strapi.io/) · [Platform Documentation](https://docs.strapi.io/dev-docs/api/rest) · Capability data verified 2026-08-12

1.  A content row lands in a backlog or upstream system
2.  Agent maps the row to the target collection's fields
3.  Agent creates the entry with Create Entry as a draft
4.  Agent confirms the entry returned a documentId
5.  A reviewer gets an approval prompt with the entry details
6.  A reviewer approves before the agent sets the status to Published

## What This Integration Enables

An agent can list entries from any collection type with Strapi v5 querying: populate relations and media, filter with the document operator syntax, sort, select fields, paginate, request a locale, and choose published or draft entries. It gets a single entry by its v5 documentId, creates entries wrapped in the data envelope Strapi expects, updates them by documentId, and deletes them, with locale-aware behavior for internationalized content.

For media, the agent uploads a file to the Media Library and can attach it to a specific entry field by supplying the target model, entry id, and field name. It also lists, gets, and deletes Media Library files by their numeric id. For content types with Draft and Publish enabled, new entries are created as drafts, and the agent publishes a draft by setting its status to Published. That publish step is the one it holds for a person.

### Without FlowRunner

**Manual entry creation**: Someone retypes each backlog row into Strapi by hand

**Draft goes live untracked**: A draft is published whenever an editor gets to it

**Media attached by hand**: Files are uploaded and linked to entries manually

### With FlowRunner

**Entries created by agent**: The agent maps each row to a collection and creates it as a draft

**Publishing is reviewed**: A reviewer approves before the agent sets the status to Published

**Media uploaded and attached**: The agent uploads files and links them to the right entry field

## Use Case Scenarios

### Bulk-Load a Content Backlog

The agent reads a backlog from [Google Sheets](https://flowrunner.ai/integrations/google-sheets) and calls Create Entry for each row to load articles or products into a collection as drafts. A spreadsheet of content becomes a set of structured entries without anyone keying them in.

### Upload and Attach Media

When a file is shared in [Slack](https://flowrunner.ai/integrations/slack), the agent calls Upload File to push it into the Media Library and attaches it to the relevant entry by supplying the model, entry id, and field. The asset lands in the right place and linked to the right record automatically.

### Publish After Approval

The agent uses List Entries to fetch newly created drafts, sends an approval prompt by [Gmail](https://flowrunner.ai/integrations/gmail-service) with the entry details, and only after a reviewer approves does it call Update Entry with the status set to Published. Content moves from draft to live on a person's decision, not on a timer.

## Human-in-Loop Highlight

Creating drafts, reading and filtering entries, and uploading media are safe to automate, so the agent handles them on its own. Publishing is the consequential step, because setting a draft's status to Published makes it live through the API for every site and app reading Strapi. So when a flow reaches the publish step, the agent stops. It routes the drafted entry to a reviewer as a [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) step, showing the collection, the documentId, and the fields it set, and asks: "Set this entry to Published, or hold for edits?" On approval the agent calls Update Entry with the status set to Published. On hold, the entry stays a draft. The AI does the assembly; the decision to publish gets a person.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

9 actions

### Entries

5

-   **List Entries** Lists entries from any collection type with Strapi v5 querying: populate relations and media, filter with the document operator syntax, sort, select fields, paginate, request a locale, and choose published or draft entries.
-   **Get Entry** Retrieves a single entry by its Strapi v5 documentId, optionally populating relations, components, and media, and choosing the published or draft version.
-   **Create Entry** Creates an entry in a collection type, wrapping the fields in the data envelope Strapi expects. With Draft and Publish enabled, the entry is created as a draft unless the target status is published.
-   **Update Entry** Updates an entry by its documentId, changing only the fields you provide. Set the status to Published or set publishedAt to publish a draft, depending on the content type's configuration.
-   **Delete Entry** Permanently deletes an entry by its documentId. For internationalized content, deleting without a locale removes all localizations; pass a locale to remove only that one.

### Media

4

-   **Upload File** Uploads a file to the Media Library and can attach it to a specific entry field by supplying the target model, the numeric entry id, and the field name.
-   **List Media Files** Lists files in the Media Library, with filtering by name, mime type, or other fields, and sorting.
-   **Get Media File** Retrieves metadata for a single Media Library file by its numeric id, including name, url, mime type, size, dimensions, and generated formats.
-   **Delete Media File** Permanently deletes a file from the Media Library by its numeric id.

## Frequently Asked Questions

### What can FlowRunner do with Strapi?

FlowRunner agents can run List Entries, Get Entry, and Create Entry in Strapi, plus 6 more actions.

### Does connecting Strapi to FlowRunner require OAuth?

No. Strapi connects to FlowRunner with an API key, no OAuth flow required.

### Can Strapi trigger a FlowRunner workflow automatically?

Strapi doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Strapi?** This integration exposes Strapi to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/strapi. Site index: https://flowrunner.ai/llms.txt
