Publishing a form
4 min read · By Stefan Köhn
A saved form is not public yet. The switch in the top right makes it live, and two lines bring it onto someone else's page. If you have no website, send the address instead.
Live is a switch, not a save
A new form starts as a draft. Only the switch in the top right releases the public address; before that it does not answer, and an embedded box would stay empty. A form missing a required field of its entity cannot be switched live. Changes to a running form are out as soon as you save. A field you remove is gone for the next visitor.
Two lines on the other page
Under Embed you find the snippet: an empty box and a script behind it. Both go where the form should appear on the page. The script loads the form's description and draws it into a shielded area, so general rules of the host page move nothing. You can still style it, through the variables and parts listed in the article on styling. The snippet carries no version number, so a fix from us reaches every page without anyone touching it.
Without a website of your own
Every form also has an address of its own, shown in the same Embed dialog. It renders the same form on a plain page and can be sent around, hung in a menu or used as the target of an ad. The path is the same: what arrives becomes a record.
Which addresses may submit
While the list is empty, the form accepts from anywhere. Enter domains and submissions from other pages stop going through. This is house rules and not a lock: anyone rebuilding the request sends whatever origin they like. What it stops is somebody embedding your form on their page so the enquiries land in your account. The form's description stays readable for everyone, because whoever has the address sees it anyway.
Spam protection without puzzle images
Three measures run on every form, with nothing to configure. An invisible trap field that only machines fill in; whoever writes into it gets a thank you and no record. A minimum of two seconds between the first keystroke and submitting. And a cap per minute, per sender and per form. There are deliberately no puzzle images: they cost you completions from real prospects and do not stop a targeted attack anyway. Rejected submissions are logged with their reason, so you can tell a real submission from a machine.
Picking a time inside a form
With scheduling booked, the builder lists Pick a time under Blocks at the top left, in intake forms. You place it on a page like a field, move it like a field and set it up in the Field tab: title, duration and required. It always sits alone in its row. The visitor picks a time there, and the booking is made on submit. Without a token, a new record is created and the appointment is attached to it; the confirmation names the appointment. If your website passes a record's token, as data-lf-booking-token next to data-lf-form, the form books for that record and creates none. The token comes from the API response when it is called with "booking": {}. So for scheduling after your own inquiry, a form with one page and only this block is enough. If the time has been taken in the meantime, the visitor stays on the page and picks again. With Required, Next only works once a time is picked, unless nothing is free right now. A form has one booking block. The preview shows the calendar but books nothing.
Step by step
- In the builder, check that the notice about missing required fields is gone.
- Flip the switch next to Draft. The badge changes to live.
- Click Embed at the bottom right and copy the snippet.
- Paste the snippet into your own page where the form should appear.
- Open the page and submit the form once yourself. The record then sits under Records.
- If the form should only run on certain domains, enter those under the allowed addresses.
I pasted the snippet and see nothing.
Almost always the form is still a draft. A form that has not been released delivers nothing, so your page does not end up with an empty box and an error message.
Do I have to copy the snippet again after every change?
No. It only names the form's id. Every change takes effect as soon as you save.
Will the script clash with my page's styling?
The form sits in a shielded area. General rules of your page do not reach in, its styles do not reach out. You style it through the variables and parts from the article on styling.
Can I embed the same form on several pages?
Yes, the snippet works anywhere. The numbers and the submissions then run together.
What happens if I give the module back?
The builder closes and there are no new forms. The ones already embedded keep running and keep accepting, so no customer page suddenly has a gap in it.
Do I see what somebody submitted even when it was rejected?
Every submission gets a row with its outcome, a rejected one included. No record is created for it.