Create powerful apps with Calendly's API

Explore our documentation to start building custom integrations

Integrate to save time and deliver insights

See all the possibilities
use-case-processesAutomate your processes

Automate next steps within your product based on scheduled events

Learn more
use-case-dataEmbed Calendly on your site

Share your availability in an instant by adding Calendly to your favorite tools

Learn more
Data to work iconPut your data to work

Pull your scheduling report to better understand how your team uses meetings

Learn more
use-case-shareShare links from your product

Share your and your team’s meeting links directly from your product

Learn more
Image
Image

"Using the Calendly APIs and associated documentation, we were able to build and launch an integration quickly—an integration that continues to grow in popularity, bringing additional automation capabilities to Calendly."

Shay Howe, SVP Platform Strategy, ActiveCampaign

Image

Copyright Calendly 2025We take the work out of connecting with others so you can accomplish more.Legal
' let ubHtmlStringReplacement = null // Get Data from Usabilla Message and parse it to an object data = JSON.parse(vData) // Get HTML from data object ubHtmlString = data.html // Remove the the last and from the Html string ubHtmlStringSliced = ubHtmlString.substr(0, ubHtmlString.length - 14) // Extract CSS Styled Components into a Variable styledComponentsCssExtract = Array.from(document.styleSheets).map( function(data) { var cssRules = data.cssRules; return Array.from(cssRules).map(function(x) { return x.cssText }).join('\n') } ).join('\n'); // Create Replacement String ubHtmlStringReplacement = ubHtmlStringSliced.concat(ubStylePrefix, styledComponentsCssExtract, ubStyleSuffix) data.html = ubHtmlStringReplacement vData = JSON.stringify(data) realSend.apply(this, arguments) } var realSend = XMLHttpRequest.prototype.send var ub_window = document.getElementById('lightningjs-frame-usabilla_live_feedback').contentWindow ub_window.XMLHttpRequest.prototype.send = sendReplacement if (window.XDomainRequest) { realSend = XDomainRequest.prototype.send ub_window.XDomainRequest.prototype.send = sendReplacement } });