Update Post

wordpress.update_post
ActionBusiness appsconnection required

Calls the WordPress API with the connection's credentials.

Update an existing post. Only the fields you fill in are sent, so a status-only change leaves the content untouched.

Connection

Required
Yes — the node will not save without one
Auth type
Username & password
Providers
WordPress
Secret shape
{"username": "…", "password": "… the application password …"}
Config it needs
site_url
Resolved by
config.connection_id, else node.connection_id

Configuration

13 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
post_id
Id of the post to update.
stringYes———
title
New title for the post.
stringNo———
content
Body of the item as HTML or Gutenberg block markup.
stringNo———
excerpt
Short summary shown in listings. WordPress generates one when empty.
stringNo———
status
Publication status. Leave unset and WordPress creates a draft that is not visible on the site.
stringNodraftone of "draft", "publish", "pending", "private", "future"—
slug
URL slug. WordPress derives one from the title when this is left empty.
stringNo———
date
Publication date in the site's timezone, ISO 8601 (2026-09-09T10:00:00).
stringNo—iso8601 format—
author
User id to attribute the item to. Defaults to the connection's own user.
numberNo—≥ 1—
featured_media
Attachment id to use as the featured image; 0 clears it.
numberNo—≥ 0—
comment_status
Whether readers may comment on the item.
stringNo—one of "open", "closed"—
categories
Category ids to assign; this replaces the post's current categories.
arrayNo—array of number—
tags
Tag ids to assign; this replaces the post's current tags.
arrayNo—array of number—
extra_fields
Any other WordPress REST argument, as a JSON object, merged into the request body. Use this for custom post meta or fields a plugin adds.
objectNo———
  • At least one of title, content, excerpt, status, slug, date, author, featured_media, comment_status, categories, tags, extra_fields must be set.

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "status": "draft"
}

Output

One shape.

result

FieldTypeExample
id
WordPress id of the post.
number—
status
Publication status the post now has.
string—
link
Public permalink of the post.
string—
slug
URL slug WordPress stored.
string—
date
Publication date in the site's timezone.
string—
modified
Last modification date in the site's timezone.
string—
author
User id the post is attributed to.
number—
title.rendered
Title as HTML; title.raw is added by context=edit.
string—
content.rendered
Body as HTML; content.raw is added by context=edit.
string—
excerpt.rendered
Excerpt as HTML; excerpt.raw is added by context=edit.
string—
{
  "author": 0,
  "content": {
    "rendered": ""
  },
  "date": "",
  "excerpt": {
    "rendered": ""
  },
  "id": 0,
  "link": "",
  "modified": "",
  "slug": "",
  "status": "",
  "title": {
    "rendered": ""
  }
}

Notes

  • POST /wp/v2/posts/<id> — WordPress updates with POST, not PATCH or PUT.
  • Send content.raw block markup, not the rendered HTML from a context=view read.

See Update Post run in a workflow.

In a technical demo we add the WordPress connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.