A commercial insurance broker can start every renewal at 120 days without anyone remembering to do it. Store each policy's expiration in the Policy Expiry Date field in GoHighLevel, then build three workflows that fire 120, 90, and 60 days before that date. The first gives the account manager a task to pull loss runs and update exposures, the second requests the renewal meeting, and the third confirms the strategy before submissions go to market. The bottom line is that the timing lives in the data, not in a producer's memory.
Why 120 days keeps showing up
Published renewal guidance from agencies clusters around the same window. Agency Performance Partners says its team starts looking at accounts 120 days before renewal, arranges the client meeting between 90 and 60 days, and gets submissions out to market at 60 days. QuoteSweep, a glossary for independent agents, calls 90 days the minimum for standard commercial accounts and 120 days preferred for complex accounts or surplus lines placements. The Coyle Group gives a practical reason: loss runs alone can take up to 10 business days to arrive, so a 30 day scramble costs leverage.
These are agency practices, not a legal requirement. Your carriers and your client's complexity should set your calendar. What every source assumes is the same thing: someone starts early, on time, for every account. That is the part a date trigger can guarantee.
The three workflows
| Days before expiration | What the workflow does | Who acts |
|---|---|---|
| 120 | Creates a task to pull loss runs, update exposures and values, and request payroll or revenue changes. Sends the client a short heads up. | Account manager |
| 90 | Sends the client a renewal meeting request with a booking link. Creates a follow up task if no meeting is booked. | Producer |
| 60 | Sends the client the renewal strategy summary and notifies the producer that submissions go to market this week. | Producer and marketing team |
This sequence follows the one Agency Performance Partners publishes. Change the numbers to match how your agency works.
How this was handled before
The alternative to a date trigger is an expiration report that someone has to run and read every month. That works until a busy quarter, a producer leaves, or a policy is added mid year with an odd expiration date. With a trigger, a policy saved on March 3 with a December 1 expiration is scheduled the moment the date is saved, and nobody has to run a report.
Build it in GoHighLevel
- Load each client's expiration into the Policy Expiry Date field. GoHighLevel lists it among the date fields the trigger can use. Import a spreadsheet or copy dates from your agency management export.
- Go to Automation and select Create New Workflow, then Start from Scratch.
- Click Add New Trigger and choose Custom Date Reminder.
- Under Add Filters, choose the Custom Date Field filter and select Policy Expiry Date.
- Add the Before Number of Days filter and enter 120.
- Add the Has Tag filter with a tag such as commercial lines, so personal lines clients do not enter.
- Add an Add Task action assigned to the account manager, then a Send Email action with the heads up.
- Save the workflow, then switch it from Draft to Publish.
- Repeat steps 2 to 8 for the 90 and 60 day workflows, using the actions in the table.
- When a client renews, update the Policy Expiry Date to the new expiration so the next cycle starts on schedule.
The trigger does not activate for a contact with an empty date field, so an unfilled expiration means no reminder. Run a smart list of contacts with no date before you publish.
Message to send at 90 days
Subject: Renewal meeting for your commercial package. Hi [first name], your commercial package renews on [policy expiry date]. We are starting the review now so there is time to compare options. Pick a 30 minute time here: [booking link]. Insert the bracketed items with the merge field picker.
What the workload looks like
A book of 200 commercial accounts with expirations spread evenly through the year has about four policies reaching the 120 day mark every week (200 divided by 52 is 3.8). A producer running that list by hand has to open the report every week and act on four accounts each time. With three workflows, the same book creates about 12 scheduled touches a week (3.8 accounts times three steps), and every one of them is either sent or sitting in someone's task list.
Mistakes to avoid
- Leaving the date blank. The trigger skips any contact with no value in the date field.
- Reusing last year's date. If the expiration is not moved forward after renewal, the next cycle never starts. Make the date update part of the binding checklist.
- Testing on a real client. Publish on a test contact first, with an expiration 120 days from today, and confirm the task and email arrive.
- Ignoring the year option. The trigger has a setting that matches the year as well as the day and month. GoHighLevel's documentation describes it in two ways, once as a current year match and once as the way to send annual reminders, so test it on one record before you rely on it.
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 also govern how policies are described in communications, so keep texts to scheduling and move coverage advice to a call, and confirm the wording with your compliance officer. This is general information, not legal advice.
Questions people ask
Should complex accounts start earlier than 120 days?
QuoteSweep calls 120 days preferred for complex accounts or surplus lines placements, and one podcast guide for brokers suggests 120 to 160 days. Add a tag for complex accounts and a fourth workflow at 150 days.
What happens if a policy has no expiration date saved?
GoHighLevel's documentation says the Custom Date Reminder trigger does not activate for a contact with no value in the date field.
Can one workflow send the 120, 90, and 60 day steps?
The documentation describes separate workflows for different dates and separate before and after triggers within one workflow. One workflow per interval is the simplest to read and fix.
Does this replace the agency management system?
No. It handles reminders and tasks. Keep policy records, certificates, and accounting in the system you already use.
Ready to try it yourself? Start a GoHighLevel account here.
You can also see this in action in our GoHighLevel capabilities demo.
