On a schedule
Email me today's scheduled Buffer posts
Each morning at 8, an email lists every post Buffer will publish today across all channels, in time order, with the channel and the first lines of text.
- Runs
- On a schedule
- Apps
- Buffer
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8am, email me the Buffer posts scheduled to go out today across all my channels, in time order, with the channel and the start of each post.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a team schedules posts days or weeks ahead, it is easy to lose track of what is actually going out today. A post about a sale that ended, or two posts on the same channel within an hour, only gets noticed once it is live.
This automation emails you each morning with everything Buffer will publish that day, in time order across channels. A quick read over coffee is enough to spot a mistake and fix it in Buffer before it goes out.
It reads your queue only and never edits or publishes anything.
What you get out of it
Catch mistakes early
Out-of-date or clashing posts are visible before they publish.
All channels in one list
LinkedIn, Instagram, Facebook and others appear together, in time order.
Your time zone
"Today" is worked out in the time zone you choose.
Quiet days noted
A short note tells you when nothing is scheduled.
Read only
Nothing in Buffer is changed.
How it works
What happens, step by step
Every weekday at 8am, ClickRuntime asks Buffer for your scheduled posts.
It keeps the ones due to go out today in your time zone.
It sorts them by time and shows the channel and the first 140 characters of each.
You get one email, or a short "nothing scheduled today" note.
Before it runs live
- Connect Buffer
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 Buffer steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime
from zoneinfo import ZoneInfo
from clickruntime import on_trigger, credentials, http, notify
ORG_ID = "your-organization-id"
TZ = ZoneInfo("Europe/London")
def buffer(query, variables=None):
resp = http.post("https://api.buffer.com", json={"query": query, "variables": variables or {}},
headers={"Authorization": f"Bearer {credentials.secret('BUFFER_API_KEY')}"})
resp.raise_for_status()
return resp.json()["data"]
@on_trigger
def run(event):
edges = buffer("query($org: OrganizationId!) { posts(input: {organizationId: $org, filter: {status: [scheduled]}, "
"sort: [{field: dueAt, direction: asc}]}, first: 100) "
"{ edges { node { text dueAt channel { name service } } } } }", {"org": ORG_ID})["posts"]["edges"]
today = datetime.now(TZ).date()
posts = []
for e in edges:
due = datetime.fromisoformat(e["node"]["dueAt"].replace("Z", "+00:00")).astimezone(TZ)
if due.date() == today:
posts.append((due, e["node"]))
if not posts:
notify.email_me("Nothing scheduled in Buffer today", "No posts are due to go out today.")
return {"today": 0}
lines = [f"{d:%H:%M} · {p['channel']['service'].title()} ({p['channel']['name']}) · {p['text'][:140]}"
for d, p in sorted(posts, key=lambda x: x[0])]
notify.email_me(f"{len(posts)} Buffer posts go out today", "\n".join(lines))
return {"today": len(posts)}FAQ
Common questions
Which Buffer accounts does this work with?
Does it show the whole post?
Can I get it in Slack instead of email?
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 warned before a Buffer queue runs out
Each morning I hear about any Buffer channel with too few posts lined up.
See how it worksGet a weekly list of unscheduled Buffer ideas
Every Friday I get my Buffer ideas and drafts that still aren't scheduled.
See how it worksRemind me about Buffer posts waiting for approval
Every weekday at 10, an email lists Buffer posts still waiting for approval, oldest first, with the channel, who is waiting and when each post is due.
See how it worksKeep exploring
Set up “Email me today's scheduled Buffer posts” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.