# Calendly team workload board: see who is drowning in meetings

> Open one board every Monday to see each person's meetings, booked hours, and spare capacity, then hand the next booking link to whoever has room.

- Workflow type: app
- Services: Calendly, Slack Bot
- Categories: Operations, HR & People
- Published: 2026-08-16

## What it does

- One row per team member showing their total meetings, total booked hours, average meeting length, and the mix of meeting types they ran that week.
- A team heatmap of which days and hours fill up fastest, so you can shift availability before the crunch instead of after it.
- Automatic flags on anyone past your weekly booked-hours limit, set to 20 hours by default, so overload is visible before it turns into burnout.
- One click from an underloaded person's row generates a fresh one-time booking link you can hand straight to a prospect, and a Share button posts the week's summary to your team channel.

## What you'll need

- A Calendly account on a plan that includes teams, with permission to see your organization's members and their scheduled meetings
- A Calendly plan that supports one-time booking links, if you want to generate booking links from the board
- A Slack workspace, only if you want the Share button to post the weekly summary to a channel

## Prompt

Build me a team scheduling load board that a manager opens every Monday to see who is drowning in meetings and who has room to take more. The data all comes from Calendly, and there is one Slack Bot action for sharing the summary.

The main view is a roster table. On load, pull the organization roster with the Calendly List Organization Memberships operation, then for each member pull that member's bookings for the selected date range with Calendly List Scheduled Events. Pull the catalog of event types once with Calendly List Event Types so each row can break its meetings down by type. Show one row per person with total meetings, total booked hours, average meeting length, and the mix across event types. Sort by booked hours descending by default so the most loaded person sits at the top.

Flag anyone over a weekly booked-hours threshold that I can configure inside the app, defaulting to 20 hours. Persist the threshold so it survives a reload rather than resetting every session. Flagged rows get an obvious visual treatment, and the header carries a count of how many people are currently over the line alongside a count of who has capacity.

Let me switch the whole board between this week, last week, and the trailing four weeks. When the trailing four weeks range is selected, compare each person's weekly average against the threshold rather than the four-week total, so the flag keeps meaning the same thing, and show both the total and the weekly average in the row.

Below the roster, show a heatmap of day of week by hour of day across the whole team, built from the same scheduled events, so I can see which slots fill up fastest and where the quiet periods are. Highlight the hottest cells so it is obvious where to shift availability, and let me hover a cell to see how many meetings land in it.

Clicking a person opens a per-person drill-in that shows exactly what that person is bookable for. Use Calendly List Event Type Hosts to resolve which members host which event types, and for each event type they host show its name and duration alongside its availability rules from Calendly List Event Type Availability Schedules. Also list that person's meetings for the selected range so I can see the detail behind their totals.

From an underloaded person's row, and also from inside their drill-in, I can click to generate a booking link for them using Calendly Create Single-Use Scheduling Link. Let me pick which of their event types the link should be for, then show the resulting URL with a copy button so I can hand it straight to a prospect.

A Share button posts the week's load summary to a team channel using the Slack Bot Send a Message action. Let me pick the channel and preview the message before it goes. The summary should cover per-person booked hours, who is flagged over the threshold, and who has capacity to take more.

Implementation notes. Calendly resource identifiers are full URIs and the UUID is the last path segment, so keep the full URI when passing a user, organization, or event type into another call, and only slice off the last segment when a call specifically wants a bare UUID. List endpoints are cursor paginated through pagination.next_page_token, so page until the token comes back null instead of reading only the first page, otherwise busy people silently lose meetings off their totals. Availability and busy time queries are capped at a 7-day range per request, so the trailing four weeks view has to fetch week by week and aggregate the results. Cache the roster and the event type catalog for the session so switching ranges does not refetch everything from scratch.

## How to customize

- Change the weekly booked-hours limit from the default 20 to whatever your team treats as a full week
- Switch the whole board between this week, last week, and the trailing four weeks
- Choose which Slack channel the Share button posts the weekly load summary to

## FAQ

### Does this change anyone's calendar or availability?

No. The board only reads your team's meetings and availability settings. The only things it writes are the booking link you generate on purpose and the summary you post with the Share button.

### Do I need a paid Calendly plan?

Yes for most of it. Seeing your organization's members and their meetings requires a Calendly plan that includes teams, and generating one-time booking links also requires a paid plan. A solo free account will not have a roster to show.

### Can I look at more than one week at a time?

Yes. You can switch between this week, last week, and the trailing four weeks. On the four-week view each person's weekly average is compared against your limit, so the flags still mean the same thing.

### What counts toward someone's booked hours?

Every meeting scheduled in the range you are viewing, added up by how long each meeting is. That gives you booked hours rather than a raw meeting count, so a day of short calls does not look the same as a day of long ones.

### Do I have to connect Slack?

No. Slack is only used by the Share button. Skip it and the board works exactly the same, you just copy the summary yourself.

Use this prompt in General Input: https://www.generalinput.com/prompts/calendly-team-workload-board-see-who-is-drowning-in-meetings