Question

Booking redirect event parameters


Hi

 

When using the customer booking redirect page the following information is passed back to the site from calendy

 

https://xxx/calendy/confirmation?assigned_to=Tyrone&event_type_uuid=2a0df5be-9dd2-4258-8da3-ee9a39749230&event_type_name=30%20Minute%20Meeting&event_start_time=2024-05-31T09%3A00%3A00%2B02%3A00&event_end_time=2024-05-31T09%3A30%3A00%2B02%3A00&invitee_uuid=7a64e37d-b7d6-4f11-9e79-ff924f410e5f&invitee_full_name=Tyrone&invitee_email=xxx@xxx.com&answer_1=Ignore&utm_content=12345%7C678910

 

How do you get the event information from the above querystring to actually query the API.

 

Calendy send you the invitee UUID, which is useless without the scheduled event ID, and they send you the event type ID, which again is useless for querying a scheduled event. 

 

I cannot find any method in the API where the passed information can be used to query the invitee or the scheduled event since the critical piece of information (scheduled event ID) is not supplied. 

 

What am I missing? or are you expected to query and get a list of all scheduled events for a time period, then run through every returned event and query the invitees and then match that against the passed invitee UUID? That seems like a ridiculous amount of overhead instead of just supplying the scheduled event id in the data?

 

I am not looking for a webhook solution, I have tried that, and while all the required information is received, it is unreliable. Only 1 in every 5 bookings are sent to the webhook.

 

Thanks

Tyrone.


3 replies

Userlevel 2

hi @Tyrone62118 , are you looking to see scheduled events by passing just invitee email address? 

There is a List Scheduled Event API, where you can pass invitee email as a query parameter without needing to pass scheduled event id. This will return all the scheduled events associated to that invitee email address. Would this help? 

Hi

 

Thanks for the answer.

 

Theoretically yes, but practically no. It seems like a huge workaround and unnecessary load to get something that should just be passed already. Why pass the invitee_uid when its useless by itself?

For context, I am using this for students' booking lessons, using your suggestion, querying on email brings back 100’s of events because it brings back everything that student has booked. This is also paged, so multiple calls to get the full list. If I limit on the date as well, it could bring back max 14 events. I then have to loop through the 14 events and call the  /invitees api and then loop through those results to match the uuid, and then call the api again to get that invitee information just to get the media url for the booking. That is 16 API requests, deserialisation and processing to get the information that could have been done in 1 request if the scheduledevent_uid had just been passed. Its not like they dont have it at that point, since you cannot have an invitee without a scheduled event.

The above would happen per complete student booking, and with potentially 100’s of students booking  a minimum of 1 class a day that is 1000’s of unnecessary api calls, and definitely going to hit rate limiting or just break.

I dont believe that would be a viable solution under load and it seems like a huge oversight not to just pass the required event variable, as this would significantly reduce requests/lookups on their side, if the above method is currently the only way to achieve this.

Anyway, I managed to find the reason why the webhooks were working unreliably, which was due to how the client had set up users and assigned them to event templates. Updating the configuration and changing the webhook user scopes, sorted the webhook issue, so will stick with that for now as it appears to be stable under limited testing.

Thanks

Userlevel 2

@Tyrone62118 Glad to hear that webhook is working.

I have shared your feedback with the team and see what they recommend. 

Reply