See which Calendly meetings actually turned into revenue
A dashboard that lines up every booking from the last 90 days with the HubSpot deals it created, so you can see which meeting types actually pay.
Build me a meeting-to-pipeline dashboard that shows which Calendly bookings actually turned into revenue. The audience is a sales leader who wants to open one screen and see, without exporting anything, which meeting types and which hosts produce deals.
The main screen is a table of every meeting from the last 90 days. Pull the meetings with the Calendly List Scheduled Events operation, then for each event pull its attendees with List Event Invitees. Each row is one invitee and shows the meeting date, the event type, the host, the invitee name and email, the deal stage, and the deal amount.
For each invitee email, a server-side handler looks the person up in HubSpot with Search Contacts, and when there is a match it pulls that contact's associated deals with Search Deals. When an invitee has more than one deal, show the most recently updated deal in the table row and list all of them in the detail panel. When Search Contacts returns no match, keep the row and mark it "Unattributed" rather than hiding it. Those gaps are the point of the app: they show where meetings are being booked with people who never made it into the CRM, and quietly dropping them would make every conversion number look better than it really is.
Above the table, a summary strip groups the same data two ways, by event type and by host. Use the Calendly List Event Types operation for the event type names and List Organization Memberships for the host list, so groups with zero bookings in the window still appear instead of silently vanishing. For each group show meetings booked, meetings that produced a deal, pipeline value created as the sum of deal amounts, and closed-won rate. The goal is that a leader can glance at it and see something like discovery calls converting at 30 percent while webinar follow-ups convert at 4 percent.
Clicking a row opens a detail panel for that invitee. It shows their booking form answers from the Calendly invitee record next to their full deal history from HubSpot: every associated deal with its stage, amount, close date, and last activity. At the bottom, put a box to log an outcome note. Submitting it writes back with the HubSpot Create Note operation, associated to the deal the note is about. If the invitee has several deals, let the user pick which deal the note attaches to. If the invitee is unattributed there is no deal to associate the note with, so disable the box and say why rather than hiding it.
Give the table and the summary strip one shared set of filters: date range defaulting to the last 90 days, event type, and host. The filters apply to both, so the summary always describes exactly what is in the table below it.
A few practical notes. Ninety days of meetings can be a lot of records, so page through the Calendly list results fully rather than stopping at the first page. Dedupe invitee emails before hitting HubSpot so a repeat attendee is looked up once per refresh instead of once per meeting. HubSpot search is rate limited, so pace the lookups and show a loading state while the dashboard assembles. Cache the assembled result per user so reopening the app is fast, and give the user a visible refresh control to rebuild it on demand.
What does this prompt do?
- Lists every meeting booked in the last 90 days with its event type, host, invitee, deal stage, and deal amount on a single row.
- Groups the same meetings by event type and by host, showing meetings booked, meetings that produced a deal, pipeline value created, and closed-won rate.
- Keeps invitees with no CRM record visible as unattributed instead of hiding them, so you can see exactly where meeting data is leaking.
- Opens any meeting to show the booking form answers next to the full deal history, with a box to log an outcome note straight back to the deal.
What do I need to use this?
- A Calendly account you use to book meetings.
- Admin access to your Calendly organization if you want to see the whole team's meetings rather than just your own.
- A HubSpot account where your contacts and deals live.
- Meetings and deals that share an email address, since that is how the two get matched.
How can I customize it?
- Change the reporting window from the default 90 days to a month, a quarter, or a custom range.
- Narrow the dashboard to the event types that matter, such as demos and discovery calls, and leave internal meetings out.
- Decide which deal stages count as closed won, so the conversion rate matches how your team already reports.
FAQs
What happens to people who booked a meeting but are not in my CRM?
One invitee has several deals. Which one shows up?
Does this change anything in my Calendly or HubSpot data?
Will this work on a free HubSpot account?
Can I see the whole team's meetings or only my own?
Related templates
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.
Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.
Open one board each morning to see which of your accounts are hiring, what they are building, and where your product fits the roles they just opened.
Open a live deal, see the market pay range for that role and city, set your markup, and write the agreed numbers straight back onto the deal.
Work every unanswered Instagram comment, Reel reply and Direct message from one queue, with claimed rows so two people never answer the same person.
Stop guessing which meetings turn into revenue.
Put your bookings and your pipeline on one screen and find out which meeting types are worth the calendar space.