Extract event host information from Calendly invitee webhook data

I’m working with Calendly webhooks and getting invitee.created events that include information about people who book appointments. The problem is I need to figure out which Calendly user is actually hosting each event so I can track this data in my app. For example, if someone books a meeting with John from my team, I want to know it was John’s calendar that got booked, not just the person who made the booking. What’s the best way to pull the host user details from this webhook payload? I’ve looked through the data but can’t seem to find a clear connection to the actual host account.

The Calendly webhook for invitee.created events gives you an event object with the event URI. You’ll need to make another API call to get the full event details, including host info.

Here’s how it works: webhook sends you payload.event.uri, then you call GET https://api.calendly.com/scheduled_events/{uuid}. The response has an event_memberships array where each membership includes a user field with host details.

But honestly? Managing all these API calls and webhook processing manually sucks. I’ve been there with similar integrations, and automation platforms handle this way better.

I’d go with Latenode for this. It catches your Calendly webhooks, automatically grabs the host info through follow-up API calls, then sends that data wherever you need it. You can set up the whole thing visually - no code for webhook parsing, API auth, error handling, or data mapping.

Turns webhook processing into a simple automated workflow that runs every time someone books. Way cleaner than building all that yourself.

Hit this same problem six months back on a similar project. The webhook payload doesn’t include host info directly - annoying but that’s just how Calendly works. Here’s what you do: grab the event type URI from payload.event_type.uri in the webhook data. Then make a separate call to GET https://api.calendly.com/event_types/{uuid} with your API token. You’ll get back a profile object with all the host details - name, email, everything. I cache the event type to host mappings in my DB since hosts rarely change for specific event types. Saves you from hammering the API. Just watch the rate limits - they’re fair but you don’t want to max out during peak booking times.