Daily
Get warned before a Buffer queue runs out
Each morning I hear about any Buffer channel with too few posts lined up.
- Runs
- Daily
- Apps
- Buffer
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8am, check my Buffer queues and email me any channel with fewer than 3 posts scheduled.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A social media manager schedules posts in Buffer in batches, usually a week or two at a time. Then a launch happens, a holiday arrives, or the batch day gets skipped, and one channel quietly runs out of scheduled posts. The account goes silent for several days, reach drops, and the manager only notices when somebody asks why nothing has been posted since Tuesday.
Each day, ClickRuntime lists your Buffer channels, counts how many posts are scheduled for each one and emails you the channels that are below the threshold you set. Channels with a healthy queue are not mentioned. It gives you a few days of warning, which is the time you need to write and queue more.
Marketing teams running several brand or client channels, where one account being forgotten is easy, will find it practical.
What you get out of it
Accounts never go silent by accident
A warning when a queue is low gives you days to fill it. Consistent posting protects the reach and the follow-through your audience expects from the brand. Steady activity also keeps followers from drifting to accounts that post more reliably.
Algorithms see steady activity
Many platforms favor accounts that post regularly. Avoiding unplanned gaps helps keep engagement from sliding after a break nobody meant to take. Agencies handling many accounts avoid the awkward call where a client points out that their feed has been quiet for a week, because every channel is checked every day.
Agencies protect client trust
A client asking why their feed has been quiet for a week is an uncomfortable call. A daily check across all channels keeps every account covered and removes the awkward conversation.
Batching stays realistic
Knowing how many days of content remain helps you plan the next writing session. You schedule when you need to, and avoid both panicked last-minute posts and wasted idle days.
One email covers every channel
A single message lists all low channels, so there is no need to open each profile in Buffer and count. Checking five accounts takes the same effort as checking one.
How it works
What happens, step by step
Once a day, ClickRuntime gets the list of channels in your Buffer account.
For each channel it counts how many posts are scheduled.
If any channel has fewer than 3 posts lined up, you get an email listing those channels and how many posts each has left.
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 clickruntime import on_trigger, credentials, notify, http
ORG_ID = "your-organization-id"
MIN_POSTS = 3
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):
channels = buffer("query($org: OrganizationId!) { channels(input: {organizationId: $org}) { id name service } }",
{"org": ORG_ID})["channels"]
low = []
for ch in channels:
posts = buffer("query($org: OrganizationId!, $ch: ChannelId!) { posts(input: {organizationId: $org, "
"filter: {channelIds: [$ch], status: [scheduled]}}) { edges { node { id } } } }",
{"org": ORG_ID, "ch": ch["id"]})["posts"]["edges"]
if len(posts) < MIN_POSTS:
low.append(f"{ch['name']} ({ch['service']}): {len(posts)} scheduled")
if low:
notify.email_me("Buffer queues running low", "\n".join(low))
return {"low": len(low)}FAQ
Common questions
How does it decide a queue is running low?
Does it count drafts and ideas as queued posts?
Will I get an email even when every queue is full?
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 a weekly list of unscheduled Buffer ideas
Every Friday I get my Buffer ideas and drafts that still aren't scheduled.
See how it worksEmail 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.
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 “Get warned before a Buffer queue runs out” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.