Send each rep their daily Outreach task list in Slack
Every weekday morning, each rep gets a Slack message with their Outreach tasks due today, calls first, so they start with a clear plan.
Every weekday at 7:30am, send each of my reps a Slack direct message listing their Outreach tasks due today, so they start the day with a clear plan instead of digging through the task queue. Use a cron trigger scheduled for weekdays only, and run everything in my team's time zone so that both the definition of "due today" and the due times shown in each message line up with the rep's working day.
Start with Outreach List Tasks, filtered to tasks that are still open (not yet completed) and due today. Outreach supports range filtering on the due date, so filter[dueAt] with a range covering the start and end of today works here (the range format is 2024-01-01..2024-01-02). Page through the entire result set using cursor pagination: request page[size] with sort=id and keep following links.next until there is no next link, so a rep with heavy task volume never gets a silently truncated list.
Then call Outreach List Users to pull every user in the org and build a lookup from user id to that person's name and email address. Join each task to its owner through that lookup so every task carries a real name and email rather than a bare id. Note that Outreach has no /me endpoint, so any user resolution is done by listing users and matching on email.
Group the tasks by owner. Within each rep's group, sort the tasks by type in a fixed order: calls first, then emails, then all other action items. Format one line per task showing the prospect name and the time that task is due. At the top of each message, put that rep's total count of tasks due today so they can see their load at a glance before reading the detail.
Send one Slack direct message per rep using Slack Bot. Map each rep to their Slack account with Look Up User by Email using the Outreach email address from the user lookup, then use Send a Message to deliver the digest as a direct message. Skip any rep who has no tasks due today rather than sending them an empty message. If a rep's Outreach email has no matching Slack account, skip that rep and continue, so one unmatched user does not block everyone else's sends.
Build this as a code workflow. Every step is deterministic: fetch a filtered list, join it to users, group by owner, sort by a fixed type order, format the message, and send. There is no judgement call and no step whose shape depends on what the previous step found.
What does this prompt do?
- Runs automatically every weekday at 7:30am and pulls every Outreach task that is due that day and not yet done
- Groups the tasks by the rep who owns them, matching each task to that person's name and email address
- Sends each rep a private Slack message with their tasks ordered calls first, then emails, then other action items, showing the prospect name and due time on every line
- Puts a total count at the top so a rep can see their whole load at a glance, and skips anyone with nothing due instead of sending an empty message
What do I need to use this?
- An Outreach account with permission to view tasks and users across the reps you want covered
- A Slack workspace where our bot is installed and allowed to send direct messages
- Reps whose Outreach email address matches their Slack email address, so each list reaches the right person
How can I customize it?
- Change the send time or which days it runs, for example 7am sharp or including weekends for teams that work Saturdays
- Send one grouped digest to a shared team channel instead of a private message to each rep
- Adjust which tasks are included, for example calls only, or trim very long lists to the top items for reps carrying heavy task volume
FAQs
What happens if a rep has nothing due today?
How does it know which Slack person to message?
Will reps be able to see each other's tasks?
Can I run this for just part of the team?
What time zone are the due times shown in?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop making reps dig through the task queue.
Set this up once and every rep starts the day with their Outreach tasks already sorted, counted, and waiting in Slack.