Weekly
List entries that were never published
Each Monday you see the drafts sitting in your space that have never gone live.
- Runs
- Weekly
- Apps
- Contentful
- AI
- Not needed
- Access
- content_management_read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me the Contentful entries that have never been published, with their content type and last update date.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Draft entries pile up in every CMS. An article that was started in spring still sits half written in autumn, a product description was never finished, and a translation was begun and abandoned. They clutter search, confuse new editors, and sometimes contain content that should never see daylight.
Each week, this queries Contentful for entries that have never been published, identified by the missing publish date, and emails you the list. You get a regular inventory of drafts to finish, delete or reassign.
Editorial leads and content operations managers use it to keep the workspace tidy and make sure planned content actually ships. The query asks Contentful for entries whose publish date does not exist, so only content that has never gone live is listed, and nothing already published is included by mistake.
What you get out of it
Finish work that was started
Seeing old drafts reminds writers about content that is nearly done. A few hours of polish can turn a forgotten draft into a published article. A forgotten draft that is nearly complete can often be finished in an hour, and published content is worth more than an unfinished one.
Delete clutter with confidence
Drafts nobody wants can be removed once they appear on a list. That keeps the entry list clean and makes search results more useful. Drafts nobody wants can be removed once they are on a list, which keeps the entry list clean and search results useful.
Spot abandoned content ownership
Drafts from people who left the team need a new owner. The weekly list makes those orphans visible before they are forgotten for good. Drafts written by people who left the team need a new owner, and the weekly list makes those orphans visible.
Prevent unreviewed content leaking out
Old drafts may contain wrong prices or outdated claims. Keeping them in view reduces the chance one is published accidentally. Old drafts may hold wrong prices or outdated claims, and keeping them in view lowers the chance one is published by accident.
Measure how much work is in progress
The count of drafts shows whether your pipeline is healthy. A growing list suggests bottlenecks in review or planning that deserve attention. A growing count of drafts suggests a bottleneck in review or planning, which is worth knowing before deadlines slip.
How it works
What happens, step by step
Every Monday, ClickRuntime asks Contentful for entries that have never been published.
You get an email listing each one with its creation date, title and content type.
Nothing is changed in Contentful. The list is there for you to decide what to publish or remove.
Before it runs live
- Connect Contentful
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 Contentful steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify
SPACE_ID = "abc123xyz"
@on_trigger
def run(event):
resp = http.get(f"https://api.contentful.com/spaces/{SPACE_ID}/environments/master/entries",
headers={"Authorization": f"Bearer {credentials.secret('CONTENTFUL_CMA_TOKEN')}"},
params={"sys.publishedVersion[exists]": "false", "order": "sys.updatedAt", "limit": 200})
resp.raise_for_status()
lines = []
for e in resp.json()["items"]:
title = next(iter((e["fields"].get("title") or {}).values()), e["sys"]["id"])
lines.append(f"{e['sys']['updatedAt'][:10]} {title} ({e['sys']['contentType']['sys']['id']})")
notify.email_me(f"{len(lines)} Contentful entries never published", "\n".join(lines) or "None")
return {"unpublished": len(lines)}FAQ
Common questions
What counts as a draft?
Can it list only drafts older than a month?
Does it work across several spaces?
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
Tell Slack when a Contentful entry goes live
Each time an entry is published, your channel sees its title and content type straight away.
See how it worksGet an evening digest of entry changes
At the end of each day you get one email listing the entries that were created or edited.
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 “List entries that were never published” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.