Form Tools
The 27 form_* tools build, validate, publish, and embed forms (and booking flows). They ship in the kitchen-sink @spideriq/mcp package. Destructive tools (delete, publish, restore) default to dry_run=true.
Lifecycle
form_create— create a draft form with initial fields and an optional theme. Params:name,fields,preset, theme tokens.form_get— fetch a form byflow_id. Param:audit_level.form_update— partial update; merges intochanges.flow(passreplace_flow: trueto overwrite).form_duplicate— clone a form.form_delete— archive a form. Gated.form_publish— publish (draft → active). Gated.
Fields & steps
form_add_field— append a field.form_update_field— patch a field (deep-merge;replace_field: trueto overwrite). CRM mappings (crm_target) are set here.form_remove_field— remove a field (drops logic rules that reference it).form_reorder_fields— reorder fields.form_add_choice— add an option to a select / checkbox / picture-choice field.
Logic & variables
form_add_logic_rule— add a conditional rule (trigger, condition, actions: jump / show / hide / calculate).form_validate_logic— check logic structure locally (no API call).form_remove_logic— remove a rule by id or index.form_declare_variable— declare a flow variable (for scoring/totals).form_add_hidden_field— declare a hidden field (URL-prefilled).
Validate, preview, embed
form_validate— validate the whole form structure locally.form_preview_url— return the canonicalhttps://<site>/f/<flow_id>URL (never/book/<id>for forms).form_get_embed_snippet— return copy-paste HTML for inline or popup embedding.form_test_submit— submit test answers (the form must be published).
Locking & versions
form_lock/form_unlock— lock a form against edits.form_list_versions/form_restore_version— version history (restore is gated, returns to draft).
Templates
form_list_template_categories— list template categories.form_list_global_templates— list the global form-template library.form_create_from_template— clone a template into a draft (auto_create=trueimmediately creates a live draft and returns itsflow_id).
Example flow (agent)
"Create a contact form from the contact-form template, add a phone field after
email, add a thank-you screen that redirects to /thanks, validate it, publish it,
and give me the embed snippet for a popup."The agent chains form_create_from_template → form_add_field → (thank-you screen via form_update) → form_validate → form_publish (with confirm) → form_get_embed_snippet.
Next steps
MCP Reference Overview — packages, gating, and how to call a tool.
Building a Form — the concepts behind these tools.
Embedding Forms — putting a published form on a page.
Forms & Booking API — the same operations over HTTP.