Confluence Publish
Publish, create, and update Confluence pages from HTML content.
What this skill does
This skill upserts Confluence pages through the Confluence REST API:
- If a page with the same title exists in the target space, it updates the page.
- If no page exists, it creates a new page.
It supports credentials from config, env file, or process environment variables.
Actions
publish_page
Create or update a Confluence page.
Expected input:
input: HTML content, optionally with metadata JSON in the first HTML comment.config: runtime options and credentials.
Metadata comment format:
<!--
{"space_key":"SPACE","page_title":"My Page","parent_page_id":"12345"}
-->
<h1>Body content</h1>
Alternative config keys:
space_keypage_titleparent_page_id(optional)body_htmlpage_path(path to a file in the current workspace containing metadata comment + body)
Credential options:
config.credentials.EMAIL,config.credentials.DOMAIN,config.credentials.API_TOKENconfig.env_filepointing to a.envstyle file in the current workspace- Environment vars:
EMAIL,DOMAIN,API_TOKEN
Security constraints:
config.env_fileandconfig.page_pathmust resolve to files under the current workspace directory.DOMAINand optionalbase_urlmust target Atlassian Cloud (https://<tenant>.atlassian.net/wiki).
Success output includes:
status: "success"operation: "created" | "updated"page_idtitleurlspace_key
test_connection
Checks Confluence authentication and returns user identity info.
Example call payload
{
"action": "publish_page",
"input": "<!-- {\"space_key\":\"SPACE\",\"page_title\":\"Demo\"} --><h1>Hello</h1>",
"config": {
"credentials": {
"EMAIL": "user@example.com",
"DOMAIN": "exampletenant",
"API_TOKEN": "your-token"
}
}
}