Using Calendly in snippets
Copy templates to use them anywhere:
Calendly is a scheduling automation platform that allows for more simple meeting booking. Calendly integrates with your existing calendar, like Google Calendar, and allows for people to create appointments or meetings with you through a link.
Calendly allows for the creation of many different types of meetings, varying by things like length, location, or questions asked beforehand. There is quite a lot of flexibility with the options related to your event types, such as when the earliest someone can book time with you might be, during what hours you’re available, and how attendees are reminded about their event with you.
Using Text Blaze’s {urlload} command with Calendly enables you to directly interact with Calendly and your meetings booked through Calendly. Here’s a few examples of what’s possible.
See it in action
Note: These snippets are using a sample Calendly user we've created. When copying these snippets to your Text Blaze account, update the personal_access_token variable to use yours. Here is Calendly's instructions to retrieve your personal access token
Generate a one-time scheduling link
Calendly supports single-use scheduling links, which only allow for a single event to be booked under a specific type of event. These are helpful for keeping access to your calendar more limited than linking to the general sign-up page for an event type.
These two snippets enable you to uniquely generate these single-use scheduling links through your Text Blaze keyboard shortcuts. The first allows you to select which Calendly event type you’d like to generate the link for. The second simply generates a link for a specific event type.
Selecting a specific event type
Note: The available meeting types are pulled directly from your Calendly account. Calendly refers to these as “event slugs” and can be used in the following example as well.
{note: trim=yes} {if: contains(event_slugs, "Error")}Loading Calendly event types...{else}Select the meeting type: {formmenu: default=; values={=event_slugs}; name=eventtype}{endif: trim=yes} {personal_access_token="eyJraWQiOiIxY2UxZTEzNjE3ZGNmNzY2YjNjZWJjY2Y4ZGM1YmFmYThhNjVlNjg0MDIzZjdjMzJiZTgzNDliMjM4MDEzNWI0IiwidHlwIjoiUEFUIiwiYWxnIjoiRVMyNTYifQ.eyJpc3MiOiJodHRwczovL2F1dGguY2FsZW5kbHkuY29tIiwiaWF0IjoxNjc0MjM5NzgwLCJqdGkiOiI3ODU3ZjAxMi03NWM1LTQ4OGEtODk1Mi04NjY2MDJlY2M1YjAiLCJ1c2VyX3V1aWQiOiIzZmJhY2FiMC04ZmZiLTQ4ZTUtYTBkOC1mN2I2MjJjNGEzZDcifQ.GsnusYNeT0OYngNvJpIigkjJuu7c1p6H0-cZQ7RwD3Qq9Iq5V2N9DeFDw03_DoKVxAGJ-BrxAkpRyjUK2j_-lw"} {selected_event_slug={=eventtype}} {endnote: trim=yes}{note: preview=no} {booking_url=""} {urlload: https://api.calendly.com/users/me; method=GET; done=(res) -> ["loading":no, "response": catch(fromJSON(res), "???")]; headers=Authorization:Bearer {=personal_access_token}; start=() -> ["loading":yes]} {user_uri=response["resource"]["uri"]}
{urlload: https://api.calendly.com/event_types?user={=user_uri}; method=GET; done=(res) -> ["loading":no, "response2": catch(fromJSON(res), "???")]; headers=Authorization:Bearer {=personal_access_token}; start=() -> ["loading":yes]} {events=response2["collection"]} {event_slugs=merge(map(events, event -> event["slug"]),[""])} {required_event=filter(events, event -> event["slug"] = selected_event_slug)[1]} {event_uri=required_event["uri"]}{endnote: trim=yes} {if: contains(event_slugs, "Error")}Loading...{elseif: eventtype=""}Select an event type to proceed{else: trim=yes} {note: preview=no}{urlload: https://api.calendly.com/scheduling_links?owner={=event_uri}&owner_type="EventType"&max_event_count=1; method=POST; done=(res) -> ["loading":no, "response3": catch(fromJSON(res), "???")]; headers=Authorization:Bearer {=personal_access_token}; start=() -> ["loading":yes]}{booking_url=response3["resource"]["booking_url"]}{endnote}{endif} {if: contains(booking_url, "calendly"); trim=yes} {note}Congratulations, your booking URL is {endnote}{=booking_url}{endif}
Reminder: When copying this snippet to your Text Blaze account, add your Calendly personal access token to the personal_access_token variable.
Generating a link for one specific event type
Note: To change which event type is used to create the one-time link in the second example, change the selected_event_slug variable to the event slug of your choosing. You can use the menu from the first snippet to see the names of all of your various event slugs.
Reminder: When copying this snippet to your Text Blaze account, add your Calendly personal access token to the personal_access_token variable.
Create a Summary of today’s Calendly events
You may have many Calendly events scheduled for any given day. You may want to generate a list of events you have scheduled for the day to use for different things such as documents for your call notes or an email of your activity to your manager.
This snippet will output a list of all of your Calendly meetings scheduled for today. It includes what kind of meeting it is, when the meeting will happen, and the questions & answers the scheduling party completed when creating the event.
Note: Calendly’s API returns event details with the UTC timezone. This snippet will automatically adjust UTC to local time for timezones in the US and Europe. To use this snippet outside of those timezones, update the utcshift variable to how many hours away from UTC time you are.
Reminder: When copying this snippet to your Text Blaze account, add your Calendly personal access token to the personal_access_token variable.
Additional Ideas
Text Blaze’s {urlload} and {urlsend} commands can interact with Calendly’s API in many more ways. Calendly's API documentation is extensive with the only limitation being your imagination. Some other things you can do with Text Blaze and the Calendly API include:
- Marking an invitee as a no-show
- Canceling an event automatically
- Interacting with Calendly’s Routing Forms
- Listing suggested meetings times based on availability in Calendly
- Lots more!