add_task_history
ChatGPTAppend a history record to a task. This is the primary way to report progress, add notes, store handover snippets, or attach architecture documents. Never overwrites existing state — fully append-only.
add_task_history
ChatGPTAppend a history record to a task. This is the primary way to report progress, add notes, store handover snippets, or attach architecture documents. Never overwrites existing state — fully append-only.
configure_form
ChatGPTDefine or update a form for a published website. Sets required fields and what actions execute on submit. Use action for a single action, or actions (array, max 3) for multiple in sequence. Built-in action (no setup needed): {\"type\": \"leads\"} — stores submissions in platform-native lead capture, retrievable via get_integration_schema on the "leads" service. External actions: {\"type\": \"iapi\", \"service\": \"resend\", ...} for email, or {\"type\": \"webhook\", \"url\": \"...\"}. The visitor only sends field values — actions are locked server-side. Use list_integrations to check available external services. IMPORTANT: When generating the JavaScript snippet for the page, always use the Safari ITP-proof pattern: store session_id in sessionStorage and send it as X-Session-Id header on both the session GET and form submit fetch calls. This is required for custom domains (e.g. www.site.com) where Safari blocks third-party cookies.
configure_form
ChatGPTDefine or update a form for a published website. Sets required fields and what actions execute on submit. Use action for a single action, or actions (array, max 3) for multiple in sequence. Built-in action (no setup needed): {\"type\": \"leads\"} — stores submissions in platform-native lead capture, retrievable via get_integration_schema on the "leads" service. External actions: {\"type\": \"iapi\", \"service\": \"resend\", ...} for email, or {\"type\": \"webhook\", \"url\": \"...\"}. The visitor only sends field values — actions are locked server-side. Use list_integrations to check available external services. IMPORTANT: When generating the JavaScript snippet for the page, always use the Safari ITP-proof pattern: store session_id in sessionStorage and send it as X-Session-Id header on both the session GET and form submit fetch calls. This is required for custom domains (e.g. www.site.com) where Safari blocks third-party cookies.
configure_visitor_auth
ChatGPTConfigure visitor authentication for a published website. Enables email-based login (magic link or 6-digit code) for website visitors. Required before visitors can authenticate. Use method "link" for one-click email login, "code" for a 6-digit verification code.
configure_visitor_auth
ChatGPTConfigure visitor authentication for a published website. Enables email-based login (magic link or 6-digit code) for website visitors. Required before visitors can authenticate. Use method "link" for one-click email login, "code" for a 6-digit verification code.
create_edit_session
ChatGPTCreates a visual edit session so the user can upload and manage images on their published page using a browser-based editor. Returns an edit URL to share with the user. When creating pages with images, use data-wpe-slot placeholder images instead of base64 — then create an edit session so the user can upload real images.
create_edit_session
ChatGPTCreates a visual edit session so the user can upload and manage images on their published page using a browser-based editor. Returns an edit URL to share with the user. When creating pages with images, use data-wpe-slot placeholder images instead of base64 — then create an edit session so the user can upload real images.
create_entity
ChatGPTCreate a new entity (data model). Example: create a "blogpost" entity with title, content, author fields.
create_entity
ChatGPTCreate a new entity (data model). Example: create a "blogpost" entity with title, content, author fields.
create_fragment
ChatGPTCreate a reusable HTML fragment. Returns include_tag to embed in pages: <!--#wps-include fragment="name" -->. Use for shared elements like nav, footer, banners.
create_fragment
ChatGPTCreate a reusable HTML fragment. Returns include_tag to embed in pages: <!--#wps-include fragment="name" -->. Use for shared elements like nav, footer, banners.
create_page
ChatGPTCreate a new page with HTML content. Tip: use <!--#wps-include fragment="name" --> to embed reusable fragments (nav, footer). Create fragments first with create_fragment.
create_page
ChatGPTCreate a new page with HTML content. Tip: use <!--#wps-include fragment="name" --> to embed reusable fragments (nav, footer). Create fragments first with create_fragment.
create_project
ChatGPTCreate a new project for the user. Each project is an independent website with its own pages, assets, entities, and subdomain. Respects plan limits (Free: 1 project, Starter: 3, Pro: 10, Agency: unlimited). Returns the new project_id and subdomain.
create_project
ChatGPTCreate a new project for the user. Each project is an independent website with its own pages, assets, entities, and subdomain. Respects plan limits (Free: 1 project, Starter: 3, Pro: 10, Agency: unlimited). Returns the new project_id and subdomain.
create_record
ChatGPTCreate a new record in an entity. Fields depend on the entity schema.
create_record
ChatGPTCreate a new record in an entity. Fields depend on the entity schema.
create_scheduled_task
ChatGPTCreate a scheduled task that runs automatically at specified times. Supports cron expressions for flexible scheduling. Use run_once=true for one-time scheduled actions (e.g., publish a page at a specific date/time). Common cron patterns: "0 9 " (daily 9am), "0 9 1" (Monday 9am), "0 /6 " (every 6h), "0 0 1 1 " (Jan 1st midnight).
create_scheduled_task
ChatGPTCreate a scheduled task that runs automatically at specified times. Supports cron expressions for flexible scheduling. Use run_once=true for one-time scheduled actions (e.g., publish a page at a specific date/time). Common cron patterns: "0 9 " (daily 9am), "0 9 1" (Monday 9am), "0 /6 " (every 6h), "0 0 1 1 " (Jan 1st midnight).
create_task
ChatGPTCreate a new task item in the shared task tracker. Use descriptive slugs like "sapi-fase4" or "capi-intake-redesign".
create_task
ChatGPTCreate a new task item in the shared task tracker. Use descriptive slugs like "sapi-fase4" or "capi-intake-redesign".
delete_asset
ChatGPTDelete an asset
delete_asset
ChatGPTDelete an asset
delete_entity
ChatGPTDelete an entity and ALL its data. This action cannot be undone!
delete_entity
ChatGPTDelete an entity and ALL its data. This action cannot be undone!
delete_fragment
ChatGPTDelete a reusable HTML fragment. Pages using its include_tag will render an empty string in its place.
delete_fragment
ChatGPTDelete a reusable HTML fragment. Pages using its include_tag will render an empty string in its place.
delete_page
ChatGPTDelete a page
delete_page
ChatGPTDelete a page
delete_record
ChatGPTDelete a record by ID
delete_record
ChatGPTDelete a record by ID
delete_scheduled_task
ChatGPTDelete a scheduled task and all its run history.
delete_scheduled_task
ChatGPTDelete a scheduled task and all its run history.
execute_integration
ChatGPTExecute an integration action — e.g., send an email via Resend, create a payment via Mollie. The system resolves vault credentials server-side so you never handle API keys directly. The integration must be configured first via setup_integration (not needed for built-in integrations). Call get_integration_schema first to get the exact endpoint name and required input fields.
execute_integration
ChatGPTExecute an integration action — e.g., send an email via Resend, create a payment via Mollie. The system resolves vault credentials server-side so you never handle API keys directly. The integration must be configured first via setup_integration (not needed for built-in integrations). Call get_integration_schema first to get the exact endpoint name and required input fields.
export_tasks
ChatGPTGenerate a Markdown overview of all tasks grouped by status (in_progress, blocked, open, null, done) with completion percentages. Tasks without history appear under "Geen status". Includes recent activity from today and yesterday. Use this at the start of a session for a quick backlog overview, or to share current status.
export_tasks
ChatGPTGenerate a Markdown overview of all tasks grouped by status (in_progress, blocked, open, null, done) with completion percentages. Tasks without history appear under "Geen status". Includes recent activity from today and yesterday. Use this at the start of a session for a quick backlog overview, or to share current status.
get_analytics
ChatGPTGet visitor analytics for a project. Returns pageview counts, unique visitors, top pages, referrers, device breakdown, UTM data, or daily trend. Use period "today", "7d", "30d", or "90d".
get_analytics
ChatGPTGet visitor analytics for a project. Returns pageview counts, unique visitors, top pages, referrers, device breakdown, UTM data, or daily trend. Use period "today", "7d", "30d", or "90d".
get_asset
ChatGPTRead the full content of an existing asset so you can inspect it before patching. Text assets (js, css, json, svg, txt, html) are returned as UTF-8 strings in content with encoding: "utf-8". Binary assets (images, fonts, pdf) are returned as base64 in content with encoding: "base64", but only if size ≤ 1MB; above that the content is omitted and you should use the url field to download directly. Always returns version_hash (md5 of raw bytes) for future optimistic concurrency in patch_asset.
get_asset
ChatGPTRead the full content of an existing asset so you can inspect it before patching. Text assets (js, css, json, svg, txt, html) are returned as UTF-8 strings in content with encoding: "utf-8". Binary assets (images, fonts, pdf) are returned as base64 in content with encoding: "base64", but only if size ≤ 1MB; above that the content is omitted and you should use the url field to download directly. Always returns version_hash (md5 of raw bytes) for future optimistic concurrency in patch_asset.
get_edit_session_changes
ChatGPTReads back what the user changed during a visual edit session. Returns a structured changelog with uploaded images, dimensions, style changes, etc. Use this after sharing the edit URL with the user to see what they did.
get_edit_session_changes
ChatGPTReads back what the user changed during a visual edit session. Returns a structured changelog with uploaded images, dimensions, style changes, etc. Use this after sharing the edit URL with the user to see what they did.
get_entity_schema
ChatGPTGet the schema definition of an entity, including all its properties and their types
get_entity_schema
ChatGPTGet the schema definition of an entity, including all its properties and their types
get_integration_schema
ChatGPTGet the full schema of a specific integration: all available endpoints, required fields, and input parameters. Call this before execute_integration to know exactly how to call an endpoint. Use list_integrations first to see which integrations are available.
get_integration_schema
ChatGPTGet the full schema of a specific integration: all available endpoints, required fields, and input parameters. Call this before execute_integration to know exactly how to call an endpoint. Use list_integrations first to see which integrations are available.
get_page
ChatGPTGet a specific page with its content. Returns version and version_hash for use with patch_page.
get_page
ChatGPTGet a specific page with its content. Returns version and version_hash for use with patch_page.
get_page_versions
ChatGPTGet the version history of a page. Returns metadata (version numbers, hashes, timestamps, change summaries) — no content. Useful to check what changed or find a version to rollback to.
get_page_versions
ChatGPTGet the version history of a page. Returns metadata (version numbers, hashes, timestamps, change summaries) — no content. Useful to check what changed or find a version to rollback to.
get_project_status
ChatGPTGet detailed status of a specific project including page, asset, and entity counts
get_project_status
ChatGPTGet detailed status of a specific project including page, asset, and entity counts
get_record
ChatGPTGet a single record by ID
get_record
ChatGPTGet a single record by ID
get_skill
ChatGPTALWAYS call this tool at the start of every conversation where you will build or modify a WebsitePublisher website. Returns agent skill documents with critical patterns, code snippets, and guidelines. Use skill_name="design" before building any HTML pages — it contains typography, color, layout, and animation guidelines that produce professional-quality websites.
get_skill
ChatGPTALWAYS call this tool at the start of every conversation where you will build or modify a WebsitePublisher website. Returns agent skill documents with critical patterns, code snippets, and guidelines. Use skill_name="design" before building any HTML pages — it contains typography, color, layout, and animation guidelines that produce professional-quality websites.
get_task
ChatGPTGet a single task with computed completion percentage, current status, and available architecture document versions.
get_task
ChatGPTGet a single task with computed completion percentage, current status, and available architecture document versions.
get_task_history
ChatGPTGet the full history of a task — all progress updates, notes, snippets, blockers, and architecture documents. Use with_content=true to fetch MD content from S3.
get_task_history
ChatGPTGet the full history of a task — all progress updates, notes, snippets, blockers, and architecture documents. Use with_content=true to fetch MD content from S3.
get_tracking_scripts
ChatGPTGet the current tracking scripts configured for a project. Returns head_scripts and body_scripts, or null if none configured.
get_tracking_scripts
ChatGPTGet the current tracking scripts configured for a project. Returns head_scripts and body_scripts, or null if none configured.
get_visitor_auth_config
ChatGPTGet the current visitor auth configuration for a project. Shows whether auth is enabled, which methods are allowed, and the success redirect URL.
get_visitor_auth_config
ChatGPTGet the current visitor auth configuration for a project. Shows whether auth is enabled, which methods are allowed, and the success redirect URL.
list_assets
ChatGPTList all assets (images, CSS, JS, etc.) in a project
list_assets
ChatGPTList all assets (images, CSS, JS, etc.) in a project
list_entities
ChatGPTList all entities (data models) in a project. Entities are like database tables that store structured data.
list_entities
ChatGPTList all entities (data models) in a project. Entities are like database tables that store structured data.
list_forms
ChatGPTList all configured forms for a project. Shows form names, required fields, configured actions, and submit limits.
list_forms
ChatGPTList all configured forms for a project. Shows form names, required fields, configured actions, and submit limits.
list_fragments
ChatGPTList all reusable HTML fragments in a project. Returns fragment_name, include_tag, content and version info.
list_fragments
ChatGPTList all reusable HTML fragments in a project. Returns fragment_name, include_tag, content and version info.
list_integrations
ChatGPTList all available integrations and their configuration status for a project. Shows which integrations are fully configured (vault secrets present and ready to use) and which are available but need setup. Use get_integration_schema to see the full endpoint details and input parameters for a specific integration.
list_integrations
ChatGPTList all available integrations and their configuration status for a project. Shows which integrations are fully configured (vault secrets present and ready to use) and which are available but need setup. Use get_integration_schema to see the full endpoint details and input parameters for a specific integration.
list_pages
ChatGPTList all pages in a project
list_pages
ChatGPTList all pages in a project
list_projects
ChatGPTList all projects the authenticated user has access to. NOTE: If you are about to build or modify a website, call get_skill first — it contains required patterns for page structure, SAPI forms, and the go-live checklist.
list_projects
ChatGPTList all projects the authenticated user has access to. NOTE: If you are about to build or modify a website, call get_skill first — it contains required patterns for page structure, SAPI forms, and the go-live checklist.
list_records
ChatGPTList all records of an entity type with optional pagination
list_records
ChatGPTList all records of an entity type with optional pagination
list_scheduled_tasks
ChatGPTList all scheduled tasks for a project, showing their status, next run time, and last execution.
list_scheduled_tasks
ChatGPTList all scheduled tasks for a project, showing their status, next run time, and last execution.
list_tasks
ChatGPTList all tracked tasks with current completion percentage and status. Returns root tasks only by default (child tasks are hidden — drill in with parent_id to see them, or set parent_id_null=false for the flat list). Snoozed tasks are hidden by default — use include_snoozed=true to show them. Tasks without any history have status=null — use "null" in the status filter to find them.
list_tasks
ChatGPTList all tracked tasks with current completion percentage and status. Returns root tasks only by default (child tasks are hidden — drill in with parent_id to see them, or set parent_id_null=false for the flat list). Snoozed tasks are hidden by default — use include_snoozed=true to show them. Tasks without any history have status=null — use "null" in the status filter to find them.
patch_asset
ChatGPTApply targeted text changes to an existing asset (js, css, json, svg) without re-uploading the full file. Uses find/replace like patch_page. For binary assets (images, fonts), use upload_asset with overwrite: true instead.
patch_asset
ChatGPTApply targeted text changes to an existing asset (js, css, json, svg) without re-uploading the full file. Uses find/replace like patch_page. For binary assets (images, fonts), use upload_asset with overwrite: true instead.
patch_page
ChatGPTApply targeted changes to an existing page without sending the full content. base_version_hash is optional — if omitted, find/replace acts as the natural conflict guard. Supports replace, delete, insert_before and insert_after operations. Much more efficient than update_page for small edits.
patch_page
ChatGPTApply targeted changes to an existing page without sending the full content. base_version_hash is optional — if omitted, find/replace acts as the natural conflict guard. Supports replace, delete, insert_before and insert_after operations. Much more efficient than update_page for small edits.
remove_form
ChatGPTRemove a form configuration from a project. Visitors will no longer be able to submit this form.
remove_form
ChatGPTRemove a form configuration from a project. Visitors will no longer be able to submit this form.
remove_integration
ChatGPTRemove an integration by permanently deleting all its vault secrets. After removal, the integration endpoints will no longer work until reconfigured via setup_integration.
remove_integration
ChatGPTRemove an integration by permanently deleting all its vault secrets. After removal, the integration endpoints will no longer work until reconfigured via setup_integration.
remove_tracking_scripts
ChatGPTRemove all tracking scripts from a project. Pages will no longer have tracking code injected.
remove_tracking_scripts
ChatGPTRemove all tracking scripts from a project. Pages will no longer have tracking code injected.
rollback_page
ChatGPTRollback a page to a previous version. Creates a new version with the old content (audit trail preserved). Specify either target_version (number) or target_version_hash. Use get_page_versions to find available versions.
rollback_page
ChatGPTRollback a page to a previous version. Creates a new version with the old content (audit trail preserved). Specify either target_version (number) or target_version_hash. Use get_page_versions to find available versions.
set_tracking_scripts
ChatGPTSet Google Analytics, Google Tag Manager, Meta Pixel, or other tracking/conversion scripts for a project. Scripts are automatically injected into every page: head_scripts before </head> (for analytics/GTM), body_scripts before </body> (for conversion pixels). Set a field to null or omit it to clear.
set_tracking_scripts
ChatGPTSet Google Analytics, Google Tag Manager, Meta Pixel, or other tracking/conversion scripts for a project. Scripts are automatically injected into every page: head_scripts before </head> (for analytics/GTM), body_scripts before </body> (for conversion pixels). Set a field to null or omit it to clear.
setup_integration
ChatGPTConfigure an integration by storing its required API keys in the vault. Validates key format against the integration manifest. After setup, the integration endpoints become available for execute_integration calls. Use list_integrations first to see what secrets are required. For production API keys, consider using the Dashboard Vault tab (dashboard.websitepublisher.ai/vault) instead — keys are stored directly without passing through the AI conversation.
setup_integration
ChatGPTConfigure an integration by storing its required API keys in the vault. Validates key format against the integration manifest. After setup, the integration endpoints become available for execute_integration calls. Use list_integrations first to see what secrets are required. For production API keys, consider using the Dashboard Vault tab (dashboard.websitepublisher.ai/vault) instead — keys are stored directly without passing through the AI conversation.
update_entity
ChatGPTUpdate entity metadata such as plural name, description, or public_read access. Set public_read to true to make entity data accessible without authentication via /mapi/public/{projectId}/{entity}.
update_entity
ChatGPTUpdate entity metadata such as plural name, description, or public_read access. Set public_read to true to make entity data accessible without authentication via /mapi/public/{projectId}/{entity}.
update_fragment
ChatGPTUpdate a reusable HTML fragment. All pages using its include_tag will serve the new content on next request (cache invalidated automatically). Pass base_version_hash from the fragment's current version to enable optimistic locking — the update will fail if another edit happened since you last read it. Use force=true to skip the version check.
update_fragment
ChatGPTUpdate a reusable HTML fragment. All pages using its include_tag will serve the new content on next request (cache invalidated automatically). Pass base_version_hash from the fragment's current version to enable optimistic locking — the update will fail if another edit happened since you last read it. Use force=true to skip the version check.
update_page
ChatGPTReplace an existing page with full new content. Requires base_version_hash (from get_page) to prevent accidental overwrites — send force: true to skip this check. For small changes, use patch_page instead — it saves tokens and preserves version history.
update_page
ChatGPTReplace an existing page with full new content. Requires base_version_hash (from get_page) to prevent accidental overwrites — send force: true to skip this check. For small changes, use patch_page instead — it saves tokens and preserves version history.
update_record
ChatGPTUpdate an existing record. Only provided fields will be updated.
update_record
ChatGPTUpdate an existing record. Only provided fields will be updated.
upload_asset
ChatGPTUpload an asset (image, font, PDF, etc). Provide exactly one of: content (base64), content_text (plain text for JS/CSS/JSON/SVG — preferred, saves tokens), or source_url (public HTTPS URL for images). Set overwrite: true to replace an existing asset.
upload_asset
ChatGPTUpload an asset (image, font, PDF, etc). Provide exactly one of: content (base64), content_text (plain text for JS/CSS/JSON/SVG — preferred, saves tokens), or source_url (public HTTPS URL for images). Set overwrite: true to replace an existing asset.
vault_delete_secret
ChatGPTPermanently delete a secret from the project vault. This cannot be undone. The encrypted value is destroyed.
vault_delete_secret
ChatGPTPermanently delete a secret from the project vault. This cannot be undone. The encrypted value is destroyed.
vault_list_secrets
ChatGPTList all secrets stored in a project's vault. Returns metadata only (key names, prefixes, service types, status) — never the actual secret values. Use this to check what credentials are stored before setting up integrations.
vault_list_secrets
ChatGPTList all secrets stored in a project's vault. Returns metadata only (key names, prefixes, service types, status) — never the actual secret values. Use this to check what credentials are stored before setting up integrations.
vault_store_secret
ChatGPTStore or update a secret in the project vault. The value is encrypted with AES-256-GCM and can never be read back. Use this to save API keys for integrations. If the key_name already exists, the value is replaced. For integration setup, prefer setup_integration which handles validation. For production API keys, the Dashboard Vault tab (dashboard.websitepublisher.ai/vault) is the recommended secure alternative — keys go directly to encrypted storage without passing through the AI conversation.
vault_store_secret
ChatGPTStore or update a secret in the project vault. The value is encrypted with AES-256-GCM and can never be read back. Use this to save API keys for integrations. If the key_name already exists, the value is replaced. For integration setup, prefer setup_integration which handles validation. For production API keys, the Dashboard Vault tab (dashboard.websitepublisher.ai/vault) is the recommended secure alternative — keys go directly to encrypted storage without passing through the AI conversation.