Skip to main content

GUIDE: Use Calendly API to Create Single-Use Scheduling Links

 

Tips and Inspiration contributed by: Troy Tessalone - Automation Ace

 

RESOURCES

Calendly API Personal Access Token: https://developer.calendly.com/how-to-authenticate-with-personal-access-tokens

Calendly API Endpoint: https://calendly.stoplight.io/docs/api-docs/b3A6MzQyNTM0OQ-create-single-use-scheduling-link

Webhooks: https://zapier.com/apps/webhook/help

 

CONFIG

  1. Use the Webhooks app
  2. Action Event: Custom Request
  3. Method: POST
  4. In the Data field, replace the huuid] with your Calendly Event UUID
    1. NOTE: You can find this by testing the Calendly Zap trigger for Invitee Created
  5. In the Authorization Header, replace with your uPERSONAL ACCESS TOKEN]

 

 

Hey there! 

I’m trying to use this to achieve a zapier integration that takes spreadsheet rows of availability (i.e., the hours that a volunteer is available) and turns those into individual calendly scheduling links. I believe this zap would accomplish part of that by creating a unique link. However, I am currently running into the “The app returned “Bad Request.”” error.

Do you see anything wrong with this zap? Should I be filling something into Basic Auth – and if so, how should I, given I log into Calendly through Google and don’t have a site password?


Final question – is there a way to post the availabilities to the newly created calendly link, without having to do so manually? 

 

Thanks so much!


Hi @Aanandh Chan 

Make sure there is a comma at the end of the owner row.

It doesn’t appear the Calendly API supports adjusting the availability for events.

Reference the Calendly API docs: https://developer.calendly.com/api-docs/b3A6MzQyNTM0OQ-create-single-use-scheduling-link


Got it. Thank you, Troy!


Thanks for this, Troy. I’ll be putting it to use straight away.


@Troy Tessalone every time I run this it generates the same booking link. I am expecting the link to be unique each time since it’s single use. Am I missing something or misunderstanding how single use link works?


I tried a different Event type to troubleshoot and now it’s working as expected. I will chalk this up to operator error.

I’ve come up with a fun workflow for this that I’ll be sharing soon. Thanks @Troy Tessalone for the inspiration.


Thanks for keeping us updated, @donovanwatts! Excited to hear more about your new workflow! 🤗


Is this no longer applicable?

I cannot find custom request as action event anymore in Webhooks by Zapier.


@SooperFit 

Webhook app Custom Request action is still available.

 


I tried a different Event type to troubleshoot and now it’s working as expected. I will chalk this up to operator error.

I’ve come up with a fun workflow for this that I’ll be sharing soon. Thanks @Troy Tessalone for the inspiration.

Hi there, may you share what do edit for it to share unique one time booking link? Wish to learn from you.


Hi @eugenelawys i’d be happy to try to help you. Is there a particular part that you are struggling with? Let’s start there. For instance, have you successfully identified your Calendly API key? If there is any part of Troy’s instructions that are a stumbling block for you, let us know.


One year later, still super helpful. Thanks @Troy Tessalone 

The only thing that bothers is that the one-time links have a default expiration of 90 days. 

It seems that there is no way to currently alter that.

 

Also, unfortunately, there is no chance to create multiple one-time links. 
Can it always only be 1 for max_event_count?

 

@Scottbro 

You can run the same Zap action multiple times with the Looping app:

 

Calendly API endpoint docs: https://developer.calendly.com/api-docs/4b8195084e287-create-single-use-scheduling-link

 


The looping is not working, because there will be unified steps afterwards.
Just creating these links is not enough, but they have to be sent out in a bundle as well.


@Scottbro 

You’d likely need to use 1 Code step then which can be configured to create multiple links.


@Troy Tessalone thanks for the continuous updates. I’ve made some progress:

  1. I’ve figured out sending a POST to a new Zap catching that Webhook to isolate the unified steps afterwards. The initial Zap stops after generating the links, which makes looping a viable option now. However, only one Loop can be used in a Zap, which is not satisfying enough in my case.
  2. I used the Code step as an If/Else workaround before, but I believe it can only give one output. Are you sure that it’s possible to generate multiple links?

@Scottbro 

The Code step can be configured with custom JavaScript to loop X times to create Calendly single-use links, then push those into an array to be output and pass on to the next steps.


I created an account here just to say thank you for this @Troy Tessalone . It worked exactly as expected! Thank you!


Hello Tory, 

I am sending out an email to 1000+ clients regularly to book a consultation event, and need unique single use links to be Auto Generated instead of manually having to: (1) generate a link, (2) copy & paste 1000+ links.

I went through the thread, and it seems the Zapier configuration allows to create one single use link, and the process has to be repeated for every link (I hope I am wrong).

My workflow / use case:

I am using the native Calendly routing form to enable clients to choose whom they want to meet with, and based on their answer, they would be directed to the right booking page. ​​We need to  limit the booking to a single use (single book) once the routing to the event takes place. If we leave the booking open, customers will spam our calendar with multiple bookings using different booking information, and we really need to limit this. At the moment, we manually share a single-use link with each client, but it is time-consuming.

Thanks a lot.


Hi @Hozaifah 

You may want to consult with Calendly Support to see if there is a better approach or settings that can be adjusted in Calendly.


Thanks Tory. Unfortunately there isn’t. Calenldy sent me your Guide :)


Reply