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.

Deterministic Code
OutreachSlack BotSalesOperationsDaily DigestsNotifications & Alerts
PromptCreate

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?
They are skipped entirely. The workflow only messages reps who actually have tasks due, so nobody starts the morning with an empty digest cluttering their Slack.
How does it know which Slack person to message?
It matches each rep's Outreach email address to the Slack account with the same email. If a rep has no matching Slack account, that person is skipped and everyone else still receives their list.
Will reps be able to see each other's tasks?
No. Each message is a private direct message containing only that rep's own tasks. If you would rather the whole team see the full picture, you can switch it to post one grouped digest in a shared channel.
Can I run this for just part of the team?
Yes. You can narrow it to a specific group of reps rather than everyone in your Outreach org, which is useful if only one team works from the task queue this way.
What time zone are the due times shown in?
You set the time zone when the workflow is set up, so both the 7:30am send and the due times in each message follow your team's working day.

Related templates

Build a credential rotation checklist when someone leaves

When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.

1Password
Rippling
Slack Bot
+1
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Log Agorapulse social conversations to HubSpot contacts

Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.

Agorapulse
HubSpot
Slack Bot
Agentic Task
Clean up HubSpot contacts from your Amazon SES suppression list

Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.

Amazon SES
HubSpot
Slack Bot
Agentic Task
Draft polite follow-ups for emails that never got a reply

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.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Replay failed SQS messages when a bug fix is merged

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.

Amazon SQS
GitHub
Slack Bot
Agentic Task

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.