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.
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
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?
How fast does it pick up a new message?
Does it work with text messages, email and web chat?
Will the replies actually sound like us?
What happens to spam?
Related templates
Every 30 minutes during business hours, find the customer messages nobody has replied to yet and post one quiet Slack nudge.
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.
Every Monday, find the leads who have gone quiet, read what they originally asked about, and send each one a short personal nudge.
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
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.