Daily
Get today's due and overdue tasks by email
Every morning you get one email with what's due today and what's slipped past its date.
- Runs
- Daily
- Apps
- Google Tasks
- AI
- Not needed
- Access
- read (tasks.readonly)
Send this to your assistant
Create a ClickRuntime automation: every weekday at 7am, email me my Google Tasks from all lists that are due today or overdue, skipping completed ones.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Google Tasks is easy to fill and easy to forget. Items pile up across several lists, the due date shows as a small label on a screen you open only when you remember, and the overdue ones turn red on a list you have not looked at in a week. For someone running a team or a small business, the invoice reminder and the call back to a supplier are exactly the tasks that quietly slide.
Each morning your task lists are checked and one email is sent with everything due today plus everything overdue that is not yet completed, grouped by list. Completed tasks are skipped, and the email is short enough to read before you open anything else.
It works well as a start-of-day habit for people who keep their commitments in Tasks but spend the day in email.
What you get out of it
You start the day knowing what is due
Instead of hunting through lists, the email shows today's commitments in one place. It takes a minute to read and sets the day's priorities. You can decide what to drop, delegate or do first before the first meeting pulls you away.
Overdue items cannot hide
A task that slipped last Tuesday appears again until it is done or rescheduled. It is hard to forget something that arrives in your inbox every morning. Sitting in your inbox each day, it becomes harder to ignore than a red label in a side panel.
Fewer dropped follow-ups with customers
Calls back and quote reminders tend to be the first things to slide. Seeing them each morning is cheap protection against a lost deal or an unhappy client. A promised callback that slips by a day can look like indifference to the person waiting.
All lists in one summary
Work, personal and project lists are merged into one message, so a task in a list you rarely open still gets seen when it matters. Nobody should have to open every list just to know what is on fire today.
No new app to check
The summary arrives where you already spend time, so your task system works even when you never open the Tasks panel. Your task system keeps working even on days when you never open the Tasks panel at all.
How it works
What happens, step by step
Every morning, ClickRuntime goes through each of your Google Tasks lists.
It picks out unfinished tasks due today or earlier and marks the ones that are past their date as overdue.
You get one email with each task, the list it's in and its due date, overdue ones first.
Before it runs live
- Connect Google Tasks
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 Google Tasks steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, notify
API = "https://tasks.googleapis.com/tasks/v1"
@on_trigger
def run(event):
headers = {"Authorization": f"Bearer {credentials.connection('google', 'work')}"}
end_of_today = datetime.now(timezone.utc).replace(hour=23, minute=59, second=59).strftime("%Y-%m-%dT%H:%M:%SZ")
today = end_of_today[:10]
lines = []
for lst in http.get(f"{API}/users/@me/lists", headers=headers).json().get("items", []):
tasks = http.get(f"{API}/lists/{lst['id']}/tasks", headers=headers,
params={"dueMax": end_of_today, "showCompleted": "false"}).json().get("items", [])
for t in sorted(tasks, key=lambda t: t["due"]):
tag = "OVERDUE " if t["due"][:10] < today else ""
lines.append(f"{tag}{t['title']} ({lst['title']}, due {t['due'][:10]})")
notify.email_me(f"{len(lines)} tasks due today or overdue", "\n".join(lines) or "Nothing due today.")
return {"tasks": len(lines)}FAQ
Common questions
Does it include tasks without a due date?
Will completed tasks show up?
What time does the email arrive?
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 Friday recap of finished tasks
Each Friday you see everything you marked done over the last seven days.
See how it worksCreate Google Tasks from any tool
Anything your scripts or apps send to a link becomes a task in your list straight away.
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 today's due and overdue tasks by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.