Skip to main content

Building forms

Creating and designing forms requires the Modeler, Admin, or Owner role.

Create a form

Go to Forms in the sidebar and click New form. Give it a title and a slug — the slug becomes part of the form's public address, so keep it short and readable.

The designer

The Designer is a drag-and-drop canvas where you place fields onto a free-form grid. You can:

  • Drag fields into position and set their column and row spans
  • Insert section headers and sub-headers to break the form into readable blocks
  • Watch a live preview beside the canvas that shows exactly how the public form will look, updating as you type

The layout you build is what visitors see on the public form.

Field types

TypeUse it for
TextFree-text answers
NumberNumeric answers
DateDates
RadioPick exactly one option
CheckboxTick one or more options
DropdownPick one option from a list

Field properties

Each field has:

  • A label (what the user reads) and a key (the column name your data is stored under)
  • Required — whether the field must be filled in
  • Form key — marks the field that identifies a row in this form
  • Validation rules
  • Options for radio, checkbox, and dropdown fields — either a fixed list you type in, or values pulled from another form

Linked and cascading dropdowns

A dropdown can take its options from another form rather than a fixed list. For example, a Governorate form can populate its options from a Region form.

You can also make one dropdown depend on another: choose a parent field, and the child dropdown only offers the values that match the parent's current selection. This is how you build cascading choices like Country → Region → City.

Multi-step forms

Long forms can be split into named steps. In the builder, assign fields to steps from a collapsible panel. The public form then renders a progress bar, the step title, Back / Next / Submit navigation, and validates the required fields of each step before moving on.

Preview

While you build, the live preview column mirrors the public form in real time — so you can check wording, order, and layout without publishing anything.

Export and import a form definition

You can move a form's definition between teams as a signed .skeyeform.json file.

An API key is required

Exports are cryptographically signed with your personal API key, so you must generate one first (see API key). Regenerating your key invalidates every file you exported previously.

To export: open Forms, find the form, and click Export JSON in the actions column. Your browser downloads <form-slug>.skeyeform.json containing the title, description, slug, and every field with its type, options, and link rules.

To import: open Forms, click Import JSON, choose your file, and click Import.

A few things worth knowing:

  • Importing always creates a brand-new form — it never overwrites or edits an existing one.
  • If the slug is already taken in the target team, a numeric suffix is added (regionregion-2).
  • Linked dropdowns are stored by slug, so they stay portable. If the linked form doesn't exist in the target team, the link is left empty and you can reconnect it in the editor.
  • Because the signature is tied to your own API key, a file exported by another user cannot be imported by you.

Purging submissions

Purge submissions deletes all collected data for a form while keeping the form itself.

danger

Purging is irreversible. The form definition survives, but every submission is permanently deleted.