intermediate1 hour3 min read

How to post a daily Slack leaderboard of rep activity from HubSpot

Post a daily ranked rep activity leaderboard from HubSpot to Slack. Compare n8n, Zapier, Make, code, and Claude Code side by side.

How to post a daily Slack leaderboard of rep activity from HubSpot

This recipe includes a downloadable n8n template and Claude Code skill.

Workflow

Daily schedule
Pull rep activities
Rank reps by metrics
Post leaderboard to Slack

Why daily leaderboards?

Sales managers typically review rep activity in weekly 1:1s — but by then, a slow week is already lost. If a rep makes 3 calls on Monday and you don't see it until Friday, four coaching days have passed. Meanwhile, reps who are crushing it get no recognition until the next all-hands.

A daily Slack leaderboard closes this feedback loop. Reps see where they stand every morning, which creates healthy competition and self-correction. Managers spot low-activity days in real time and can offer support before a pattern develops. Teams that implement daily activity visibility typically see a 15-25% increase in outbound activity within the first month — not because reps are pressured, but because nobody wants to be last on the board.

The automation itself takes 20-60 minutes to set up depending on your approach, and saves 15-20 minutes per day of manual CRM reporting.

What you'll get
#sales-team
Leaderboard Botapp9:41 AM

🏆 Daily Rep Activity Leaderboard

Yesterday — Mar 3, 2026

🥇 Sarah K. — 14 calls, 22 emails, 3 meetings

🥈 James R. — 12 calls, 18 emails, 2 meetings

🥉 Maria L. — 10 calls, 25 emails, 2 meetings

4. David P. — 8 calls, 15 emails, 1 meeting

5. Alex T. — 6 calls, 12 emails, 1 meeting

Team Total: 50 calls, 92 emails, 9 meetings

How it works

Regardless of which tool you use, every approach follows the same pattern:

  1. Trigger on schedule — fire every weekday morning at a set time (typically 8-9 AM local) so the leaderboard is waiting when reps open Slack.
  2. Pull yesterday's activities — search HubSpot's engagement objects (calls, emails, meetings) filtered to yesterday's date range using hs_timestamp. Map each engagement to its owner.
  3. Rank reps — aggregate per-rep counts across all activity types, sort by total descending, and assign medal emojis to the top 3.
  4. Post to Slack — send a formatted Block Kit message with the ranked list, per-rep breakdowns, and team totals.

The approaches below differ in setup complexity, cost, and flexibility. Some let you iterate on the leaderboard format conversationally, others run unattended.

What you'll need

Prerequisites
  • HubSpot account with API access (including engagement/activity scopes)
  • Slack workspace with bot access
  • A list of rep HubSpot owner IDs

Which approach should I use?

  • n8n (Recommended) — visual workflow with a Code node for ranking logic. Self-hostable for free, scheduled execution, parallel API calls for speed. Best for ops teams who want a visual builder with full control.
  • Zapier — requires Professional plan ($30/mo) for Webhooks and Code steps. Best for teams already on Zapier who want a managed solution without self-hosting.
  • Make — visual scenario builder, cheaper than Zapier at scale. Requires Core plan ($29/mo) for the Code module needed for ranking. Best for teams already using Make.
  • Code + Cron — Python or Node script scheduled via cron or GitHub Actions. Zero ongoing cost, full customization. Best for engineering teams who want version-controlled logic.
  • Claude Code — a guided Claude Code skill with workflow guidelines and API references. Ask Claude to generate a leaderboard, filter by team, or adjust the ranking formula conversationally. Best for teams already using Claude Code who want on-demand flexibility alongside scheduled runs.

Choose your approach

Select an approach below to see the full step-by-step guide.

Compare approaches

n8n

medium
Cost: $0-24/mo
Latency: polling
Code: low
Reliability: 24/7 cloud

Zapier

medium
Cost: $20-50/mo
Latency: real-time
Code: none
Reliability: 24/7 cloud

Make

medium
Cost: $10-29/mo
Latency: polling
Code: none
Reliability: 24/7 cloud

Code + Cron

medium
Cost: $0
Latency: real-time
Code: high
Reliability: Self-hosted

Claude Code

low
Cost: Usage-based
Latency: on-demand
Code: none
Reliability: On demand

n8n

medium

Schedule → HubSpot Engagements API → Code to rank reps → Slack Block Kit

Downloadable templateView guide

Zapier

medium

Schedule → Webhooks to HubSpot → Code to rank → Slack message

Cost: $20-50/moView guide

Make

medium

Scheduler → HubSpot HTTP → Aggregators → Slack formatted message

Cost: $10-29/moView guide

Code + Cron

medium

Python script to pull engagements, rank reps, post to Slack

Cost: $0View guide

Claude Code

low

Guided Claude Code skill — ask Claude to generate a leaderboard or analyze rep activity conversationally

Downloadable skillView guide

Related Recipes

Frequently Asked Questions

Looking to scale your AI operations?

We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.