# 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.

- Workflow type: agent
- Services: GoHighLevel, Slack Bot
- Categories: Sales, Customer Support
- Published: 2026-08-13

## What it does

- 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 you'll need

- 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.

## Prompt

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.

## How to customize

- 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.

## 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.

## FAQ

### 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.

Use this prompt in General Input: https://www.generalinput.com/prompts/triage-new-gohighlevel-conversations-and-draft-the-reply