Building forms

Once your agent is connected, you build forms by describing them. No JSON to hand-write — the agent turns your request into a form and gives you back a link.

Just describe it

Try prompts like:

"Create a published contact form with a name, an email, and a message box. Give me the share link."

"Make an event RSVP form: full name, number of seats (1–4), and a dropdown for meal choice — veggie, chicken, or fish."

"Add a 'company' text field to my contact form, and make the phone field optional."

The agent creates or edits the form and hands you a public link like https://ffforms.com/f/... that you can share right away.

Things worth telling your agent

A form has a title, an optional description, a status, and a list of fields. You don't have to specify all of it, but these are the knobs:

  • Status — a form is draft, published, or closed. Only a published form accepts responses, so say "publish it" when you're ready.
  • Required fields — mention which answers are mandatory ("email is required").
  • Field labels — the exact wording people see. Your agent will pick sensible ones, but you can dictate them.

Field types you can ask for

Behind the scenes, every question is one of these types. You can just describe what you want ("a date picker," "a dropdown") and the agent picks the right one — but here's the full set:

Type Good for Notes
text Short single-line answers can set min/max length
textarea Longer, multi-line answers can set min/max length
email Email addresses validated as email
url Web links validated as a URL
number Numeric answers can set min/max
select Pick one from a dropdown needs a list of options
multiselect Pick several needs a list of options
radio Pick one (shown as buttons) needs a list of options
checkbox A single yes/no tick
date A calendar date

For dropdowns and multiple choice, give your agent the options ("small, medium, large") and it fills in the rest.

Every answer is checked

You never have to trust the person filling in the form. Whatever the browser does, ffforms re-checks every submission on its own server — required fields must be present, emails must be real emails, numbers must be in range. Bad submissions are rejected automatically.