On a schedule
Get your overdue Outreach tasks each morning
Every weekday at 8am I get an email of my Outreach tasks that are due or overdue, grouped by type.
- Runs
- On a schedule
- Apps
- Outreach
- AI
- Not needed
- Access
- tasks.read
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8am, email me my incomplete Outreach tasks that are due today or overdue, grouped by call, email and other.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
An Outreach user's day is built around tasks: call this prospect, send that manual email, follow up on a LinkedIn message. Tasks that are not done on their due date do not go away, they stack up behind the new ones, and a rep who had five overdue tasks on Monday has twenty by Friday. Prospects who were promised a call are left waiting, and sequences stall because the manual step in the middle never happened.
Each morning, Outreach is queried for tasks that are not yet complete and whose due time has passed. They are grouped by type (call, email, LinkedIn, manual) and emailed to you in one list, with the prospect's name, how overdue each task is and a link, so the day can start with the backlog.
It suits individual reps who want a clear start to the day and managers who want their team to keep up.
What you get out of it
Promised follow-ups happen
A prospect who was told to expect a call on Tuesday gets it on Wednesday and not never. Keeping promises is what builds trust in sales. That reliability is what keeps a pipeline healthy over the long term, and it protects your reputation.
Stalled sequences restart
Many sequences wait on a manual task before the next step. Clearing overdue ones lets the sequence continue and stops prospects from falling through the cracks. That keeps your outreach consistent and avoids the quiet failure of sequences that stop halfway through.
The backlog is visible, not a guilty feeling
Seeing exactly how many tasks are overdue, and which kinds, replaces vague worry with a number you can reduce. People find a finite list easier to start on. Starting with a single, clear list also makes the first hour of work more focused and productive.
Grouping saves time
Doing all the overdue calls in one block, then the emails, is quicker than switching between types of work. The list is organized to make that easy. Batching like this is a simple way to finish more tasks in the same amount of time.
Managers can coach with facts
A rep who regularly has many overdue tasks may have too many prospects or too little time. Concrete lists make that conversation straightforward and fair. That makes workload and capacity problems visible early, before results slip.
How it works
What happens, step by step
Every weekday at 8am, ClickRuntime looks up your unfinished Outreach tasks that are due now or overdue.
It groups them by type, such as calls and emails.
You get one email with each group and every task's due date and description.
Before it runs live
- Connect Outreach
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 Outreach steps into one automation
Under the hood
The code that runs this automation
from collections import defaultdict
from datetime import datetime, timezone
from clickruntime import on_trigger, credentials, http, notify
MY_USER_ID = 42
@on_trigger
def run(event):
end_of_today = datetime.now(timezone.utc).replace(hour=23, minute=59, second=59).strftime("%Y-%m-%dT%H:%M:%SZ")
resp = http.get("https://api.outreach.io/api/v2/tasks",
headers={"Authorization": f"Bearer {credentials.connection('outreach', 'work')}"},
params={"filter[state]": "incomplete", "filter[owner][id]": MY_USER_ID,
"filter[dueAt]": f"neg_inf..{end_of_today}", "page[size]": 100, "sort": "dueAt"})
resp.raise_for_status()
groups = defaultdict(list)
for t in resp.json()["data"]:
a = t["attributes"]
kind = {"call": "Calls", "email": "Emails"}.get(a.get("taskType"), "Other")
groups[kind].append(f" {a['dueAt'][:10]} {a.get('action') or ''} {(a.get('note') or '')[:80]}".rstrip())
text = "\n\n".join(f"{k} ({len(v)})\n" + "\n".join(v) for k, v in groups.items())
notify.email_me("Outreach tasks due today or overdue", text or "Nothing due.")
return {k: len(v) for k, v in groups.items()}FAQ
Common questions
Which tasks count as overdue?
Does it include tasks assigned to other people?
Can I get the list only on weekdays?
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
Post new Outreach prospects to Slack
As soon as a prospect is created in Outreach, #sdr-team sees their name, company and owner.
See how it worksAnnounce new Outreach opportunities in Slack
Whenever an opportunity is created in Outreach, the team hears about it in Slack 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 your overdue Outreach tasks each morning” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
