The moment it happens
Get alerted when a contact is tagged Hot lead
As soon as someone gets the 'Hot lead' tag, I see it in Slack and can call them.
- Runs
- The moment it happens
- Apps
- Keap
- AI
- Not needed
- Access
- PAT
Send this to your assistant
Create a ClickRuntime automation: when a Keap contact gets the 'Hot lead' tag, post their name, email and phone to #sales and mention @maria.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
In Keap, tags carry real meaning. A tag like Hot lead might be applied when a prospect clicks a pricing link three times, replies to an email or books a call. The trouble is that the tag is applied silently inside the system. A contact who just signaled buying intent can sit for days while the sales rep works through a list that does not highlight them.
When Keap reports that a tag was applied, ClickRuntime checks the tag ID against the one you care about, in this case the Hot lead tag, and ignores every other tag event. When it matches, a message goes to Slack naming the contact and the tag so someone can pick up the phone while the interest is fresh.
The same pattern fits tags such as Requested demo, Paid deposit or VIP, if you give your assistant the tag name.
What you get out of it
Buying signals reach a human quickly
A contact who earns a Hot lead tag is telling you something right now. A Slack post while that behavior is minutes old lets a rep call before the prospect has moved on to a competitor.
Your scoring rules start paying off
Many teams spend hours building automations that apply tags based on behavior, then never look at the result in real time. An alert closes that loop, so the effort behind the scoring turns into actual conversations.
Noise from other tags is filtered out
Keap can apply dozens of tags per day, and most are bookkeeping. Checking the tag ID means only the one you picked reaches the channel, so people keep reading it instead of muting it.
No more combing through contact lists
Without alerts, a rep sorts contacts by recent activity or runs a saved search each morning. Pushing the tagged contact to Slack removes that routine and the risk that a search was forgotten.
You can test whether the tag means something
If hot leads rarely turn into calls or sales, the channel history shows it. That evidence helps you adjust the behavior that earns the tag rather than trusting it blindly.
How it works
What happens, step by step
When a tag is applied to a contact in Keap, Keap tells ClickRuntime straight away.
ClickRuntime looks up the contact and checks whether they now have the Hot lead tag. Any other tag is ignored.
For a hot lead it posts to #sales in Slack and mentions the sales owner, with the contact's name, email and phone number so they can call straight away.
Before it runs live
- Connect Keap
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Keap steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, notify, http
HOT_LEAD_TAG_ID = 101 # Keap tag "Hot lead"
@on_event
def handle(event):
headers = {"X-Keap-API-Key": credentials.secret("KEAP_PAT")}
posted = 0
for obj in (event.json or {}).get("object_keys", []):
c = http.get(f"https://api.infusionsoft.com/crm/rest/v1/contacts/{obj['id']}",
headers=headers, params={"optional_properties": "tag_ids,phone_numbers"}).json()
if HOT_LEAD_TAG_ID not in (c.get("tag_ids") or []):
continue
email = (c.get("email_addresses") or [{}])[0].get("email", "")
phone = (c.get("phone_numbers") or [{}])[0].get("number", "no phone")
notify.slack(f"<@maria> Hot lead: {c.get('given_name', '')} {c.get('family_name', '')}, {email}, {phone}",
channel="#sales")
posted += 1
return {"posted": posted}FAQ
Common questions
How does it know which tag to watch?
What happens if the tag is removed and applied again?
Can the alert go to the contact's owner instead of a channel?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Post new Keap contacts to Slack
Each new contact shows up in Slack with their name, email and where they came from.
See how it worksHear about every Keap payment as it lands
When a customer pays, Slack shows who paid and how much.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Get alerted when a contact is tagged Hot lead” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
