Weekly
Post a weekly Kit growth report to Slack
Every Monday Slack shows new subscribers, unsubscribes, net growth and the list total.
- Runs
- Weekly
- Apps
- Kit
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, post a 5-line Kit report to #newsletter: new subscribers, unsubscribes and net growth for the last 7 days, plus total subscribers.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Newsletter growth is rarely a straight line, and a total subscriber count hides what is happening underneath. Fifty new subscribers and forty cancellations looks the same on the dashboard as ten and zero, yet one is a leaky bucket. Creators who only glance at the total at random moments miss the churn that tells them a recent issue or a change of topic upset readers.
Every week, ClickRuntime pulls growth stats from Kit for the last seven days: new subscribers, cancellations and net growth. It also fetches the current total, then posts one tidy summary to Slack. You get the same four numbers in the same format every week, so comparison takes seconds.
Newsletter operators who report to a partner, sponsor or editor can use the same Slack post as their weekly update.
What you get out of it
Churn becomes visible next to growth
Net growth of five could mean ten in and five out, or 500 in and 495 out. Seeing cancellations beside new subscribers shows whether a good week was healthy or merely replacing readers who left.
Content changes get a verdict
If you moved to a new format or started sending twice a week, the next report shows whether cancellations jumped. That is faster and more honest feedback than waiting for replies to arrive.
Sponsors get steady numbers
Sponsors ask about list size and trend. A weekly record of total subscribers and net growth gives you a quick, consistent answer, and it saves rebuilding figures from the dashboard each time you write a media kit.
A weekly habit replaces occasional checking
Looking at stats only when you feel anxious produces a distorted view. A scheduled summary at the same time each week sets a rhythm and leaves less room for panic or complacency.
The channel keeps a growth history
Because every report is posted to Slack, you end up with a dated log of totals. Scrolling up shows a year of weekly growth without exporting anything from Kit. It also makes year-on-year comparisons simple when someone asks.
How it works
What happens, step by step
Once a week, ClickRuntime fetches your Kit growth numbers for the last 7 days.
It picks out new subscribers, unsubscribes, net growth and your total subscriber count.
It posts the numbers to #newsletter in Slack as a short report.
Before it runs live
- Connect Kit
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
- Run it at a different time, more or less often, or only on weekdays
- 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 Kit steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, notify, http
@on_trigger
def run(event):
end = date.today() - timedelta(days=1)
resp = http.get("https://api.kit.com/v4/account/growth_stats",
headers={"X-Kit-Api-Key": credentials.secret("KIT_API_KEY")},
params={"starting": (end - timedelta(days=6)).isoformat(), "ending": end.isoformat()})
resp.raise_for_status()
s = resp.json()["stats"]
notify.slack(
f"Kit, last 7 days\nNew subscribers: {s['new_subscribers']}\nUnsubscribes: {s['cancellations']}\n"
f"Net growth: {s['net_new_subscribers']}\nTotal subscribers: {s['subscribers']}",
channel="#newsletter",
)
return sFAQ
Common questions
Which seven days does the report cover?
What is the difference between net growth and total subscribers?
Can the report go to a different Slack channel each week?
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
Get yesterday's new Kit subscribers by email
One email each morning lists who subscribed yesterday, or says nobody did.
See how it worksPost each new Kit subscriber to Slack
Every sign-up appears in Slack with the person's name and email.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up “Post a weekly Kit growth report to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.