Every 30 minutes
Hear when a target account changes stage
When one of our Apollo accounts moves to a new stage, I get a Slack message saying which account and which stage.
- Runs
- Every 30 minutes
- Apps
- Apollo.io
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every 30 minutes, check our Apollo accounts and post to #accounts in Slack when an account's stage changes, with the old and new stage.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A sales development rep keeps a short list of 40 target accounts in Apollo, each at a stage like Cold, Approaching or Replied. Sometimes a colleague moves an account to Meeting Booked, or an enrichment sync flips one back, and the rep finds out only when a prospect mentions a conversation they did not know about. Two people end up emailing the same buyer, which looks careless.
Every 30 minutes, ClickRuntime searches your Apollo accounts and compares each account's current stage with the stage it saved on the previous check. Any account whose stage differs is posted to Slack with its name and the old and new stage, and the stored value is updated for next time.
It works well for small teams that share an Apollo workspace and need a light way to see who touched what.
What you get out of it
Duplicate outreach gets prevented
When a teammate's stage change appears in Slack within half an hour, you stop before sending a cold email to an account that is already in conversation. Buyers get one coherent approach.
Hot accounts get a faster follow-up
A move to Replied or Meeting Booked is a signal worth acting on. Hearing about it the same morning lets the account owner prepare while the interest is fresh. Your reputation with the buyer is protected as well.
Accidental stage edits get spotted
A bulk update or a bad import can push accounts backward without anyone noticing. The old-to-new line in the message makes those reversals easy to catch and correct. You find and undo the damage the same day.
Managers see pipeline movement live
Rather than waiting for a Friday review, a manager reads the channel and sees which accounts progressed this week, and which stalled, with no need to open Apollo. That makes weekly pipeline reviews shorter and better informed.
Account history survives in chat
The Slack thread becomes a dated trail of when each target changed stage. When someone asks how an account reached its current stage, you can scroll back and answer. It beats guessing from memory.
Territory disputes get settled quickly
When two reps both think they own an account, the stage message shows who moved it last and when. The disagreement ends with a fact in the channel rather than a long chat about who called first.
How it works
What happens, step by step
Every 30 minutes, ClickRuntime checks your accounts in Apollo.
It compares each account's stage with the one it saved last time.
When an account has moved, a message goes to #accounts with the account name and its old and new stage.
Before it runs live
- Connect Apollo.io
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 Apollo.io steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify, state, report_fetched
API = "https://api.apollo.io/api/v1"
@on_trigger
def run(event):
headers = {"X-Api-Key": credentials.secret("APOLLO_API_KEY"), "Cache-Control": "no-cache"}
accounts = http.post(f"{API}/accounts/search", headers=headers,
json={"sort_by_field": "account_last_activity_date", "per_page": 100}).json()["accounts"]
known = state.get("stages") or {}
changed = [a for a in accounts if a["id"] in known and known[a["id"]] != a.get("account_stage_id")]
report_fetched(len(changed))
current = {**known, **{a["id"]: a.get("account_stage_id") for a in accounts}}
if not changed:
if current != known:
state.set("stages", current) # first run or new accounts: remember without alerting
return {"changed": 0}
names = {s["id"]: s["name"] for s in http.get(f"{API}/account_stages", headers=headers).json()["account_stages"]}
for a in changed:
notify.slack(f"*{a['name']}*: {names.get(known[a['id']], '?')} → {names.get(a.get('account_stage_id'), '?')}",
channel="#accounts")
state.set("stages", current)
return {"changed": len(changed)}FAQ
Common questions
How does it know a stage has changed?
Does it cover every account in Apollo or just a list?
Why every 30 minutes and not instantly?
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 Apollo contacts to Slack
Within 15 minutes of a contact being added in Apollo, #prospects gets their name, title and company.
See how it worksEmail yesterday's sequence replies and meetings
Each morning I get an email listing the Apollo sequence contacts who replied or booked a meeting the day before.
See how it worksSee new job listings as they're posted
Jobs that match your keywords show up in a Slack channel, each one only once.
See how it worksKeep exploring
Set up “Hear when a target account changes stage” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
