An insurance agency can track every policy a client holds by creating a Policy custom object in GoHighLevel, with one record per policy and its own effective and expiration dates, linked to the client's contact record. Reminders fire from each policy's date and name the policy. The bottom line: the Policy Expiry Date field on a contact holds one date, and a household with home, auto, and umbrella coverage holds at least three.

Why policies do not share a date

Policy terms and dates differ by product and carrier. A New York State Insurance Department opinion addresses insurers that issue non commercial motor vehicle and homeowners policies with six month terms, which shows that terms can differ within the same household. A discussion among insurance professionals at Big I Virtual University asks whether a personal umbrella's effective date should match the underlying policies. The answers vary, but one notes that if the dates differ, coverage is still in place, and the burden falls on the agency to make sure changes in underlying policies sync safely with the umbrella.

That is the argument for separate records. Each policy has its own dates, its own carrier, and its own reason for review, and the umbrella review should happen when an underlying policy changes. If you keep one expiration field per client, someone has to remember the others.

What each policy record holds

FieldPurpose
Policy lineHome, auto, umbrella, or another line
CarrierWho wrote it, for the client conversation
Effective date and expiration dateThe dates that drive reminders
Named insuredLinked contact through an association
Linked policiesA note that the umbrella sits over the auto and home policies

Build it in GoHighLevel

  1. In your GoHighLevel account, go to Settings, then Objects, and click Add Custom Object. Enter Policy as the singular name and Policies as the plural name, and label the primary field Policy Name. Only admins can create objects, and the internal name cannot be changed later.
  2. Add the fields to the policy object: Policy line, Carrier, Effective date, and Expiration date.
  3. Open the object's Associations tab and add an association to Contacts with the label Named Insured. GoHighLevel's documentation shows this flow for linking records, and one object can link to many contacts.
  4. Create a record for each policy and link it to the named insured contact.
  5. In Automation, choose Create Workflow and pick the workflow based on your custom object.
  6. Add the Custom Date Reminder trigger. For object workflows, GoHighLevel says the date field selector shows date fields on the same object. Select the date field and add Before Number of Days set to 60.
  7. Add the Add Associated Records to Workflow action, choose Contact as the object type, filter by the Named Insured association label, and select the contact workflow that sends your message.
  8. Build the contact workflow with Send Email and Send SMS actions, and use Add Task to give the account manager a review task.

Why the second workflow? GoHighLevel's support matrix lists conversations, bulk SMS, calendars, and payments as not supported for custom objects, and it lists emails to associated contacts as coming soon. The documented way to reach the owner is the Add Associated Records to Workflow action, which enrolls the linked contact in a normal contact workflow.

Message to send at 60 days

Hi [first name], your [policy line] policy with [carrier] renews on [expiration date]. We will review it before then. If anything has changed, such as a new driver, a renovation, or a new vehicle, reply here or call us.

What the workload looks like

An agency with 800 households averaging 2.6 policies has about 2,080 policies (800 times 2.6). That is 40 expirations a week (2,080 divided by 52). One field per client would show 800 dates, so more than half of the renewals would have no reminder at all.

Mistakes to avoid

Check before you switch it on

US text messages sent from a standard 10 digit number need A2P 10DLC registration. The HighLevel support portal says registration is required for texts to US recipients from 10 digit long code numbers and that toll free numbers do not require it. HighLevel's opt in guidelines also say a person cannot be forced to agree to text messages in order to submit a form, so keep the consent box optional. One compliance guide separates informational texts, which need documented consent, from marketing texts, which need prior express written consent. Ask your attorney which category your reminders fall into. State insurance rules govern how policies are described in communications, so keep texts to scheduling and confirm the wording with your compliance officer. This is general information, not legal advice.

Questions people ask

Do all policies for a client renew on the same day?

No. Terms and dates differ by product and carrier, and a Big I discussion notes agencies must keep umbrella and underlying policies in sync when dates differ.

Is the Policy Expiry Date field enough?

It works for one policy per contact. For several policies per client, use a policy record for each.

Can I send the reminder from the policy record?

GoHighLevel's support matrix lists conversations as not supported for custom objects, so enroll the linked contact in a contact workflow.

Ready to try it yourself? Start a GoHighLevel account here.

You can also see this in action in our GoHighLevel capabilities demo.