On a schedule
Post each person's open tasks every morning
Your team channel starts the day with a list of open tasks grouped by who owns them.
- Runs
- On a schedule
- Apps
- Discord
- AI
- Not needed
- Access
- Send Messages
Send this to your assistant
Create a ClickRuntime automation: each weekday at 9am, post to #team on my Discord the open tasks from my list, grouped by assignee.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A volunteer team, small agency or study group tracks tasks in a shared list, and every Monday someone asks who was supposed to do what. The list exists, but nobody opens it, and items slip because the owner never saw the reminder. Chasing people individually feels like nagging, while a general announcement gets ignored because it does not mention anyone by name.
Each morning the automation reads the task list you keep stored, groups open items by the person responsible and posts one message to the channel. Each person sees their own items listed under their name, so the post works as a personal to-do list and a public status board at the same time.
Small teams, clubs and event crews that coordinate in Discord rather than a project tracker will find it most useful.
What you get out of it
Everyone sees their own list
Grouping by person means each member can find their items in seconds. A reminder with your name on it is much harder to ignore than a general nudge, and it saves people from searching a long thread for their tasks.
Gentle accountability without nagging
The post is the same every day and addressed to nobody in particular, so it applies pressure without anyone having to play the bad guy. People respond to a visible list far more readily than to a private message from a lead.
Stalled items become visible
When an item appears under the same name day after day, the team notices. That prompts a conversation about whether it needs help or should be reassigned, instead of the task quietly rotting until the deadline arrives.
Meetings start from a clear list
A shared record of open items means the weekly call starts with the status already known. The group skips the first fifteen minutes of working out who is doing what and goes straight to the decisions that need people.
No new tool to adopt
The team keeps using Discord, where they already spend their time, instead of being asked to check yet another dashboard that most people forget. A habit that fits into existing behavior is far more likely to survive.
How it works
What happens, step by step
Every morning, ClickRuntime reads your saved list of open tasks.
It groups the tasks by the person they belong to.
A message is posted to your Discord team channel listing each person's open tasks.
Before it runs live
- Connect Discord
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 Discord steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, http, credentials
TEAM_CHANNEL = "TEAM_CHANNEL_ID"
TASKS_URL = "https://tasks.example.com/api/open" # your list's JSON export
def discord(method, path, **kw):
r = http.request(method, f"https://discord.com/api/v10{path}",
headers={"Authorization": f"Bot {credentials.secret('DISCORD_BOT_TOKEN')}"}, **kw)
r.raise_for_status()
return r.json() if r.content else None
@on_trigger
def run(event):
tasks = http.get(TASKS_URL).json()
by_person = {}
for t in tasks:
by_person.setdefault(t.get("assignee") or "Unassigned", []).append(t["title"])
lines = [f"**{who}** ({len(items)})\n" + "\n".join(f"• {i}" for i in items) for who, items in sorted(by_person.items())]
discord("POST", f"/channels/{TEAM_CHANNEL}/messages", json={"content": "\n\n".join(lines)[:2000] or "No open tasks."})
return {"open": len(tasks)}FAQ
Common questions
Where does the task list come from?
What happens when someone has no open items?
Can the post tag people so they get a notification?
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 told when an item is back in stock
Your server hears the moment a product page changes, like a sold-out item coming back.
See how it worksPost a weekly announcement in Discord
The same reminder goes out on time every week without anyone remembering to post it.
See how it worksClear out old messages every night
Busy channels like bot logs stay short, with messages older than a week removed.
See how it worksKeep exploring
Set up “Post each person's open tasks every morning” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.