packages/embeds/embed-core/routing-playground.html
Routing Form - Prerender Headless Router itself queuing the form response NOTE: Pass query param param.formId=FORM_UID_HERE to test with a particular routing form. Easiest is to run seed-insights.ts script to create a seeded form and then use the form id here.
As page is loading, we prerender the headless router for the email passed as param.email
Whenever email changes and onblur happens, the prerender is triggered for the new email and previous prerendered modal is removed
The prerender of the headless router queues the form response and doesn't really record it. When the actual booking is made, the form response is recorded from the queue
If the CTA click happens before the slots are considered stale(configurable via options.slotsStaleTimeMs), then it will open the prerendered modal without fetching the slots, otherwise it will fetch the slots(for the routedTeamMembers/contactOwner only) and till then skeleton will be shown
If the CTA click happens after iframeForceReloadThresholdMs has passed, then fresh headless router request is sent which could be really slow. It is important to do force reload after a certain time because the Routing Form itself could have changed in the meantime or Salesforce ownership might be available or some other change might have occurred in Cal.com's side
slotsStaleTimeMs is set to 10 seconds(default is 1 minute) and iframeForceReloadThresholdMs is set to 30 seconds(default is 15 minutes) and they are considered from the time when the prerender/modal call was made
To avoid reaching the iframeForceReloadThresholdMs, user could prerender the router again and again judiciously
You can disable prerendering by passing the query param param.disablePrerender=true
Name
SkillsSelect a skillJavaScriptReactNode.jsPythonSales
LocationSelect a locationNew YorkLondonTokyoBerlinRemote Submit