On a schedule
Get today's and overdue Google Tasks in Slack each morning
Each weekday morning Slack shows your Google Tasks due today and anything overdue, with a one-line suggestion for where to start.
- Runs
- On a schedule
- Apps
- Google Tasks, Slack
- AI
- Optional
- Access
- tasks.readonly; chat:write
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8, post my Google Tasks that are due today or overdue to my #my-day channel, with a one-line plan for the day.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Google Tasks does not remind you of anything unless you open it, and most working days start in Slack. Tasks due today get remembered at four in the afternoon, and overdue ones keep sliding.
Managers, freelancers and anyone who keeps a personal task list next to a busy Slack workspace use it to see the day's commitments where they already are.
What you get out of it
Seen where you start the day
The list arrives in Slack before the first message of the day, so it frames the morning instead of getting lost.
Overdue tasks stay visible
Anything past its date is shown separately, so it cannot quietly roll into next week again.
A suggested starting point
A one-line plan picks the task to begin with, which helps on busy days.
Nothing on quiet days
When nothing is due or overdue, no message is posted.
How it works
What happens, step by step
Every weekday at 8, ClickRuntime reads your open Google Tasks that are due today or earlier.
It splits them into due today and overdue. If there are none, nothing is posted.
AI writes one line suggesting where to start.
The list and the suggestion are posted to your Slack channel.
Before it runs live
- Connect Google Tasks
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
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 Google Sheets
- Combine it with other Google Tasks and Slack steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, notify, ai, log
@on_trigger
def run(event):
tasks = build("tasks", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
end = (date.today() + timedelta(days=1)).isoformat() + "T00:00:00.000Z"
items = tasks.tasks().list(tasklist="@default", showCompleted=False, dueMax=end).execute().get("items", [])
if not items:
return {"due": 0}
today = date.today().isoformat()
due = [t["title"] for t in items if t["due"][:10] == today]
late = [f"{t['title']} (due {t['due'][:10]})" for t in items if t["due"][:10] < today]
text = ""
if due:
text += "*Due today*\n" + "\n".join(f"• {t}" for t in due) + "\n"
if late:
text += "*Overdue*\n" + "\n".join(f"• {t}" for t in late) + "\n"
try:
text += "\n" + ai.generate(f"In one short sentence, suggest which task to start with and why:\n{text}",
max_output_tokens=60).text.strip()
except (ai.AINotIncluded, ai.AILimitReached) as e:
log.warning("AI unavailable, posting the plain list", {"code": e.code})
notify.slack(text, channel="#my-day")
return {"due": len(due), "overdue": len(late)}FAQ
Common questions
Can it post to a direct message?
Does it include tasks without a due date?
Is the one-line plan required?
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
Turn requests sent to a link into Google Tasks
Requests sent from a form or another tool become well-titled Google Tasks with a due date, and Slack confirms each one.
See how it worksTick off Google Tasks when a commit finishes them
When you push commits, tasks they finish are marked done in Google Tasks and Slack hears about it.
See how it worksTurn action emails into Google Tasks and flag urgent ones in Slack
Emails asking you to do something become Google Tasks, and the urgent ones also reach you in Slack.
See how it worksKeep exploring
Set up “Get today's and overdue Google Tasks in Slack each morning” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.