Re-engage dormant GoHighLevel contacts with personal messages
Every Monday, find the leads who have gone quiet, read what they originally asked about, and send each one a short personal nudge.
Integrations
GoHighLevel
Google Sheets
Type
Categories
- Sales
- Marketing
Every Monday at 8am, wake up my dormant GoHighLevel contacts with re-engagement messages that do not read like a blast. Each message must be written from that person's own history, not from a template.
Start by finding the people who have gone quiet. Use the GoHighLevel Contacts Search Contacts operation with advanced filters to find contacts with roughly no activity in the last 60 days. Exclude anyone flagged do not contact. GoHighLevel does not emit an event for a contact going cold, so the dormancy test has to be expressed through the Search Contacts advanced filters inside this workflow rather than as a trigger condition.
Before drafting anything, read the outreach log with the Google Sheets Get Values operation and skip any contact who already appears there with a send date in the last 90 days. This workflow runs every week against a slow moving list, so without that check the same people would be messaged over and over. One nudge per dormant contact, not a weekly drip.
Cap the run at 25 contacts. This limit is deliberate: it keeps the volume human and protects deliverability on the sending number and domain. If more than 25 contacts qualify, take the ones who have been quiet longest and leave the rest for next week. Never raise the cap to clear a backlog faster.
For each of the 25, reconstruct the history before writing a word. Use Conversations Search Conversations to locate that contact's prior thread, then Conversations Get messages by conversation id to read what was actually said. Identify the specific thing that person enquired about: the service they asked to price, the question that never got answered, the quote that went out with no reply, the timing they said did not suit.
Write one short message per contact, in my voice, referencing that specific thing. Two or three sentences. Open with the concrete detail from their thread so it is obvious this is not a broadcast, then make one clear low friction ask. No merge-field greetings, no "just checking in", no discount bait, no pretending an interval has not passed. Reply on the same channel the original conversation used, and send it with Conversations Send a new message.
If a contact has no usable prior thread, or nothing specific enough to reference, skip them rather than sending something generic. A skipped contact is a better outcome than a message that reads like a blast.
Log every contact messaged to my Google Sheet with the Append Values operation, one row each: send timestamp, contact name, contact id, channel used, the angle taken, and the message that went out. Record the angle as a short reusable label such as "unanswered pricing question", "quote sent no reply", "timing did not suit", or "enquiry never followed up", and reuse the same vocabulary across runs so the labels stay groupable. The point of this log is measuring which angles actually earn replies, not just keeping an audit trail, so consistent angle labels matter more than descriptive prose.
Finish with a short run summary: how many contacts qualified, how many were messaged, how many were skipped and why, and the angle mix used this week.
What it does
- Every Monday morning, finds the contacts who have had no activity for about 60 days and leaves out anyone marked do not contact.
- Reads each person's previous conversation so the message can mention the thing they actually enquired about.
- Writes and sends one short, specific message per person instead of one template blasted to everybody.
- Keeps each run to 25 people and records who was messaged, which angle was used, and when, in a Google Sheet so you can see which angles earn replies.
What you’ll need
- A GoHighLevel account containing the contacts and conversation history you want to re-engage.
- A connected phone number or sending email address in GoHighLevel so the messages can actually go out.
- A Google account and a spreadsheet where the outreach log should be written.
- Contacts who have some previous conversation history, since each message is written from what that person originally asked about.
How to customize it
- Change the quiet period from 60 days, or move the run to a different day and time.
- Raise or lower the cap of 25 people per run depending on how much volume you are comfortable sending.
- Choose whether replies go out by text or email, and adjust the angle labels recorded in the log.
Use cases
- Email Automation
- Content Generation