Skip to main content

Building your form

How to build a form in Socket: adding sections and questions, the field types available, field settings, conditional visibility, file uploads, and previewing before you publish.

Written by Si Evans

Building a form in Socket is a case of adding sections, dropping in the questions you need, and setting how each one behaves. You can start from a blank form, a template, or a form generated with AI, and shape it however you like.

This guide covers building and editing your form's content. For sharing it once it's ready, see our Sharing and sending your form guide.

Starting a new form

From the "Forms" area, click "New form". You'll choose a starting point: a blank form, one of your own saved templates, a system template, or "Generate with AI". You'll also pick the type of form you're creating, for example an onboarding form, then you'll land in the builder. For building a form with AI, see our Getting started with Forms guide.

Adding and naming sections

Your form is organised into sections, which keep related questions together. Add a section and give it a "Title", such as "Your details" or "Company details", plus an optional description to explain what the section is for. You can include links in a section's description, so clients can open helpful guidance without leaving the form.

You can add as many sections as you need and reorder them, and a section can be set to only show based on an earlier answer using conditional visibility, which we cover further down.

Adding questions

Within a section, click "Add field" to open the field picker. You can search for a field by name, or pick one from the categories.

Here's what each field type is for. Under "Text" you have Short Text for short answers like names or references, and Long Text for longer comments. "Contact" gives you Email, Phone Number and Address. "Choice" covers Dropdown for picking one option from a list, Multiple Choice for selecting a single option, Checkbox for ticking one or more, and Yes / No. "Data" has Number and Date. "File" has File upload for documents.

"Company & Tax" brings together a set of fields for capturing common client identifiers, each with built-in validation to catch obvious mistakes: Company Finder, Companies House Authentication Code, Company UTR, Personal UTR, Employer PAYE Reference (ERN), PAYE Accounts Office Reference, National Insurance Number, VAT Number and VAT Quarters.

The Company Finder is worth a special mention. Your client searches Companies House by name or company number and picks their own company, so you capture the right details first time. You can also choose to save what they pick straight onto the client's record in Socket, including their company number and registered legal name, and it sets the client up as a limited company automatically.

Duplicating a field or a section

Where a question or a whole section is close to one you have already set up, copy it rather than building it again.

To duplicate a field, hover over it and select the copy icon that appears on the right.

To duplicate a section, hover over it in the Content list on the left and select the copy icon.

The copy is named after the original with "(copy)" on the end, and appears directly below it. Duplicating a section copies every question in it. Rename the copy and edit it as you would any other field or section.

Setting up each field

Click any field to open its "Field Settings" on the right. Most fields share a few core settings. The "Label" is the question your client sees, the "Required" toggle makes an answer mandatory, "Placeholder" adds faint example text inside the box, and "Help Text" adds a short hint beneath the question. Help text can include links too, so you can point clients to guidance without taking them away from the form.

Some field types add their own settings. A Dropdown or Multiple Choice lets you add and reorder the options, while a Number field lets you set a Minimum, Maximum and Step.

Showing who filled in a public form

When someone completes a form from your public link, Socket doesn't know who they are, so it labels their response with a friendly stand-in name like "Amber Falcon". Fine as a label, but not much use when you're looking down a list of responses trying to find a particular person.

You can fix that by telling Socket which of your questions holds the person's identity. Their actual answer then appears in the Responder column instead of the stand-in name.

To set it up, click the question that captures who they are, such as "Your name", and find the Responder section in the field settings on the right. Turn on Identifies the responder.

A few things worth knowing:

  • You can nominate a Short Text, Email or Company Finder question. Once one question is nominated, the others will tell you it's already taken, so it's one per form.

  • Nominating a question makes it required and locks that toggle on, because a blank answer would leave you no better off.

  • If you nominate an Email question, Socket works out a name from the address, so you'll see "Jane Smith" in your list rather than the email address itself.

  • If you nominate a Company Finder question, the company they picked is used.

  • It's entirely optional. If you'd rather not, or your form is all tick boxes with no name question, responses simply carry on using the stand-in names.

  • You can set this up before you make a form public, and it carries across if you save the form as a template.

This only affects your public link. Forms you send directly to a client already know who you sent them to, so nothing changes there.

File uploads

The File upload field lets clients attach documents, and they can even photograph something like a passport straight from their phone. They simply drag and drop a file onto the field or click to choose one. It accepts PDF, JPG, PNG, HEIC, DOCX, XLSX and CSV files up to 10MB each, and you can allow up to 12 files per field.

Table fields

A Table field is for anything where the number of entries varies from client to client, such as a list of employees, directors, shareholders or properties. Rather than guessing how many boxes to add, you set up the columns once and your client adds a row for each one they've got.

In short: you control the columns, your client controls the rows.

To set one up, add a Table field, give it a label, then use Edit Columns to build out what you want to capture. Add a column for each piece of information, name it, and set what sort of answer it should take, text or a number for instance, so a column for salary or number of shares only accepts figures. Click Done when you're finished.

When your client reaches it, they see your columns laid out as a small grid with a button to add another row, so they can keep going until they've listed everyone. It's worth using the preview to see how it looks and check your columns are in a sensible order before you publish, since a table is one of the more involved things you can ask someone to fill in.

Identity verification (Xama)

If your practice uses Xama for AML, you can add an Identity verification field to a form. It links to the client's Xama integration, so their identity check runs through Xama when they reach that part of the form, and the result is read only in Socket. The field, and its step in the form, only appear when you've added it, so forms without it aren't affected. You'll need the Socket and Xama integration connected first, which is covered in our Socket and Xama integration guide.

⚠️ One important thing to know: the Identity verification step only shows to a client when they have an outstanding onboarding request in Socket. You create this from the client's AML tab, choosing which people (such as the directors) need an ID check. If there's no onboarding request, the step is hidden and the client can submit the rest of the form as normal, so your clients are never shown an empty verification step. This also means the step won't appear when testing with a made-up client. Forms are live, so creating the onboarding request makes the step appear without resending the form. For the full walkthrough and the recommended order of steps, see the Socket and Xama integration guide.

Conditional visibility

Conditional visibility lets a question, or a whole section, appear only when it's relevant, based on an earlier answer. It keeps your forms short and stops you asking for things that don't apply.

To set it up, turn on "Conditional visibility" in the field's settings, then choose the earlier question it depends on and the answer that should trigger it. The field then stays hidden until your client gives that answer. For example, you might ask "Do you have an email address?" and only show the email field when the client answers Yes, or only ask for a VAT number when someone confirms they're VAT registered.

Conditions work off questions that aren't themselves conditional, so set your triggering question up first and build from there.

Reordering and removing

Drag the handle next to a field to reorder it within a section, and drag sections to reorder them.

To remove a field or a section, hover over it and select the bin icon, which sits next to the copy icon. You can also remove a field with Delete Field at the bottom of its settings panel.

Socket asks you to confirm before anything is removed, so a mis-click doesn't cost you a section. Deleting a section removes the questions inside it as well.

Previewing your form

At any point you can click the preview icon, the eye in the top bar, to see exactly what your client will see. It's worth a quick preview before you publish, so you can check the flow and that any conditional questions behave as you expect.

Saving and publishing

Your form saves automatically as you build, and the badge in the top bar shows whether your latest changes are saved. It stays a draft until you publish it.

When you're ready, click "Publish". To share your form and send it to clients, see our Sharing and sending your form guide. If you need to change a form that's already live, see our Editing a live form and versions guide.

Did this answer your question?