Agent setup guide
Speed-to-Lead Responder
Minutes after a new GoHighLevel contact: rated, tagged, a consent-checked first SMS or email, and hot leads in Slack.
What it does
Minutes after a new GoHighLevel contact: rated, tagged, a consent-checked first SMS or email, and hot leads in Slack.
- Starts on each new contact in the connected GoHighLevel sub-account (checked every few minutes).
- AI rates the lead hot, warm or cold with a score and reasons, from its source, tags, attribution and form answers, using your rules.
- Adds a “hot lead”, “warm lead” or “cold lead” tag in GoHighLevel, so your own automations and smart lists can use it.
- Posts hot leads to your Slack channel with their phone, source, why they're hot and the planned first message.
- Writes a short first SMS or email and picks the channel by consent: SMS only with recorded consent, no Do Not Disturb and during 8:00–21:00 local time; otherwise email; otherwise nothing.
- Every first message waits in Reviews for approval until you switch auto-send on; messages the AI flags always wait. Approved messages go out from GoHighLevel's own number or email.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- GoHighLevel (the client's sub-account) and Slack, connected in Settings → Integrations.
- A sub-account with an SMS number or email set up, and a record of SMS consent (a tag, custom field or form checkbox).
What it doesn't do
- It isn't instant: GoHighLevel is checked every few minutes, looking at the 100 newest contacts each time.
- It sends one first message; it doesn't hold a back-and-forth conversation or book appointments.
- It never texts without the consent you describe, and it isn't legal advice: texting rules (TCPA, A2P 10DLC registration) remain your and your client's responsibility.
- It never invents prices, availability or offers — only what your rules contain.
- It shows as “Coming soon” until the GoHighLevel connector is approved.
Availability and plans
Coming soon — waiting for GoHighLevel approval
The agent is built, but GoHighLevel is still waiting for the vendor's approval. It becomes available on its own once that app is live; until then it can't be bought or set up.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: GoHighLevel and Slack.
- The app it watches, connected in Settings → Integrations (the agent starts from an app event).
- About 20 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect GoHighLevel
Connect the client's GoHighLevel sub-account (Settings → Integrations → GoHighLevel). Agencies connect each sub-account separately.
3. Connect Slack
Connect the Slack workspace where hot leads should be announced (Settings → Integrations → Slack).
4. Describe the business and lead rules
Open “Qualify the lead and write the first touch” and replace the first placeholder with the offer, service area, booking link, hot/warm/cold rules and sign-off.
| Setting | What to enter | In step |
|---|---|---|
| Business, offer and lead rules | Replace the placeholder with the business name, what it sells, its service area, the booking link (if any), what makes a lead hot, warm or cold, which custom field id is which form question, and how messages are signed. It starts as “[DESCRIBE THE BUSINESS, ITS OFFER, SERVICE AREA, BOOKING LINK AND WHAT MAKES A LEAD HOT, WARM OR COLD HERE]” until you replace it. | “Qualify the lead and write the first touch” |
5. Say how SMS consent is recorded
In the same step, replace the SMS consent placeholder with the tag, custom field or form checkbox that proves a contact agreed to texts.
| Setting | What to enter | In step |
|---|---|---|
| How SMS consent is recorded | Replace the placeholder with how this sub-account records consent to texts, e.g. the tag “sms opt-in”, a custom field id and value, or a form checkbox. Without consent the agent never texts. It starts as “[DESCRIBE HOW THIS SUB-ACCOUNT RECORDS SMS CONSENT HERE (TAG, CUSTOM FIELD OR FORM CHECKBOX)]” until you replace it. | “Qualify the lead and write the first touch” |
6. Pick the GoHighLevel sub-account
Pick the same GoHighLevel connection in the trigger, “Tag the contact hot, warm or cold” and “Send it from GoHighLevel”.
| Setting | What to enter | In step |
|---|---|---|
| GoHighLevel sub-account (trigger) | The sub-account whose new contacts start the agent. Pick your connected GoHighLevel account. | “New contact in GoHighLevel” |
| GoHighLevel sub-account (tagging) | The same sub-account, used to add the hot/warm/cold tag. Pick your connected GoHighLevel account. | “Tag the contact hot, warm or cold” |
| GoHighLevel sub-account (sending) | The same sub-account, whose phone number and email settings send the first message. Pick your connected GoHighLevel account. | “Send it from GoHighLevel” |
7. Pick the Slack account and channel
Open “Alert the team in Slack” and pick your account and channel. Invite the app to private channels first (/invite @Fluxo Flow).
| Setting | What to enter | In step |
|---|---|---|
| Slack account | The Slack workspace hot leads are announced in. Pick your connected Slack account. | “Alert the team in Slack” |
| Channel for hot leads | The channel the person who calls hot leads watches, e.g. #new-leads. | “Alert the team in Slack” |
8. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
9. Switch the trigger on
Open the trigger and click “Activate app trigger”. New contacts from then on start the agent (contacts already in GoHighLevel are not messaged).
How it works
The agent is a normal workflow with 11 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- New contact in GoHighLevel — Starts on “New contact” in GoHighLevel (an app event). Starts a run for each new contact in the connected GoHighLevel sub-account (checks the 100 newest contacts every few minutes).
- Qualify the lead and write the first touch — AI step (runs on your AI provider key). AI rates the lead hot, warm or cold from its source, tags and form answers, picks SMS or email only where consent allows, and writes the first message.
- Tag the contact hot, warm or cold — GoHighLevel: Add tags to a contact. Adds a “hot lead”, “warm lead” or “cold lead” tag to the contact in GoHighLevel, so your own GoHighLevel automations and smart lists can use it.
- Hot lead? — Decision: picks the branch to follow. Hot leads are announced in Slack right away so someone can call them.
- Alert the team in Slack — Slack: Post a message. Branch: Hot. Posts the hot lead's name, phone, source, why it's hot and the planned first message to your sales channel.
- Not hot — no alert — Kept in the run history. Branch: Warm / cold. Warm and cold leads aren't announced; the run history keeps the rating.
- Send now or review first? — Decision: picks the branch to follow. No allowed channel: nothing is sent. Otherwise every first message waits in Reviews while “Review every first message” is on; turn that route off to send automatically (messages the AI flags still wait).
- No message sent — Kept in the run history. Branch: No allowed channel. No consented channel (or junk): the contact is tagged but not messaged. The run history keeps why.
- Approve the first message — A person approves or rejects it in Reviews (the run waits). Branch: Review first / Flagged. A teammate checks the channel, consent and wording in Reviews, edits if needed and approves; rejecting sends nothing.
- Send it from GoHighLevel — GoHighLevel: Send an SMS or email. Branch: Auto-send / Approved. Sends the SMS or email from the sub-account's own number or email settings, so replies land in GoHighLevel Conversations.
- First touch sent — Kept in the run history. The run history keeps the message that went out.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. The sample has the same shape as a real event from the app.
Sample data fields
id, email, phone, first_name, last_name, tags (a list), source, date_added, contact.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
Go live
- Open the trigger and click “Activate app trigger”. New contacts from then on start the agent (contacts already in GoHighLevel are not messaged).
- Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Can it send without approval?
Yes. Open “Send now or review first?” and turn off the route “Review every first message”. Messages the AI flags (unclear consent, quiet hours, sensitive topics) still wait in Reviews.
How fast is it?
GoHighLevel's trigger is checked every few minutes (at least every 2 minutes, by your plan's schedule interval) and looks at the 100 newest contacts each time, so the first touch goes out within minutes — not seconds.
Does it keep the conversation going?
No. It sends one first message; replies arrive in GoHighLevel Conversations for your team or your own GoHighLevel workflows.
We run several clients — one setup each?
Yes. Each GoHighLevel connection is one sub-account; set up one copy of the agent per client sub-account.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
- No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
- A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .