Generate a Form

The Update Records with Forms workflow action creates the secure form link. This page documents every input.

Generate Record Update Form action – Object, Record ID, Form Reference, Link Expires After X Days, Allow Multiple Submissions and Redirect on Submission Generate Record Update Form action – Logo URL, Favicon URL, Form Instructions, File Upload Fields Option, Field Selection, Hide/Read-only/Required fields and Pipeline & Stage

Object

Select the HighLevel object the form should update or create: Contact, Business, Opportunity, or any HighLevel Custom Object.

Record ID

For update mode, provide the ID of the CRM record using a workflow variable.

For creation mode, leave Record ID blank – see Creating New Records.

Business/Company has no Record ID workflow variable. HighLevel's workflow variable picker does not offer a Company ID token for Business records. Map the Company Name variable into Record ID instead – if it doesn't match a record by ID, Update Records with Forms automatically retries it as a company name match.

Form Instructions

Form Instructions is a rich-text field displayed at the top of the public form. It supports HighLevel workflow variables, so instructions can be customised for each generated form.

Form Instructions support:

  • formatted text
  • links
  • lists
  • line breaks
Content is sanitised before being rendered. The form has no heading of its own, so if you want a title above the fields, put it at the top of Form Instructions.

When a logo is configured, it is displayed on the public form.

Field Selection

Field Selection decides how the field list underneath it works. There are two choices, and the list re-titles itself as soon as you change it.

  • Hide selected fields – the default. The form starts as every field on the record, and the fields you pick are taken away.
  • Show only selected fields – the form is only the fields you pick. Everything else on the record is left out.
The difference shows up later, not on the day you build the form. A custom field added to the object in HighLevel next month appears automatically on a Hide selected fields form, because it was never hidden. It does not appear on a Show only selected fields form, because it was never selected – including on links that were already sent.
Give the list about twenty seconds to re-title itself. HighLevel refreshes the workflow action’s dynamic fields on a timer rather than the instant you change a dropdown, so the multiselect can still say Hide Fields for a few seconds after you switch to Show only selected fields. Saving and reopening the action refreshes it immediately.

Switching between the two keeps your work. If you were hiding First Name and you switch to Show only selected fields, every field except First Name is selected for you – the same form, described the other way round. Switching back does the reverse.

Existing workflow actions and every link they have already generated are on Hide selected fields and behave exactly as before.

Hidden Fields

Shown when Field Selection is Hide selected fields. Selected fields are not displayed to the person completing the form.

Select Fields

Shown when Field Selection is Show only selected fields. The form displays these fields and nothing else. Read-only Fields and Required Fields then only offer what is on this list – a field the form does not show cannot be read-only or required.

Leave it empty and the form falls back to the same fields a blank Hidden Fields would have shown, rather than generating a form with nothing on it.

Read-only Fields

Selected fields are visible but cannot be edited.

Required Fields

Selected fields must contain a value before the form can be submitted. An existing value satisfies the requirement. If a user clears a required value, submission is blocked. Required fields are intended to be visible and editable.

Configuration note: the workflow configuration interface may allow Hidden/Select, Read-only and Required selections to overlap, because the dynamic selectors are only refreshed when Object or Field Selection changes, not after every individual pick. Avoid deliberately configuring contradictory field states (for example, a field marked both Hidden and Required).

Allow Multiple Submissions

When enabled, the same form link can be submitted multiple times. When disabled, later submissions after the first successful save are rejected.

Send Verification Code

Reference send_verification_code. A checkbox, shown under Additional Identity Verification. It appears for Contact and Opportunity only – verification depends on a phone number or email address already stored on the target record, so it is not offered for Business or Custom Object forms.

When it is on, the recipient must enter a one-time code before the form loads. The code is sent by SMS to the phone on the record, or by email if there is no phone number, with an automatic fallback to the other channel if delivery cannot be confirmed. A browser that has verified stays trusted for 48 hours, and the code can be requested on one device and entered on another.

Verification is mandatory once enabled: a recipient who cannot receive the code cannot open the form. Codes are sent through the sub-account’s own connected HighLevel messaging, so the sub-account’s standard SMS and email costs apply, and SMS/email sending must already be configured. Consent obligations for messaging your own Contacts (for example TCPA and 10DLC registration) remain the sub-account’s responsibility.

The action requires an existing Contact and the Conversations OAuth scopes to send the code.

Pipeline & Stage

When Object is Opportunity, one extra field appears on the action: Pipeline & Stage, a single dropdown listing every stage across every pipeline. Leave it blank and the form just shows the Opportunity's current pipeline and stage as usual. Set it and the recipient sees that stage pre-filled instead – the form's own Pipeline and Stage fields still show and can still be edited, unless separately hidden or made read-only above.

Pipeline & Stage dropdown on the Generate Record Update Form action, listing stages across every pipeline, with the field description: Sets the Opportunity's pipeline and stage on submit of the form
Nothing is written to HighLevel until the recipient submits the form. Opening the generated link alone never moves the Opportunity to a new stage – only a successful submission applies it, merged with whatever the recipient actually changed themselves.

This is what lets a submitted form move an Opportunity to a new Pipeline Stage automatically, with no separate workflow trigger required.

Pipeline & Stage dropdown empty in the workflow builder? The sub-account needs to reinstall the app to pick up the Pipeline read permission if it was installed before that was added.