company logo

Help center

All collectionsGoHighLevelMapping Form Answers to GoHighLevel Custom Fields

Mapping Form Answers to GoHighLevel Custom Fields

Send any form answer, the lead score, or an uploaded file into a GoHighLevel contact field, and fix the "Needs re-map" warning when a field changes.

Omer ·September 14, 2026

When someone submits a form that has GoHighLevel selected under Form Settings → Integrations, ROASForm creates or updates the contact in your GoHighLevel location. The basics need no setup: the answers to your Email, Phone, and Name questions become the contact's email, phone, and name, and the contact source is set to ROASForm. Every other answer (budget, timeline, company size, website, address, the lead score, an uploaded file) only reaches GoHighLevel if you map that question to a GoHighLevel field. You do it once per question, and ROASForm fills the field on every submission after that.

Before you start

  • GoHighLevel is connected under Integrations for this subaccount.

  • In the form, Form Settings → Integrations has Integration set to GoHighLevel. Nothing syncs until this is set, and the mapping panel shows "No CRM Connected" with a Connect CRM button.

  • The custom field already exists in GoHighLevel (Settings → Custom Fields in your location). ROASForm does not create fields for you.

What syncs without any mapping

ROASForm reads the answers to your Email, Phone, and Name questions by question type (a Text question titled exactly "Name" counts too) and stores them on the lead. On every sync, those values are written to the contact's standard Email, Phone, and Name fields in GoHighLevel, whether or not the questions are mapped. Phone numbers are converted to international format first. The contact also gets Source = ROASForm, plus the lead's timezone and country when known.

GoHighLevel needs only one of email or phone to create the contact, so your form can ask for either.

Questions that get mapped for you

When you add an Email, Phone, Website, or Address question to a form that already has GoHighLevel selected under Form Settings → Integrations, ROASForm pre-fills the mapping to the matching standard contact field. Three things to know:

  • It only happens at the moment you add the question. Questions that were already in the form when you turned the integration on keep whatever mapping they had (usually none). Check them once and map by hand if needed.

  • Name questions are never pre-mapped. The name still syncs (see above); map it to First Name or Last Name only if you want to control the split yourself.

  • Website and Address are not part of the automatic lead sync. If one of those questions ends up unmapped, its answer is stored in ROASForm but is not sent to GoHighLevel until you map it.

Map a question to a field

  1. Open the form and click the question you want to sync.

  2. In the question settings on the right, find Map to CRM field and click Select CRM field...

  3. Pick a field. The list has two groups: Compatible Fields (GoHighLevel's standard contact fields that fit this question type) and Custom Fields (every custom field in your location). Type in the search box to filter.

  4. Save the form. From the next submission on, the answer is written to that field.

[Screenshot: question settings with the Map to CRM field dropdown open, showing Compatible Fields and Custom Fields]

A few rules worth knowing:

  • Email, phone, and name questions can only go to their matching standard field, or to any custom field. Every other question type can go anywhere.

  • One question, one field. If two questions point at the same field, the later answer wins.

  • To map an address in parts, turn on structured mapping on the Address question. You then get a separate picker for street, city, state, postal code, and country.

Send the lead score to GoHighLevel

If your form uses scoring, you can push the final score onto the contact and use it in GoHighLevel workflows and smart lists:

  1. Open the Scoring tab at the top of the form builder.

  2. Click the gear next to Max Score to open Scoring Settings, turn on passing the score to your CRM, and choose the custom field to write it to. The option appears once the form has GoHighLevel selected in Form Settings; until then the panel says "Connect a CRM integration in the Settings tab to pass scores."

Use a Number or Text custom field for the score. Monetary fields work too, but GoHighLevel clamps negative scores to 0 in them. How scores are calculated is covered in Conditional Logic and Lead Scoring.

[Screenshot: Scoring Settings popover with the score-to-CRM option on and a custom field selected]

Uploaded files

A File Upload question can be mapped to a GoHighLevel file-upload custom field. The file is attached right after the contact is created. The first time you use this, the Integrations page may show a banner saying ROASForm needs new GoHighLevel permissions to sync file uploads. Click Reconnect there once and you are set; nothing else about your integration changes.

How values are converted

ROASForm shapes each answer to the field type it is going into, so GoHighLevel accepts it:

  • Phone numbers are sent in international format (+1...).

  • Dates are normalized for Date fields.

  • Number and Monetary fields get a real number.

  • If an answer cannot be converted (for example text going into a Number field), that one field is skipped and the rest of the contact still syncs. Pick a Text field if you are unsure.

The "Needs re-map" warning

If a mapped field shows a Needs re-map badge, the field it pointed to no longer exists in the connected GoHighLevel location. The usual causes:

  • The custom field was deleted or recreated in GoHighLevel.

  • The form was cloned into another subaccount, or the subaccount was reconnected to a different GoHighLevel location, and that location does not have the field.

Fix: click the mapping, pick the right field from the list, and save. Until you do, that one answer is not written (everything else keeps syncing). If you recreate a field in GoHighLevel with the same name, ROASForm usually picks it up again on its own and the warning disappears.

[Screenshot: a mapped question showing the Needs re-map badge]

New field not showing in the list?

Field lists are loaded when you open the form builder. If you just created a custom field in GoHighLevel, reload the builder and it will be there within about 30 seconds.

Check that it worked

Submit a test lead, then open Integrations → Logs, click the Contact sync row, and look at the Request. Your mapped fields are listed under customFields with the values that were sent. If the row is red, the error message tells you which field GoHighLevel rejected.

Did this answer your question?
😞
😐
😁