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
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
See every competitor battlecard next to the number of open deals that name that competitor, so the cards carrying real pipeline get refreshed first.
Score every target account against the buying committee you actually need, see the exact holes, and have an assistant fill them in your CRM.
See open and pending conversations from all your Help Scout inboxes in one queue, sorted so the customers who have waited longest on you come first.
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.