Skip to main content
An embedded form sits inside a page on your site, where you place it: a test with a score and a result (“test de estrés”), a webinar sign-up, a lead form on a landing page. Each answer is saved in Boom, the person becomes a lead in your CDP people, and the form records an event a journey can start from, within seconds.
Embedded forms are part of the Lead Capture add-on. If you don’t see Lead capture → Forms in the left sidebar, ask your account manager to turn them on for your organization.

Build a form

In the left sidebar, open Lead capture → Forms, choose New form and start from a template (Lead form, Webinar registration, Short test) or blank. The form’s page is a live preview with the settings beside it. The left sidebar lists its sections, grouped under Build (Questions, Results), Look (Design), Share (Install, Settings) and Data (Responses); pick one and its settings open next to the preview. The version you have published, the Publish button and the language you are editing in sit at the top of the settings. A blue dot on a section means it has unsaved changes, and an orange dot means something there needs fixing. Switching sections keeps your unsaved changes, and Save draft saves them all at once. On a phone the settings come first. Tap Preview at the top of the settings to see the form, and Back to settings to return.
  • Questions, grouped in steps: one question per step feels like Typeform; several make a classic form. Types: short and long text, email, phone, number, single choice, multiple choice, dropdown, scale (0–10 or 1–5) and plain text with no question.
  • Each question has a key (how it is stored, e.g. sleep) and each answer a value (e.g. badly). Labels can change any time and in any language; keys and values are what your segments and journeys read, so they freeze once the form is published.
  • Scoring: give answers points (a scale scores the number picked) and add results with a score range — “0–3: low stress”, “4–8: high stress” — plus one result for anything else. The visitor sees the result that matches; Boom picks it, never the page.
  • Hidden fields carry values from the page’s address (?campaign=octubre) onto the response; utm_* tags are kept automatically. Constants put a fixed value on every response, such as a webinar’s date.
A form needs a required email or phone question, so every response belongs to a person journeys can reach.

Languages

Write the form in your own language: set it under Settings → Language (new forms start in the language your dashboard is in). Publishing checks the required texts in that language only. Translations are optional. A visitor sees the form in their browser’s language when its questions, answers, results and consent are all translated into it, and in yours otherwise. Templates come translated: if you change the text in your language, update the translations too (the Language card lists them), or pin the form to your language. Turn on Always show it in this language to show yours to everyone.

Publish, then go live

You edit a draft; visitors only ever see a published version. Publish when the draft is ready: Boom refuses with the reasons if something is missing, and lists the journeys and segments still reading a question or answer you removed. Then set the form Active. Pages already open keep working for an hour after you publish a new version, so nobody loses their answers mid-form.

Put it on your site

Paste both tags where the form should appear (the Install section has them with your key):
Add every site that shows it under Allowed sites — matching is exact, so https://example.com does not cover https://www.example.com. The form fits the width of its container and grows to fit each question; turn on Fixed height under Design to keep it one size. After a submission the page receives a boom:form-submitted event (no answers, no contact details) for your own analytics; turn on Push to dataLayer to send boom_form_submitted to Google Tag Manager for your ad pixels.

Make it look like yours

Visitors see one question at a time, with the question as the headline. They can answer with the keyboard: a letter picks an answer, a number picks a point on a scale, and Enter moves on. A question with a single answer moves on by itself. Under Design, start from a look (Paper, Graphite, Sand, Forest, Ocean, Plum, Mono, or Brand, which is built from your accent colour), then adjust it: accent and text colours, font, answer style, corners, button shape, alignment, question size, a background image, or no background at all so the form sits on your page. Fonts are served by Boom, so your visitors’ browsers never contact a font company. Under Questions, turn on the Welcome screen to open with a title, a line and a Start button before the first question. For ads, your bio or an email, turn on Hosted page in the form’s settings: the form gets its own page at www.useboom.ai/f/<your-workspace>/<form>, with your title and description for link previews. Search engines are kept out unless you allow them. Turning the page off takes it down with the next publish, within a few minutes. A hosted form cannot ask for passwords, card numbers, PINs or one-time codes, and its result buttons and redirects can only go to your allowed sites.

What each response creates

  • A lead in People (source: lead_capture), never merged into an existing customer by what someone typed. Answers are saved on the person under <form>_<key>, the result as <form>_result and the score as <form>_score, so “everyone who got high stress on the stress test” is a segment with no setup.
  • An event named after the form (for example test_estres_submitted) with every answer by key, the score and result, hidden fields and UTMs. Build a journey on it in the journey builder: the event and all its properties are there as soon as the form is published.
  • A response in the form’s Responses section, with a CSV export.
Journeys only start for people who ticked the marketing box (or forms that show none). With a phone question, the WhatsApp opt-in box is required. To protect your sender, a form enrolls at most 50 people an hour in journeys by default, and one visitor’s connection at most 10. Responses past the limit are still saved, just not enrolled. Expecting more (a launch, a webinar ad)? Raise Journey enrollments per hour under Settings, up to 500 (also the limit across all of an organization’s forms). Someone on Do Not Contact (for example because you withdrew their consent) stays out of journeys even if they fill a form or pop-up again.

Partial responses

Turn on Allow partial responses under Settings to keep what a visitor answered when they leave before submitting (they close the tab, go back, or switch apps). It is off by default and goes live with your next publish.
  • While it is on, a short line shows under the form so visitors know: “We save your answers as you type.” by default, in each language. You can reword it.
  • What they answered appears under Responses → Partial, and the funnel shows views, partial responses and completed responses. The CSV export follows the tab you are on and has a status column (accepted, partial or spam).
  • If they gave an email or phone, they become a lead in People, and an event named <form>_abandoned (for example test_estres_abandoned) is recorded once, with the answers so far and partial: true. Build a journey on it to follow up, starting with a short wait: a visitor who only switched tabs may still finish the form. Names are not taken from a partial, and neither is a phone number whose WhatsApp opt-in box wasn’t ticked.
  • A partial response never messages anyone without consent. It never turns on a WhatsApp or email opt-in, and its event never enrolls anyone in a journey, unless the visitor ticked the marketing box before leaving. People on Do Not Contact stay out, as always. The lead it creates is like any other lead in People: an audience you build yourself can include them, so filter on the opt-ins when you message a segment.
  • If the same visitor comes back and submits, the partial becomes their response: one row, not two. The <form>_abandoned event stays in their history, so give a follow-up journey an exit on <form>_submitted. If they untick the marketing box before submitting, or correct their email, the opt-in the partial turned on is turned back off (and the event leaves a mistyped address).
  • A partial with no email or phone keeps the answers only, with no lead.
  • On a form with sensitive questions, a sensitive answer is kept only if the visitor already ticked the consent to process it, and is stored encrypted.
  • Partial responses are deleted after 90 days (sooner if the form’s retention is shorter) unless the visitor submits, and are erased with the person like full ones.

Sensitive questions (health and similar)

Mark a question sensitive when its answer is health data or as private. Then:
  • the answer is stored encrypted and saved on the person as a sensitive field: agents never see it, and only people with access to sensitive data do;
  • the answer, the score and the result are left off the event;
  • the form must ask for consent to process the answers, with a link to your privacy notice, before it can be published;
  • responses are deleted after a retention period (a year by default).
Once published, a sensitive question stays sensitive.

When someone asks you to stop or to delete their answers

From a response, an admin can act on a person’s privacy request:
  • Withdraw consent adds them to Do Not Contact (in People), so nothing is sent to them on any channel, turns their WhatsApp and email opt-ins off, and stops the journeys still running for them. Remove them from Do Not Contact to message them again.
  • Erase deletes every form response of theirs, the events those responses created and the answers saved on their profile, right away. The person stays in People with their contact details; delete them there too if they asked for that.

Use it from your tools

Everything above is available on the REST API and MCP: lead_capture_embedded_forms_list, …_get, …_create, …_update (edit the draft, sites and status), …_publish, and lead_capture_form_responses_list. Agents always see sensitive answers as [redacted]. An organization API key reads them in full, like the rest of the REST API, so give keys only to systems that need the data.

Keep another tool in sync

Moving off another email tool gradually? Build a journey on the form’s event with an HTTP request step that posts the response to the other tool’s API.