Drupal
CMS & ContentRead and write content on a Drupal site over its core JSON:API module. Agents create, update, and delete nodes, taxonomy terms, and users, and reach any entity type through typed CRUD actions plus a raw JSON:API request.
What This Integration Enables
Drupal outlasted the CMS wars because it treats content as structured data: typed entities, bundles, fields, and relationships rather than a pile of pages. That structure is exactly what makes it a strong surface for agents. Over the core JSON:API module, FlowRunner agents read and write nodes, taxonomy terms, users, and any other entity type with real field-level precision, and the raw JSON:API Request action covers whatever the typed actions do not. The site stops being a destination someone updates and becomes a system the rest of your stack writes to, with editorial judgment kept exactly where it belongs. - Publish content generated anywhere as fully structured nodes, drafted first and gated before going live - Keep vocabularies in step with external sources instead of letting tags drift - Provision and update user accounts from a system of record - Read published content to power notifications, digests, and downstream syncs - Reach custom entity types and uncommon operations through the raw JSON:API Request
Without FlowRunner
With FlowRunner
Use Case Scenarios
Mirroring a WordPress archive into Drupal
A migration flow reads articles from [WordPress](/integrations/wordpress), maps categories to the target vocabulary with List Taxonomy Terms, creates missing terms, and calls Create Node for each post with author and tag relationships set. Every node arrives unpublished. The editor spot-checks a sample, approves the batch, and Update Node publishes in waves. Failures are logged per node, so a 500-article migration produces a punch list instead of a mystery.
The vocabulary that maintains itself
Product marketing keeps the official category list in [Google Sheets](/integrations/google-sheets). A nightly agent reads the rows, compares them against List Taxonomy Terms, creates new terms, and updates renamed ones with Update Taxonomy Term. Content editors always tag against the current taxonomy, and the "which spelling is canonical" debate ends because the sheet is the answer.
The stale content audit nobody dreads
Quarterly, the agent calls List Nodes filtered on publication dates past the review threshold, pulls each candidate with Get Node, and assembles a report: last update, author, inbound references. The content owner marks each row keep, refresh, unpublish, or delete. The agent executes the decisions, Update Node unpublishes, Delete Node removes, and posts the summary to [Slack](/integrations/slack). Four hundred pages get reviewed in an afternoon of human judgment instead of a quarter of human labor.
Human-in-Loop Highlight
Delete Node is permanent, and on a public site it deletes more than a record: it kills a URL that search engines rank, other pages reference, and customers may have bookmarked. Drupal will not give the node back, and the 404s start immediately. So FlowRunner's cleanup flows treat deletion as a proposal. The agent presents: "Node 'Pricing FAQ 2023', last updated 19 months ago, 3 internal references from live pages, still receiving traffic per analytics. Delete, unpublish, or keep?" The content owner answers, references get repointed first, and only then does Delete Node run. The [human-in-the-loop](/concepts/human-in-the-loop) gate exists because restoring a database backup to recover one page is nobody's idea of a Tuesday.
Agent Capabilities
19 actionsContent Nodes
5- List Nodes Lists nodes of a content type with filtering by published status, title, and author, plus sorting, pagination, and embedded related resources. The primary read over a site's content.
- Get Node Retrieves a single node by UUID with optional embedded author, tags, and images. The verification step after writes and the context step before decisions.
- Create Node Creates a node with title, body, published status, custom fields, and relationships. The publishing pipeline's write, used draft-first in governed flows.
- Update Node Partially updates a node by UUID, changing only supplied fields. The tool for publish flips, refreshes, and field corrections.
- Delete Node Permanently deletes a node by UUID. The operation this page's human gate exists for.
Taxonomy
5- List Taxonomy Terms Lists terms in a vocabulary with name filtering, sorting, and pagination. The lookup behind consistent tagging.
- Get Taxonomy Term Retrieves a term's name, description, and weight by UUID.
- Create Taxonomy Term Creates a term in a vocabulary with name, description, and custom fields. The step that keeps classification in step with source systems.
- Update Taxonomy Term Partially updates a term by UUID. Used for renames and description refreshes without touching anything else.
- Delete Taxonomy Term Permanently deletes a term, which can affect every piece of content referencing it, so cleanup flows re-tag first and delete second.
Users
3- List Users Lists user accounts with active-status filtering, subject to the authenticated account's permissions.
- Get User Retrieves an account's name, email, status, and roles by UUID.
- Create User Creates a user account with name, email, initial password, and active status. The provisioning step for syncing accounts from a system of record.
Any Entity Type
6- List Entities Lists entities of any type and bundle, node, taxonomy_term, user, media, file, with raw JSON:API filters, sorting, pagination, and includes. The generic read when typed actions do not cover the entity.
- Get Entity Retrieves any entity by type, bundle, and UUID with optional embedded relationships.
- Create Entity Creates an entity of any type and bundle from attributes and relationships using Drupal field machine names.
- Update Entity Partially updates any entity by UUID, touching only the supplied fields.
- Delete Entity Permanently deletes any entity by UUID. Gated in governed flows for the same reasons Delete Node is.
- JSON:API Request Sends a raw JSON:API request with full control of method, resource type, and body. The escape hatch for custom entity types and operations the typed actions do not model.
Frequently Asked Questions
What can FlowRunner do with Drupal?
FlowRunner agents can run List Entities, Get Entity, and Create Entity in Drupal, plus 16 more actions.
Does connecting Drupal to FlowRunner require OAuth?
No. Drupal connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can Drupal trigger a FlowRunner workflow automatically?
Drupal doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Drupal
$100 in credits. No card required. Connect in minutes.