Currently, Calendly lacks a direct, streamlined method for exporting all client data. However, you can achieve this by downloading a CSV file through the following steps:
async function getCalendlyContacts() {
const url = 'https://calendly.com/api/dashboard/contacts/?contact[favorite]=false';
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
if (data && data.contacts && Array.isArray(data.contacts)) {
let outputText = '';
data.contacts.forEach(contact => {
if (contact.email && contact.name) {
outputText += `${contact.name}, ${contact.email}\n`;
}
});
downloadContacts(outputText, 'contacts.csv');
} else {
console.error('Invalid JSON structure or missing contacts.');
}
} catch (error) {
console.error('Error fetching or processing data:', error);
}
}
function downloadContacts(text, filename) {
const element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
getCalendlyContacts();
It’s important to understand that this code is susceptible to breakage if Calendly updates its underlying syntax.
Breely makes it simple to import and organize your contacts, keeping them connected to every part of your business. Build automations that save time, generate reports with real insights, and seamlessly tie contact data into bookings, forms, and payments — all in one platform built to grow with you.
Start for Free