Triage new GoHighLevel conversations and draft the reply

Every new inbound message gets sorted by intent, urgency and mood, with a ready-to-send reply waiting in Slack before anyone opens the inbox.

Agentic Task
GoHighLevelSlack BotSalesCustomer SupportFeedback TriageNotifications & Alerts
PromptCreate

Watch my GoHighLevel sub-account and run every time a new conversation is started, using the new conversation poll trigger. The job is to triage every inbound message before anyone on my team has to read it, so nothing sits unanswered and my team only spends attention on the conversations that need a person.

When a conversation comes in, first pull the full thread with the GoHighLevel Conversations Get messages by conversation id operation so you can see what was actually said rather than guessing from a preview. Then look up the person behind it with the Contacts Get Contact operation using the contact id on the conversation. Note their name, the channel they came in on, their phone and email, and anything on the contact record that tells you whether this is a brand new lead or an existing customer.

Classify the conversation on three axes. Intent: new lead, booking request, support question, billing, or spam. Urgency: high, medium, or low, based on whether the person is waiting on us to act and how time sensitive their ask is. Sentiment: positive, neutral, negative, or angry. Reason from what the message actually says and what the contact record shows, not from keyword matching, and if the thread is genuinely unclear then say so rather than forcing a confident label.

Then draft a reply in our tone: short, warm, professional, plain language, no corporate filler. It should answer the actual question that was asked and end with one clear next step. Do not invent prices, availability, policies, or promises we have not made. If answering properly needs a fact you do not have, write the draft so it asks for that detail instead of guessing.

Decide whether the reply can go out on its own. Send it automatically only when every one of these is true: the message is either a simple FAQ you can answer confidently from what we have told you, or a plain acknowledgement such as a thank you or a confirmation; the sentiment is not negative or angry; this is not a high value opportunity; and the intent is unambiguous. When all of that holds, send the reply with the GoHighLevel Conversations Send a new message operation on the same conversation and the same channel the contact used.

Never auto-reply to anything angry, frustrated, or complaint shaped, anything that looks like a high value deal or a large opportunity, anything ambiguous or missing the information needed to answer, any billing dispute, refund, cancellation, or legal question, and anything that would commit us to a specific price, date, or promise. Those get drafted but held for a human every single time. When in doubt, escalate rather than send.

Post the result to our Slack channel using the Slack Bot Send a Message operation, formatted so a human can act on it in one glance: the contact name and the channel they came in on, a line carrying the intent, urgency, and sentiment labels, a one or two sentence summary of what they want, and then the draft reply set apart as a quoted block so it can be copied straight out. Finish with an explicit status line saying either that it was auto-answered and already sent, or that it is waiting for a human, and in that case a short reason why it was held back.

For spam, post a single line naming the contact and marking it as spam, and do not reply to it. Post exactly one Slack message per conversation so the channel stays readable, and if a thread has several messages already on it, triage the conversation as a whole rather than sending one alert per message.

Example output

New conversation: Maria Delgado (SMS) Intent: Booking request Urgency: High Sentiment: Positive Maria saw the spring promo and wants to book a consultation this week, ideally Thursday or Friday afternoon. Suggested reply: "Hi Maria, thanks for reaching out! I would love to get you booked in. I have Thursday at 2pm or Friday at 3:30pm open this week. Which one works better for you and I will lock it in." Status: Waiting for a human. Booking requests commit us to a specific time, so this one was not auto-sent.

What does this prompt do?

  • Watches your GoHighLevel sub-account and picks up every new conversation the moment it starts, day or night.
  • Reads the whole thread and the contact record, then labels the message by intent (new lead, booking request, support question, billing or spam), how urgent it is, and how the person sounds.
  • Writes a ready-to-send reply in your tone and posts it to Slack next to the contact name and the labels, so your team can send or edit it in one glance.
  • Answers the easy ones on its own, like simple FAQs and plain acknowledgements, and always escalates anything angry, high value or unclear to a human.

What do I need to use this?

  • A GoHighLevel sub-account with access to your conversations and contacts.
  • A Slack workspace and a channel where your team watches inbound messages.
  • A short description of your tone of voice and the answers to your most common questions, so the drafts sound like you.

How can I customize it?

  • Change the intent labels to match how your team actually sorts inbound, for example adding partnership or recruiting.
  • Tighten or loosen what gets answered automatically. Many teams start by escalating everything, then allow auto-answers for FAQs once they trust the drafts.
  • Point it at a different Slack channel, or send urgent conversations to one channel and everything else to another.

FAQs

Will it reply to customers without me seeing it first?
Only in the narrow cases you allow. Out of the box it answers simple FAQs and plain acknowledgements like a quick thank you, and everything else waits for a human. Anything angry, high value or ambiguous is never sent automatically. You can also switch auto-sending off entirely and use it purely as a drafting assistant.
How fast does it pick up a new message?
It watches your sub-account for new conversations continuously, so most messages are triaged and sitting in Slack within a few minutes of arriving. That speed matters, because how quickly you respond is one of the biggest factors in whether an inbound lead converts.
Does it work with text messages, email and web chat?
Yes. It works from the conversation as GoHighLevel records it, so whichever channel the person used, the thread gets triaged the same way. When it does send a reply, the reply goes back on the same channel the contact used.
Will the replies actually sound like us?
You give it a short description of your tone plus your standard answers, and it drafts against that. Because every draft lands in Slack before it goes anywhere, you will see straight away whether the voice is right and can adjust the description.
What happens to spam?
Spam gets labelled as spam and noted in Slack in a single line, with no reply sent. Your team keeps a clean channel where the real conversations stand out.

Related templates

Alert your team when GoHighLevel messages go unanswered

Every 30 minutes during business hours, find the customer messages nobody has replied to yet and post one quiet Slack nudge.

GoHighLevel
Slack Bot
Google Sheets
Deterministic Code
Turn new GoHighLevel bookings into rep-ready pre-call briefs

When someone books a call, we research them, pull up what your team already told them, and hand the rep a brief in Slack and on their calendar.

GoHighLevel
Google Calendar
Slack Bot
+1
Agentic Task
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.

GoHighLevel
Google Sheets
Agentic Task
Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task

Stop letting inbound messages sit unread.

Put a triaged summary and a ready-to-send reply in Slack for every new conversation, so your team answers in minutes instead of hours.