Daily Gusto time off approval digest to Slack

By General Input

Every weekday at 8am, post a digest of pending time off requests to Slack, grouped by manager with coverage gap alerts, so approvals happen before standup.

Integrations

  • Gusto
  • Slack Bot

Type

Agentic Task

Categories

  • HR & People
  • Operations

Every weekday at 8am, sweep Gusto for pending time off requests and post a digest to the #people Slack channel so managers see what needs their approval before their morning meetings.

Step 1. Use Gusto's List Time Off Requests operation, filtered to status=pending, to pull every request still awaiting a decision. If there are none, post a short 'no pending time off requests today' note and stop.

Step 2. Use Gusto's List Employees operation to enrich each requester with their job title, department, and manager. Use Gusto's List Departments operation to resolve department names when the employee response only carries department UUIDs. Cache the employee list once and reuse it — do not refetch per request.

Step 3. Also load approved time off requests that overlap the pending dates so you can spot coverage gaps. For each pending request, check whether any teammate on the same department or under the same manager is already approved off on any of the same days.

Step 4. Group the digest by manager. Within each manager's block, list each pending request with: requester name and job title, department, request dates (start–end), policy type (vacation, sick, etc.), total duration in days or hours, and any coverage overlap noted inline (e.g. 'heads up: Alex Rivera on the same team is already approved off Jul 15–17').

Step 5. Use Slack Bot's Send a Message operation to post to the #people channel. Tag each manager at the top of their block using Slack mentions so they get pinged. Format the message with Slack mrkdwn — use *bold* for names, and put dates and policy type on the same line for scannability. Keep the message tight; if the queue is huge, prefer one message with clear sections over multiple messages.

Nuance: managers in Gusto are identified by employee UUID. Resolve the manager's name from the same List Employees payload. If a requester has no assigned manager, put them under an 'Unassigned' block at the bottom of the digest. Never expose compensation or SSN fields in the message.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them