apply_form_draft
ChatGPTApply the exact reviewed config from propose_form_draft. Rejects stale drafts and never publishes. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
apply_form_edit
ChatGPTApply the exact reviewed AI edit from propose_form_edit. Rejects stale drafts and never publishes. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
create_form
ChatGPTCreate a draft form. To target a custom workspace, call get_workspace and pass an accessible workspaces[].id as workspace_id. Omitted workspace_id uses the credential default: a workspace-scoped API key stays in its fixed workspace, while user credentials use managed-team General, owned-team General, or personal storage as applicable. Omitted preview_config.mode defaults to page. This tool never publishes. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
create_form_from_prompt
ChatGPTGenerate and save a draft form from a natural-language description. To target a custom workspace, call get_workspace and pass an accessible workspaces[].id as workspace_id. Omitted workspace_id uses the credential default: a workspace-scoped API key stays in its fixed workspace, while user credentials use managed-team General, owned-team General, or personal storage as applicable. This tool never publishes. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
create_headless_api_key
ChatGPTCreate or replace the backend API key of a form's Headless endpoint, in two steps. Call without confirm_create to preview which endpoint and existing key are affected and receive a short-lived key_token. After explicit user confirmation, call again with confirm_create=true and that key_token. The plaintext key is returned once in that response and is never retrievable later; a new key immediately invalidates the previous one. The key only submits to this endpoint and belongs on a server, never in browser code. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
create_headless_form
ChatGPTCreate a headless-native form and its endpoint in one call. Returns submit URLs and an embed snippet; no hosted form page is created. With domains, browser submissions from those origins are accepted at once. Omit domains (or pass []) for a server-only endpoint: it stays disabled until create_headless_api_key adds a backend key and update_headless_endpoint enables it. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
delete_webhook
ChatGPTDelete a form webhook in two steps. Call without confirm_delete to preview which webhook will be removed and receive a short-lived delete_token. After explicit user confirmation, call again with confirm_delete=true and that exact delete_token. Deletion stops future submission deliveries and cannot be undone. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
duplicate_form
ChatGPTDuplicate an accessible form into a new draft, optionally with a new name. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
export_submissions
ChatGPTExport up to 5,000 accessible form submissions as a downloadable CSV data URL. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_analytics_summary
ChatGPTGet completed and partial submission counts for a form over the last 7, 30, or 90 days. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_form
ChatGPTGet a form with its complete draft, published configuration, and current settings. Optionally include compatible managed image candidates for one target; image discovery requires edit access. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_form_config_schema
ChatGPTReturn JSON Schema generated from the runtime Zod schema used to validate MCP form drafts. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_form_embed
ChatGPTGenerate a paste-ready, framework-neutral Standard, Popup, Slider, or Fullpage embed package for a published Makeform form. Use snippet_mode=csp_external for strict host Content Security Policy output that does not require unsafe-inline. Optionally include explicitly requested, saved Hidden Fields with static string, finite number, or boolean values. Hidden Field values enter URLs and logs: never pass passwords, tokens, payment information, government IDs, health data, secrets, or other sensitive PII. Omit embed_type, options, and snippet_mode for the default Standard embed. Use this tool whenever the user wants to embed a Makeform form into a website or application. Do not invent Makeform iframe URLs or SDK markup manually. This tool never publishes or changes the form or installs the embed. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_form_stats
ChatGPTCompute database-aggregated total, today, rolling 7-day/28-day, current-month, completed/partial, completion-rate, and source/ref counts. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_headless_endpoint
ChatGPTGet a form headless endpoint, submit URLs, embed snippet, and auto-reply state without returning secrets. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_submission
ChatGPTFetch one accessible submission by ID. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_submission_trend
ChatGPTGet daily or weekly submission-count buckets for a form over the last 7, 30, or 90 days. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_workflow_guide
ChatGPTReturn the live Makeform MCP workflow guide and supported config element reference. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
get_workspace
ChatGPTGet the current MCP credential context, plan, role, counts, and accessible custom workspaces. For creation, choose a custom target from workspaces[].id; the top-level workspace_id remains the credential context identifier. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
list_forms
ChatGPTList accessible forms with status, timestamps, and exact submission counts. Returns { forms: [...] }. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
list_submissions
ChatGPTList submissions with stable cursor pagination and date/source filters. A date-only until value includes that entire UTC day. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
list_webhooks
ChatGPTList a form's submission webhooks without secrets: id, URL with query values and token-like path segments redacted, enabled state, whether a signing secret is set, custom header names (never values), and timestamps. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
open_makeform_app
ChatGPTOpen the interactive Makeform app in ChatGPT. Pass form_id after creating or reading a form to show its authorized summary and editor action; omit it for workspace quick actions. The form view also attempts to append a private execution audit record; retries may add another record. Opening the card does not modify form data or publish it.
propose_form_draft
ChatGPTValidate and preview replacing a complete draft config without saving form changes. Returns a short-lived draft_token for apply_form_draft. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
propose_form_edit
ChatGPTSend the current draft configuration and edit instruction to Makeform's external AI provider to generate and validate a proposal without saving form changes. Returns an edit_token and complete proposed_config for review. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
publish_form
ChatGPTPreview a publish and return a short-lived publish_token by default. To publish the reviewed proposal, pass that exact token with confirm_publish=true; stale proposals are rejected. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
test_webhook
ChatGPTSend one test event to a form webhook from Makeform's servers and report the HTTP status and latency. The request uses the webhook's stored method (default POST), headers and signature exactly like a real delivery, but is marked X-MakeForm-Event: webhook.test with "test": true and contains no submission data. GET webhooks receive headers only (no body, no signature), as real deliveries do. The response body is never returned. No webhook, form, or delivery state is changed. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
update_email_notification
ChatGPTChange one hosted email notification of a form per call: target "self" emails the form owner on each submission, target "respondent" sends the submitter a confirmation email. Set enabled, subject_template, body_template, attach_pdf_with_answers and, for respondent, email_field_id; omitted fields keep their current values. Read the current state from get_form.email_notifications. Respondent emails and PDF attachments need the form billing owner's paid plan (not the caller's) and fail with upgrade_required otherwise; respondent emails also need a published email field. Headless forms are rejected: use update_headless_endpoint auto_reply instead. Saved changes apply to the live form immediately. This tool never sends a test email. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
update_form
ChatGPTPerform a guarded form-admin update. preview_config is an immediate destructive write for callers that already reviewed a complete config; successful compatibility warnings describe the committed draft. Use propose_form_draft/apply_form_draft when pre-write review is needed. Omitted preview_config.mode preserves the stored supported mode; if none exists, supply it explicitly. Update name and/or preview_config, or separately bind, replace, or clear one managed image target with image_asset. Name changes can affect an existing public page title without a separate publish. Image changes require the exact nullable get_form.updated_at token, do not publish draft configuration, and preserve reusable storage. Logo and cover affect draft preview only; favicon and open-graph settings may affect an existing published page after revalidation and caches; QR logo affects only subsequently generated QR images. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
update_form_settings
ChatGPTDeep-merge partial settings into a form: language, completion redirect, close rules, timer, progress bar, anti-bot, hidden fields, SEO share text, analytics tracking, and Pro branding toggles. Saved settings apply to published forms without a separate publish, including availability, external completion redirects, and browser tracking. Send only the fields to change; nested objects merge and other values persist, except hidden_fields is a complete replacement array. Hidden Field names follow the Form Settings lowercase contract; MCP also retains runtime reserved-name safety checks. Pass expected_updated_at from get_form to reject stale writes. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.
update_headless_endpoint
ChatGPTCreate if missing and update a form headless endpoint: enabled state, origins, schema/spam modes, and paid auto-reply. Separately, verified_email_fields (alone in its call) sets the Headless-native fields that require respondent email OTP (Business plan). Backend API keys come from create_headless_api_key; Turnstile secrets remain dashboard-only. Each invocation attempts to append a private execution audit record, including data reads and proposals; retries may add another record.