ChatGPT Action in HighLevel Workflows
ChatGPT Action in HighLevel Workflows
The ChatGPT action is a premium workflow action in HighLevel that lets you process data through AI mid-workflow. Think of it as a little processing step — you feed it information, it does something with it, and spits out a result you can use in the next step.

Click on the image above to watch the full video.
This is cleaner than the alternative: sending a webhook out to Make.com or Zapier, doing the logic there, and bringing it back in.
Use Case: Contextual Appointment Responses
Instead of just checking positive/negative intent when someone replies to an appointment reminder, the ChatGPT action can compose a personalized response based on what they actually said.
Someone says "I'm going to the doctor, my daughter's sick" — instead of a generic "No problem, we'll reschedule," the AI responds with something like "Oh man, I'm sorry to hear about your daughter. No worries at all."
The key feature: you can instruct the GPT step to output a structured value at the end — like "confirmed" or "cancelled" — that the next workflow step can act on. You get the human-sounding response AND the structured data for your automation logic.
Use Case: The Birthday Anniversary Problem
This is the big one. HighLevel doesn't natively support anniversary dates.
The problem: A contact's birthday is January 1, 1956. You want to send them a happy birthday message every year. But if you use "Wait → Until specific date" with their date of birth field, HighLevel looks at the full date — including 1956. It's already passed. The workflow never fires.
You need the next birthday — January 1, 2026 — but that date changes every year.
The Solution
-
Create a custom field called "Next Birthday Anniversary" (simple text field in Custom Fields)
-
Add the ChatGPT action to your workflow. Search for "GPT" in the action list and select "Custom" mode.
-
Write the prompt:
Today's date is {{right_now.middle_endian_date}}. Based on the birth date of {{contact.date_of_birth}}, determine the next upcoming birthday anniversary that occurs in the future. Output the result in this exact format with nothing else: YYYY-MM-DDTHH:MM:SS+00:00
Two critical details in this prompt:
- Pass in today's date using a Right Now merge field like {{right_now.middle_endian_date}}. GPT 4.0 doesn't have a built-in clock — if you don't tell it what today is, it might calculate based on its training data and give you 2024 instead of 2026.
- "With nothing else" — The output needs to be the exact date format and nothing more. No explanation, no sentence wrapping it. If GPT adds a trailing period, the date format breaks downstream. Explicitly tell it to output only the formatted date.
-
Update the custom field with the GPT response. Add an "Update Contact Field" action, select your "Next Birthday Anniversary" field, and set the value to the output of the GPT step (not a contact field — go to the GPT step's response variable).
-
Set Event Start Time using that custom field. Now you can "Wait → Until event start time" and it'll wait until 60 days before their next birthday, or whatever offset you need.
Keeping It Updated Year After Year
The next birthday field goes stale after a year. Fix this with a second workflow:
- Trigger: Birthday Reminder (runs daily at 8 AM)
- Action 1: ChatGPT action with the same prompt — recalculates the next birthday
- Action 2: Update the "Next Birthday Anniversary" custom field with the new result
This keeps every contact's next birthday current automatically.
Beyond Birthdays
The same pattern works for any recurring date:
- Contract anniversaries — When does this client's annual renewal come up?
- Wedding anniversaries — For event planners or gift businesses
- Subscription renewals — Reminder sequence 30 days before renewal
Anywhere you need to calculate a future date from a historical one, the ChatGPT action handles the logic that HighLevel's native date handling can't.
Debugging Tips
This is an iterative process. Your first prompt probably won't be perfect.
- Check the execution log — Click into the workflow history for a test contact and view the GPT step's response. Is the output in the right format?
- Watch for extra text — If GPT adds "The next birthday is..." around the date, your downstream steps will break. Tighten the prompt: "Output ONLY the date, nothing else."
- Watch for trailing periods — A period at the end of the date string will break the "Set Event Start Time" step. Tell GPT explicitly not to add punctuation.
- Test with known dates — Use a contact whose birthday you know. If their birthday is January 3, 2015, and you're testing in 2025, the output should be January 3, 2026.
See Also
We are an independent affiliate of HighLevel and may earn a commission if you sign up through links on this page. We are not employees or representatives of HighLevel.
Some links in this article are affiliate links. If you purchase through them, we may earn a commission at no extra cost to you. This helps support our content.
Stay Updated
Get notified when new content is published.
No spam. Unsubscribe anytime.