Install
openclaw skills install rectify-skillManage tasks, columns, and documents on the Rectify platform via REST API. Use when the user asks about creating, updating, moving, deleting, or searching tasks on the AgentPulse task board, or creating and managing Rectify Documents. Rectify is an all-in-one SaaS operations platform for bug reporting, session replays, uptime monitoring, code scanning, roadmaps, changelogs, and AI agent management. Triggers on: task board, kanban, create task, move task, assign task, list columns, documents, create document, update document, archive, sub-pages.
openclaw skills install rectify-skillYou have full CRUD access to the Rectify AgentPulse task board and Rectify Documents via REST API.
Rectify (https://www.rectify.so) is an all-in-one SaaS operations platform. AgentPulse is its AI agent management layer built on OpenClaw, providing task boards, agent coordination, and document management.
All requests use your RECTIFY_PROJECT_TOKEN — no extra setup needed.
Required headers on every request:
x-api-token: $RECTIFY_PROJECT_TOKENTask Invoke URL: https://api.rectify.so/v1/agent-pulse/ai-tools/invoke
Doc Invoke URL: https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke
Board Context URL: https://api.rectify.so/v1/agent-pulse/ai-tools/board-context
Doc Context URL: https://api.rectify.so/v1/agent-pulse/ai-tools/document-context
Members URL: https://api.rectify.so/v1/agent-pulse/members
This skill sends requests to https://api.rectify.so only.
RECTIFY_PROJECT_TOKEN is a user-issued project token from app.rectify.socurl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "list_columns", "args": {}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "list_tasks", "args": {}}'
curl -s "https://api.rectify.so/v1/agent-pulse/members" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN"
Returns
{ data: [{ id, name, email, image, role }] }. UseidasassignedMemberwhen creating or updating tasks.
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "create_task", "args": {"title": "TASK_TITLE", "description": "OPTIONAL_DESC", "priority": "low|medium|high", "columnId": "COLUMN_ID", "assignedAgent": "OPTIONAL_AGENT_NAME", "assignedMember": "MEMBER_USER_ID", "workspace": "OPTIONAL_WORKSPACE_PATH", "labels": ["optional"]}}'
assignedAgent— OpenClaw agent name (e.g. "Atlas").assignedMember— user ID from the members endpoint.workspace— full workspace path (optional).
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "update_task", "args": {"taskId": "TASK_ID", "title": "NEW_TITLE", "description": "NEW_DESC", "priority": "low|medium|high", "assignedMember": "MEMBER_USER_ID", "workspace": "WORKSPACE_PATH"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "move_task", "args": {"taskId": "TASK_ID", "columnId": "TARGET_COLUMN_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "assign_task", "args": {"taskId": "TASK_ID", "assignedAgent": "AGENT_NAME_OR_NULL", "assignedMember": "MEMBER_USER_ID_OR_NULL"}}'
Pass
nullto unassign. Provide either or both fields.
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "delete_task", "args": {"taskId": "TASK_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "search_tasks", "args": {"query": "SEARCH_TEXT", "priority": "high", "status": "in_progress", "assignedAgent": "AGENT_NAME"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "create_column", "args": {"name": "COLUMN_NAME", "color": "#hex6"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "delete_column", "args": {"columnId": "COLUMN_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/board-context" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN"
list_columns first to get column IDs before creating or moving tasks.list_columns returns an empty array, create a default column (e.g. "To Do") using create_column before creating tasks.Rectify Documents is a separate feature from the task board. You have full CRUD access.
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "list_documents", "args": {}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "list_documents", "args": {"parentDocument": "PARENT_DOC_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "get_document", "args": {"documentId": "DOC_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "search_documents", "args": {"query": "SEARCH_TEXT"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "create_document", "args": {"title": "DOC_TITLE", "content": "MARKDOWN_CONTENT", "icon": "OPTIONAL_EMOJI", "isPublished": false, "parentDocument": "OPTIONAL_PARENT_DOC_ID"}}'
titleis required.contentis plain markdown — do NOT include a# Titleheading (title is a separate field).icon(emoji),isPublished(default false), andparentDocument(for sub-pages) are optional.
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "update_document", "args": {"documentId": "DOC_ID", "title": "NEW_TITLE", "content": "MARKDOWN_CONTENT", "icon": "EMOJI", "isPublished": true}}'
Write content as plain markdown. Do NOT include a
# Titleheading — the title is a separate field.
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "archive_document", "args": {"documentId": "DOC_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "restore_document", "args": {"documentId": "DOC_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/doc-invoke" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tool": "delete_document", "args": {"documentId": "DOC_ID"}}'
curl -s "https://api.rectify.so/v1/agent-pulse/ai-tools/document-context" \
-H "x-api-token: $RECTIFY_PROJECT_TOKEN"
list_documents first to get document IDs before reading or updating.create_document with parentDocument set to the parent doc ID.# Title heading; title goes in the title field separately.delete_document only for permanent removal.All API calls return JSON. On error the response will contain an error field:
{ "error": "Error message here" }
On success:
{ "success": true, "task": { "id": "...", "title": "..." } }
Common causes:
401 — Invalid or missing RECTIFY_PROJECT_TOKEN, or token not authorized for this project404 — Resource not found (wrong ID)400 — Missing required field