Daily
Email a daily report to a list through SendGrid
A summary of the numbers or news you track goes out from your own domain at the same time each day.
- Runs
- Daily
- Apps
- SendGrid
- AI
- Optional
- Access
- Mail Send
Send this to your assistant
Create a ClickRuntime automation: every weekday at 6pm, fetch the closing prices of VTI, VXUS and BND, build a short summary, and send it via SendGrid to me@example.com and partner@example.com.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Plenty of people read the same few sources every morning: investment news, industry headlines, new regulations, competitor announcements. Doing it by hand is time-consuming, and forwarding the best items to colleagues or clients is something that gets dropped on a busy week. A newsletter service is overkill for a list of twelve people, and a plain email from a personal account lands in spam once the group grows beyond a handful of recipients.
Each day the automation gathers items from public sources you name, drops any that were sent in a previous digest, formats the new ones as a clean HTML email, and sends it through your SendGrid account to your list. AI is optional, for example to write one-line summaries. It suits analysts, advisors and community managers who want a regular briefing to go out on time without extra work.
What you get out of it
A regular briefing that actually goes out
The digest arrives at the same time every day without anyone assembling it. Readers learn to rely on it, which is the whole value of a briefing, and your reputation for being informed grows.
No repeated stories
Remembering which items were already sent means readers see only new material. A digest that repeats yesterday's headline gets ignored within a week, so skipping seen items protects its usefulness.
Proper deliverability for group mail
Sending through SendGrid with an authenticated domain means mail reaches inboxes, including for recipients at companies with strict filters. Personal accounts sending to dozens of people are often throttled or flagged.
Your own format and sources
You decide which sites feed the digest and how it looks. A clean HTML layout with headlines and links is easier to scan than a forwarded chain, so busy readers act on it.
Readers can be added without effort
Growing from twelve to two hundred recipients does not change the process. Adding someone to the list is enough, and the digest keeps arriving with the same reliability. Growing from twelve readers to two hundred means adding addresses, not rebuilding anything.
How it works
What happens, step by step
Every day, ClickRuntime fetches the latest items you track, such as the top stories from a news site.
It skips anything it has already sent, so each digest only holds new items.
It builds a tidy email listing each item.
The email is sent through SendGrid from your own domain, such as "Northwind Digest", to your list.
Before it runs live
- Connect SendGrid
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
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other SendGrid steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state
TO, FROM = "team@northwind.example", "digest@northwind.example"
@on_trigger
def run(event):
ids = http.get("https://hacker-news.firebaseio.com/v0/topstories.json").json()[:30]
seen = set(state.get("seen") or [])
stories = [http.get(f"https://hacker-news.firebaseio.com/v0/item/{i}.json").json() for i in ids if i not in seen][:10]
if not stories:
return {"sent": False}
items = "".join(f"<li><a href='{s.get('url', '')}'>{s['title']}</a> ({s.get('score', 0)} points)</li>" for s in stories)
http.post("https://api.sendgrid.com/v3/mail/send", headers={"Authorization": f"Bearer {credentials.secret('SENDGRID_API_KEY')}"},
json={"personalizations": [{"to": [{"email": TO}]}], "from": {"email": FROM, "name": "Northwind Digest"},
"subject": f"Today's top {len(stories)} stories", "content": [{"type": "text/html", "value": f"<ul>{items}</ul>"}]}).raise_for_status()
state.set("seen", list(seen | {s["id"] for s in stories})[-1000:])
return {"sent": True, "stories": len(stories)}FAQ
Common questions
What public sources can the digest draw from?
Does it need SendGrid to be set up with my domain?
Can the digest include AI summaries of each item?
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 SendGrid delivery numbers each morning
You see delivered, bounced and spam counts every day, with a warning when the bounce rate climbs.
See how it worksGet a weekly list of bounced and complaining addresses
Each week you get a CSV of addresses SendGrid added to its bounce and spam lists, ready to clean from your other tools.
See how it worksAdd new sign-ups to a SendGrid list
Everyone who fills in your sign-up form ends up in your SendGrid contacts and newsletter list.
See how it worksKeep exploring
Set up “Email a daily report to a list through SendGrid” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.