GoHighLevel custom values let a document template use information already stored in a contact, opportunity, appointment, location, or custom field. Instead of retyping names, dates, addresses, or commercial details for every document, you create the template once and insert the relevant dynamic values.
The important distinction is between a value and a document field. A custom value identifies the data to insert. A text or date field controls where that data appears and, in some cases, whether a recipient can edit it. Reliable document automation depends on both parts being configured correctly.
The safest approach is to define the source of each value, insert it into the correct field type, generate a test document using a representative record, and verify the result before sending it. This article explains that process and the operational checks that prevent blank or incorrect values.
What GoHighLevel custom values do in documents
A GoHighLevel custom value is a dynamic reference to data held elsewhere in the platform. In a document template, it acts like a merge field. When the document is generated, GoHighLevel attempts to replace that reference with data from the relevant record.
Depending on the template and account configuration, the source may be a standard contact field, a custom contact field, an opportunity field, an appointment value, or another supported record. The exact labels and available options can vary by feature version and account context, so use the value picker in the document editor where one is available rather than relying on a token copied from an unrelated template.
A document template is only as reliable as the record and field that supply its values.
Custom values are useful for information such as a contact name, email address, company name, contract start date, appointment date, or opportunity amount. They should not be used to hide unclear business logic. Before inserting a value, decide which record owns it, when it becomes available, and what should happen if it is blank.
Custom values, custom fields, and document fields are different
These terms are related but not interchangeable:
Custom field or system field
This is where the underlying information is stored. A contact may have a custom field for a legal entity name or contract start date. Standard fields such as first name and email are also data sources.
Text or date field
This is the element placed on the document. It determines where the value appears and may determine whether the signer can enter or change it.
A custom value connects the source to the template. A date field does not automatically make an arbitrary text value into a valid date, and a populated CRM field does not guarantee that it will appear unless the document field is mapped or inserted correctly.
Prepare the data before editing the template
Preparation is usually more important than the insertion step. Review the record structure before building the document:
- Identify the record that owns each value, such as the contact, opportunity, appointment, or location.
- Confirm the field has a single purpose and a clear name.
- Decide whether the value is required before document creation or only before signing.
- Check that date fields contain dates rather than informal text descriptions.
- Choose a test record with realistic data, including long names and populated optional fields.
Do not create several custom fields that represent the same business fact with slightly different names. For example, separate fields called “Start Date,” “Project Start,” and “Agreement Date” can create uncertainty about which value belongs in a contract. Establish one source of truth where possible, then use that source consistently in the template and related workflows.
If a team cannot explain which record owns a document value, the problem is a data model problem before it is a template problem.
How to link a custom value to a text field
Use a text field when the document needs names, addresses, identifiers, descriptions, or other text-based information.
- Open the document template. Go to the Documents or Contracts area in GoHighLevel and open an existing template or create a new one.
- Add or select a text field. Place the field where the value should appear and adjust its size and position.
- Open the value or merge-field picker. Select the relevant source category, such as contact, opportunity, appointment, location, or custom fields.
- Choose the precise value. Select the field that matches the intended business meaning. Similar labels should not be treated as interchangeable.
- Combine dynamic and fixed text when useful. A sentence may contain both a static phrase and a contact or opportunity value. Keep the static wording stable and let the CRM supply only the variable information.
- Save and generate a test document. Review the rendered document, not only the editor preview.
For example, a contract introduction might use a contact name and company field within fixed wording. The template should not contain a manually typed customer name, because that creates a maintenance problem when the document is reused.
Text field checks
- Confirm the value is connected to the intended record.
- Check whether the field is blank on the selected test record.
- Review spacing, line breaks, and field width after replacement.
- Check long values such as legal names or addresses for clipping.
- Decide whether a blank value should stop document creation or display an empty space.
How to link a custom value to a date field
Date fields need additional care because a date has both a business meaning and a display format. “Contract date,” “signature date,” “service start date,” and “appointment date” may all be different values even when they appear in similar places.
- Add a date field. Place it near the clause, signature area, or schedule that depends on the date.
- Define what the date means. Label it according to the event it represents, not merely its position on the page.
- Map or insert the supported date value. Use the field configuration or value picker provided in the document editor. Available mapping options can depend on the document feature and record context.
- Set editability deliberately. If the date comes from an approved CRM record, consider whether the recipient should be able to change it. If the signer must supply the date, leave it as an input rather than treating it as an imported value.
- Review the display format. Use a format that is unambiguous for the people reading the document, especially when parties may interpret month and day positions differently.
- Generate a test document. Use a record with a known date and verify both the value and its presentation.
A date field should represent a meaningful event in the process. It should not be used as a general-purpose text box containing phrases such as “as soon as possible” or “to be confirmed.” If the business process has not established the date, the correct outcome may be a required input or a controlled exception, not an empty automated value.
A date in a contract should answer “which event does this represent?” before it answers “how should it be formatted?”
A practical testing sequence
Testing should verify the connection between the record, the value, the document field, and the final output. Use this sequence for every important template:
For a recurring process, record the source field, document field, required status, and owner in an internal procedure. This makes future template changes safer and gives the team a shared way to diagnose failures.
Common failure points and how to diagnose them
The value is blank
Start with the source record. A blank result may simply mean the field is empty, the value belongs to a different record type, or the document was generated before the data was saved. Confirm the record context and create a new test document.
The wrong value appears
Compare the selected field with the field label and business definition. Duplicate custom fields are a frequent cause of incorrect output. Also check whether the document is being generated from an opportunity while the value was stored only on a contact, or the reverse.
The date is present but confusing
Check the event represented by the source field and the display format. A correctly mapped appointment date is still wrong if the contract requires a signature date. Make the distinction explicit in field names and instructions.
The token or placeholder remains visible
Review how the value was inserted. A manually typed token may not be supported in the specific field or document context. Prefer the editor’s supported picker or mapping controls, then save the template and generate a fresh document.
The document layout breaks
Test with the longest realistic name, address, and company value. Resize fields and review line wrapping. Automation does not remove the need for document design.
- The source record is the correct contact, opportunity, or appointment.
- Required custom fields contain current data.
- Text values appear in the intended locations.
- Dates represent the correct business events and use a clear format.
- No placeholder text, blank required fields, or clipped content remains.
- An owner knows what to do when a value is missing.
Use custom values as part of a controlled workflow
Custom values solve data entry, not process ambiguity. If a document can be generated before an opportunity is qualified, a start date is approved, or a required field is reviewed, the template may produce a technically complete but operationally wrong document.
A sensible sequence is to define the business state that permits document creation, validate the required data, generate the document, assign ownership for review, and then send it for signature or completion. The CRM should make that state visible through fields, stages, tasks, or workflow conditions.
For broader pipeline ownership, field design, and integration decisions, see ConsultEvo CRM consulting. If document creation depends on connected tools, the same process-first approach can be applied through Zapier workflow automation. More automation steps are not automatically better. Each step should have a defined trigger, owner, and expected business result.
Automate document population only after the underlying data ownership and approval sequence are clear.
Example: a service agreement with contact and opportunity data
Imagine a service business that creates an agreement after an opportunity reaches an approved stage. The contact record supplies the signer’s name and email. The opportunity supplies the agreed amount and service package. A controlled custom date field supplies the planned start date.
The template can place those values in the relevant text and date fields, but the workflow should also define what happens when the start date is missing or the opportunity amount has changed. The document owner reviews the generated output before sending it. If the process cannot answer who resolves a missing value, the automation is not ready, regardless of whether the fields technically populate.
Frequently asked questions
What are custom values in GoHighLevel documents?
Custom values are dynamic references that insert data from supported GoHighLevel records into a document template. They can be used for values such as contact details, opportunity information, appointment data, and custom fields.
Can GoHighLevel custom values populate date fields?
They may populate supported date fields when the source and document context are compatible. Confirm the mapping in the document editor, define which business event the date represents, and test the rendered document before sending it.
Why is a GoHighLevel custom value showing as blank?
The source record may not contain a value, the value may belong to a different record type, the mapping may be incorrect, or the document may be an older draft. Check the source record, save the template, and generate a new document.
Should a document date be editable by the recipient?
That depends on ownership of the date. If it comes from an approved CRM field, it may need to be read-only. If the signer must provide the date, configure it as an input and make the requirement clear.
What is the difference between a custom field and a custom value?
A custom field stores a piece of business data on a record. A custom value is the reference used to bring that data into another context, such as a document template.
Need a more reliable CRM and document workflow?
If your GoHighLevel templates expose inconsistent fields, unclear ownership, or repeated manual checks, ConsultEvo can help map the process, data model, and automation before more tooling is added.
