Configure forms, registry keys, and schemas

This guide is split by task. Developers maintain form keys and schema definitions. Managers (users who can open Settings → Forms) adjust routing, mail, and embed snippets without touching PHP on every change. You will know how the three layers fit together and how to add a new template safely.

Every live form resolves a registry key to a PHP schema; the second argument to wckd_form() sets the placement label stored as form_name for inbox and performance filters.

You map the embed string to files on disk before you change settings.

  1. Open the form registry in an editor.
  2. Note the array key (for example default): that string is the first argument to wckd_form().
  3. Open the linked schema definition and scan field names, types, and database column mapping.

You override thank-you URLs, mail, routing, auto-reply, and optional per-form SMTP without redeploying PHP for every tweak. Department routing is set in the form builder on the Department field’s Choices (staff@email|Label lines). Multi-email forward (signed per-page staff address via PHP) is under Advanced settings. Neither is on the Operations tab — see Notifications for how they differ.

  1. Sign in with settings access (Primary Owner or full-access Manager).
  2. Open Settings → Forms and click Configure on the template key you located in Step 1.
  3. Under Advanced settings, use each checkbox to reveal custom thank-you / not-sent URLs, contact fields, SMTP, auto-reply, or Use multi-email forward when needed.
  4. Save the form; repeat for each registry key you expose to editors.

Managers can change which fields appear on the public form and their order without editing PHP by hand, as long as your install exposes the flyout.

  1. Open Settings → Forms and click Configure on a template.
  2. Use Add field, move up/down, and remove to shape the schema. The Field list combines built-in columns (name, email, phone, department dropdown, address fields, message, etc.) with anything you added under Settings → Form Fields (Your fields).
  3. For dropdowns and radios, fill Choices (one per line; optional value|Label).
  4. For a Department dropdown that routes staff mail, add the Department field archetype and fill Choices with one line per inbox: staff@example.com|Sales (email first, then label).
  5. Scroll to Advanced settings: each topic is its own box. Checkboxes toggle custom fields below (thank-you URLs, contact mail, SMTP, auto-reply, multi-email forward). Configure those, then click Save Form.
  6. Database caveat: new custom column names must be allowed by the generated app config or intake will not store them; coordinate with whoever maintains server config when you introduce new wf_* fields.

You paste the same PHP the docs describe, generated for the active key.

  1. Stay on Settings → Forms for the selected template.
  2. Copy the head snippet into your site layout once per page.
  3. Copy each body snippet into placements; edit the placement label string before saving the theme file.

You centralize reusable field definitions when your build wires them into the form UI.

  1. Open Settings → Form Fields.
  2. Click Add field, fill the overlay, and save to add a definition under Your fields.
  3. Use Edit or Delete on each row to change or remove a custom definition. Core fields are read-only reference.
  4. Update schemas that should reference the new definitions (developer step).

You introduce a new registry key backed by a new schema definition.

  1. Copy an existing schema definition to a new form key.
  2. Edit the new schema: adjust labels, field names, and db_column values following patterns from the file you copied.
  3. Add a new registry entry with a unique key pointing at the new schema path.
  4. Deploy the updated form definitions to the server.
  5. Open Settings → Forms, select the new key, set mail and URLs, then save.
  6. Embed with wckd_form('your_new_key', 'Placement label'); and run the verification step below.

Lite does not use the full dashboard registry. It only needs a small key-to-schema map in its Lite form map.

  1. Create or edit the form in the main dashboard.
  2. Copy the matching schema definition from the main install into Lite.
  3. Add that form key to the Lite form map.
  4. Embed the same key on the Lite site with wckd_form('your-key', 'Placement label');.

Do not copy the full dashboard registry into Lite; it contains dashboard-only settings. See WCKD Forms Lite.

Every signed-in user updates their own name or password on Settings → People & access. Viewers and regular Managers see only their own row.

  1. Open Settings → People & access.
  2. Click Edit on your row, change name or password, then save.
  3. Sign out and back in if the UI prompts for a refreshed session.

You confirm intake accepts the schema and the dashboard lists the submission.

  1. Submit once from a page that embeds the key you changed.
  2. Expect a thank-you redirect without a ?wckd= error query.
  3. Open Inbox and confirm a row exists with the placement label you passed to wckd_form().

Common mistakes

  • Intake rejects the submission: form key typo or schema mismatch; compare the form key to the schema definitions.
  • Allowed columns error after schema change: new field names are not listed in the generated app config; align the schema with that list or extend the list through the path your build documents.
  • Duplicate placement labels: two calls use the same second argument; pick distinct labels per placement for reporting.

Related pages