How do I add a content block with variables to a form?

Last updated: May 4, 2026

A content block is the most flexible display field on a form. It holds rich text, embedded video or iframes, and variable references that pull live data from your account's employee, employer, job, placement, or client records. Think welcome messages that personalize by employee name or job title — that's a content block with variables.

Content blocks render as read-only text on an employee form — employees can't edit them. Use them to display instructions, welcome messages, or dynamic data pulled from fact paths.

Before you start

  • You've already created a form (see 📄 Understanding forms) or opened one to edit.

  • You're comfortable with fact paths — fields like employee.first_name or client.name that reference live data in your account.

Steps

  1. Add a content field to your form. On the form builder, select Add field and choose Content from the field type list.

  2. (Optional) Update the path name. Each field has a path name that identifies it in the form schema (for example, form.welcome_message). The path needs to start with form.. The path name isn't shown to the employee anywhere on the form — it's only used internally by rules, variable references, and integrations — so leave the default unless you want a more meaningful name for your team.

  3. Click the Edit button in the Content section. A dialog opens with three tabs: Editor, Code, and Preview.

  4. Write your content. In the Editor tab, type text, add bold or italic formatting, create lists, or insert links using the toolbar. For example: "Hi there, welcome to the onboarding process."

  5. Insert a variable reference. Type the variable in double curly braces wherever you want the value to appear — for example, {{employee.first_name}} to pull the employee's first name. You can type variables directly in the Editor tab alongside your other content; the Code tab is just an alternative view that shows the same content with syntax highlighting.

  6. Check the syntax. Click the Preview tab inside the dialog. If a variable path is recognized, it highlights in purple — that's confirmation Onboarded sees it as a valid variable. This view shows variables in their raw {{path}} form; to see them resolved into actual values, use the form-level preview (see Verify below).

  7. Save your changes. Click Close to exit the content editor dialog and return to the field-editor sidebar. Then click Save in the bottom right of the sidebar to persist your changes. If you close the sidebar with unsaved edits, an Unsaved changes prompt appears — choose Save & Continue to keep your work or Discard Changes to throw it out.

Save before navigating away. Edits inside the content editor live in your browser until you save. If you switch tabs, open a new tab (including via the form's Preview button), reload, or close the tab before saving, your unsaved work is lost without warning. Save the field first, then move on.

Variable paths are case-sensitive and must match your account's schema. Top-level fields live at paths like employee.first_name, client.name, job.address.state. If you're pulling custom data from an employee, employer, job, or client, use that path. If you're pulling placement-specific custom data, use placement.custom_attributes.{field_name} — not placement.start_date or similar. If a variable doesn't resolve (appears empty on the form), double-check the path against your fact schema.

Example: a welcome message with variables

Take an account that wants to greet employees by first name and welcome them to their client's organization.

In the content block, type:

Hi {{employee.first_name}}, welcome to {{client.name}}. Your onboarding for {{job.name}} starts today.

When an employee views the form, the content renders as:

Hi Jamie, welcome to Acme Corp. Your onboarding for Senior Developer starts today.

If the employee's record or the job record is missing data for a variable (for example, no first name), that variable displays empty. This is expected behavior — the content block doesn't hide or error; it simply renders the text around the missing variable.

Verify

Once you've saved the field (step 7), you're ready to see what the employee will see. To preview the form with variables resolved into real-looking values — click Preview in the top right of the form builder. The preview renders the whole form using test data, so a variable like {{employee.first_name}} renders as John, {{client.name}} renders as Example Client, and so on.

Click Facts next to the Preview button to inspect the full test-data JSON — every value available across employee, employer, client, job, placement, and form. This is what your variable paths resolve against in the preview.

When a real employee fills the form, their actual record replaces the test data. If a variable doesn't render — in preview or on a real submission — check that the fact path is spelled correctly and exists in your account's schema.

Related