Skip to main content

Hi folks,

I’ve just added a Calendly Routing Form to our commercial web site. Love it so far… except that I need to notify my sales team every time a form is submitted -- even if an event isn’t booked.

In our Routing Form we ask: “What’s on your mind?” and the radio button choices are “I’d like to schedule a demo”, “Please contact me via email” and “Please call me”.  When the second two are chosen, I’ve configured the routing so the user just sees a message of “thanks we’ll be in touch”. i need to notify my sales team so we can be in touch!

I don’t see any actions in Routing or in the Event to email a team.

Thanks in advance,

g

Hey there @Galen - great question, and thanks for posting! You might want to check out our New User Guide and Company Admin Guide - it’ll help as you learn your way around Calendly!

There is currently no way to set it up so that Calendly notifies your teammates via email when a lead visits your routing form but does not book. There are workarounds via third party integrations, though! 

Here is something I pulled from our Routing Forms FAQs! The third bullet point addresses your question, but the two points above it have relevant info that it refers to - so I included it all. You can read the entirety of these FAQs below, as well. 

  • Q: I have routing rules already set up outside of Calendly via SF assignment rules, LeanData, Distribution Engine, etc. Can Calendly read that logic so I don’t have to rebuild it in Calendly? A: No, you must rebuild the same rules in Calendly’s routing logic builder. Calendly also cannot read who the assigned rep should be as a result of these external rules in real time, as these rules can take minutes to produce a result for who the lead should be assigned to, but Calendly would need that information to be in Salesforce already at the time the form is submitted in order to route to the SF owner’s booking page.
  • Q: I have routing rules already set up outside of Calendly via LeanData. How can I make sure LeanData doesn’t override Calendly’s routing assignment? A: All of the leads created by Calendly (as part of our installed package) in Salesforce have a checkbox called “CalendlyCreated.” So the user would just need to update the routing entry node to exclude leads with that checkbox.
  • Q: What happens if a lead fills out a form and doesn’t book? How can that lead still be routed to an assigned owner so a rep can follow-up? A: Calendly has no way of passing to Salesforce who the assigned owner should be – as defined by our routing logic – unless a meeting is booked. In that case the customer would need to rely on external routing logic such as SF native assignment rules, Distribution Engine or LeanData to route that lead to an assigned owner. They would need to also set up an exclusion rule to not execute that logic if a lead did book a Calendly meeting. See explanations above about avoiding “overrides” in the logic.

FAQs (complete - click link to expand): 

FAQs:

  1. Question: Do routing forms have a direct link like a booking page? An invitee only sees a routing form when a user provides them with their routing link - not their event type or scheduling link. An event type or scheduling link will still take an invitee directly to the respective event type or scheduling pages.

    sharelink.gif​​​​​

  2. Question: Can routing forms be embedded like booking pages? Yes! Much like a user can embed their scheduling link, a user can also embed a routing form to their web page. Users can even customize the background color, text color, and button and link color of their routing page embed.

    embedroute.gif

     

  3. Question: What question types can be used to route an invitee? Currently, users can only route visitors using dropdown menus or radio buttons.
  4. Question: Can users automatically route invitees by location or 'Geo-routing?' No. Currently, users can only route visitors using conditional questions set in their routing form. As a workaround, users could consider creating a drop-down question to ask invitees to choose from a list of locations/regions.
  5. Question: What is the maximum number of questions a routing form can have? 50.
  6. Question: What subscription will a user need to use routing forms with Calendly? professional and up for routing forms, and Teams & Enterprise for Advanced routing.
  7. Question: Can users route visitors to meeting polls, single-use, or one-off events? No. Users can route visitors to all other event types, however.
  8. Question: Who can edit or create routing forms within an organization? Only Owners and Admins can edit or create routing forms within a Calendly organization.
  9. Question: Who can share routing forms within an organization? Users, Admins, and Owners can share routing forms with visitors.
  10. Question: Who can see the name of a routing form? The name of a routing form is only visible internally. However, users can use Headline and Description for user-facing identifiers.
  11. Can Calendly push data captured from a routing form to a spreadsheet via Zapier? At this time, Calendly does not push data captured via routing form submissions to Zapier.
  12. Q: I have routing rules already set up outside of Calendly via SF assignment rules, LeanData, Distribution Engine, etc. Can Calendly read that logic so I don’t have to rebuild it in Calendly? A: No, you must rebuild the same rules in Calendly’s routing logic builder. Calendly also cannot read who the assigned rep should be as a result of these external rules in real time, as these rules can take minutes to produce a result for who the lead should be assigned to, but Calendly would need that information to be in Salesforce already at the time the form is submitted in order to route to the SF owner’s booking page.
  13. Q: I have routing rules already set up outside of Calendly via LeanData. How can I make sure LeanData doesn’t override Calendly’s routing assignment? A: All of the leads created by Calendly (as part of our installed package) in Salesforce have a checkbox called “CalendlyCreated.” So the user would just need to update the routing entry node to exclude leads with that checkbox.
  14. Q: What happens if a lead fills out a form and doesn’t book? How can that lead still be routed to an assigned owner so a rep can follow-up? A: Calendly has no way of passing to Salesforce who the assigned owner should be as defined by our routing logic – unless a meeting is booked. In that case the customer would need to rely on external routing logic such as SF native assignment rules, Distribution Engine or LeanData to route that lead to an assigned owner. They would need to also set up an exclusion rule to not execute that logic if a lead did book a Calendly meeting. See explanations above about avoiding “overrides” in the logic.
  15. Q: If someone uses a Calendly Routing form, but one of the possible outcomes is to send to an External URL. Can we continue passing the UTM and tracking data to the external URL path so the client can follow the entire experience of the website visitor? A: Yes, see video: https://www.loom.com/share/2eab7b0714ba428db3779c0f6207c65e

You can read more about Calendly Routing Forms here. You can also read about our other solutions via Salesforce, Hubspot and more there and via other Help Center articles. Lastly, these Community Articles are full of helpful info: 

I hope this helps!

 

 


Hi Kelsi, thanks for trying! It’s very important for us to know when a form is submitted -  after all Routing allows the user to finish in many ways that aren’t events.

So I got it working with webhooks.

In case anyone else has this challenge, here are my notes.

 

Steps

  1. Follow instructions at Receive data from scheduled events in real time with webhook subscriptions

Subscribing to the routing_form_submission.created event will fire anytime someone submits a routing form, whether they book or not.

NOTE: The only allowed subscription scope for Routing form submissions is organization.

If you’re an owner or admin, the personal access token you generate will authenticate the POST request with the organization scope if you want to return a response payload for data about all scheduled events for your organization

  1. Follow instructions at How to find the organization or user URI (see also api docs)

// I used Postman, but here's the curl syntax

curl --request GET --url https://api.calendly.com/users/me --header 'authorization: Bearer {access_token}'

I’m an admin, so I didn’t have to bother with OAuth

  1. Create a webhook endpoint (this part doesn’t involve Calendly tech).

I chose IFTTT based on past experience with its reliability. If you have a HubSpot Professional or Enterprise license you can use their webhook endpoint instead. I'd do this but IFTTT is way cheaper (modest IFTTT Pro subscription required) than HubSpot for now.

My IFTTT notes:

What: calendly_routing_form_submission

When: February 11, 2024 at 05:33PM

Extra Data: {"value1":"This","value2":"is a","value3":"test from Postman."}

 

I found it super useful to use Postman to test the IFTTT endpoint so I knew my webhook was working before going to the next step.

 

  1. Create a webhook subscription in Calendly (see also api docs) that points to your new webhook endpoint.

POST https://api.calendly.com/webhook_subscriptions

Here's the body I used for my POST. Note that the 'routing_form_submission.created' event is ONLY fired for the 'organization' scope. Since that's the thing we're trying to get, user scope ain't gonna help.

{

  "url": "https://yourcustomwebhookurl.goeshere",

  "events": "

    "invitee.created",

    "invitee.canceled",

    "invitee_no_show.created",

    "routing_form_submission.created"

  ],

  "organization": "https://api.calendly.com/organizations/YOURIDGOESHERE",

  "scope": "organization",

  "signing_key": "WHATEVERYOUWANTGOESHERE"

}

 

  1. Test, season to taste, and enjoy! 

 

Editors note

I also got this working with Microsoft Power Automate, since we have that license already. Though it took 3x longer to learn than IFTTT, I like it better because a) it keeps the moving parts in the same family, and b) it’s easier to send a Teams message to my team since I’m already inside our corporate subscription, and c) now that I understand Power Automate better, there are a bunch more actions I can take, including parsing the JSON to something more friendly.

 

Summary

Yeah, I really do think that alerts for routing_form_submission.created would be MUCH better as a Calendly notification. However, this solution lets us have ONE user experience for our primary call-to-action on our corporate site. Now back to selling!

 

Thanks!

Galen


Hey @Galen - thank you so much for the thorough breakdown of how you made this work! I am sure it will benefit many other Calendly users, which we LOVE to see here! Peer to peer support is priceless. I am glad the info I provided proved helpful and I hope that your team is back to selling and succeeding! 🙂 Have a great day!