Weekly
Get last week's MailerLite results every Monday
A Monday email shows opens, clicks and unsubscribes for each campaign sent last week.
- Runs
- Weekly
- Apps
- MailerLite
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 8am, email me the opens, clicks and unsubscribes for each MailerLite campaign sent in the past 7 days.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Every Friday a small online shop owner promises themselves to look at how the week's MailerLite campaigns did. By Friday afternoon there are customer emails to answer and orders to pack, and the report stays unopened. Two months on, nobody can say whether the new subject-line style helped, whether the Tuesday send time beats Thursday or whether unsubscribes have been climbing.
On a weekly schedule, ClickRuntime lists the campaigns you sent, keeps those from the past week, pulls open, click and unsubscribe figures for each, formats them into a readable summary and emails it to you. Drafts and campaigns that have not been sent yet are skipped.
It works especially well for solo operators and small agencies who want a standing report without logging into MailerLite or building their own sheet.
What you get out of it
The numbers reach you without a reminder
Habits fail when a task depends on memory. A scheduled email arrives whether or not the week was calm, so you always have the data in front of you when you plan the next send.
Small shifts are visible over weeks
An open rate that falls from 42 to 36 percent over two months is easy to miss when you only look occasionally. Weekly emails stack up into a record where gradual declines are plain to see.
Better decisions on timing and subject lines
With results from each send arriving in one message, you can compare what you tried on which day. Over a quarter that is real evidence for choosing a send time instead of guessing.
Easy to share with partners or clients
The summary is already written in email form, so forwarding it to a business partner or a client takes seconds. They get proof that the newsletter is doing its job.
Unsubscribe trouble is noticed sooner
If one campaign triggers a spike in unsubscribes, you see it the following week at the latest. That is time to adjust topic or frequency before the damage spreads across the list.
How it works
What happens, step by step
Once a week, ClickRuntime gets your sent campaigns from MailerLite.
It keeps only the campaigns that finished sending in the last 7 days.
You get one email with the opens, clicks and unsubscribes for each campaign. If none were sent, the email says so.
Before it runs live
- Connect MailerLite
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 MailerLite steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timedelta, timezone
from clickruntime import on_trigger, credentials, notify, http
@on_trigger
def run(event):
resp = http.get("https://connect.mailerlite.com/api/campaigns",
headers={"Authorization": f"Bearer {credentials.secret('MAILERLITE_API_KEY')}"},
params={"filter[status]": "sent", "limit": 100})
resp.raise_for_status()
cutoff = (datetime.now(timezone.utc) - timedelta(days=7)).strftime("%Y-%m-%d")
lines = []
for c in resp.json()["data"]:
if (c.get("finished_at") or "") < cutoff:
continue
s = c["stats"]
lines.append(f"{c['name']}: {s['opens_count']} opens, {s['clicks_count']} clicks, "
f"{s['unsubscribes_count']} unsubscribes")
notify.email_me("MailerLite campaigns, last 7 days", "\n".join(lines) or "No campaigns sent in the last 7 days.")
return {"campaigns": len(lines)}FAQ
Common questions
Which date range does the weekly email cover?
What if I did not send any campaign last week?
Are automation emails included, or only regular campaigns?
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 MailerLite subscribers to Slack
Each new subscriber shows up in Slack with their email and the group they joined.
See how it worksSee who clicks links in your campaigns
Slack tells me which subscriber clicked and which link they chose.
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 “Get last week's MailerLite results every Monday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
