Skip to main content
ConfigView reads your Calendly organization through Calendly’s API v2, using a personal access token created by one of your organization’s Owners or Admins. You will end up with 1 secret in ConfigView (CALENDLY_API_TOKEN) when setup is complete.
Scope of this integration today. ConfigView reads who is in your Calendly organization and with what role, invitations that are still open, groups and their admins, every meeting type (event type) with its owner and the meeting tools it uses, routing forms, the webhooks that send booking data to other systems, and, on the Enterprise plan, the activity log of who changed what. ConfigView only reads. It never creates, changes or cancels anything, and it never reads bookings, the people who booked, their answers, or anything submitted through a routing form.

Step 1: Open the Calendly page in ConfigView

Open ConfigView in a second browser tab and leave it open: https://{companyname}.configview.com/admin/integrations/calendly Calendly shows the token once, when you create it, so paste it straight into ConfigView instead of keeping it in a notes file.

Step 2: Create a personal access token in Calendly

A personal access token acts as the person who created it. To read the whole organization, that person must be an organization Owner or Admin. A token from a plain User only sees that user’s own data, and ConfigView’s health check fails it.
  1. Sign in to Calendly as an Owner or Admin
  2. Open Integrations & apps → API and webhooks (direct link)
  3. Under Personal access tokens, click Generate new token (or Get a token now if you have none yet)
  4. Name it ConfigView
  5. Tick only these scopes. They are all read-only:
  1. Click Create token, then Copy token
  2. Switch to the ConfigView tab, paste it into CALENDLY_API_TOKEN under Credentials, and click the save icon
You can’t add a scope to a token after it is created. If you missed one, generate a new token and replace the old one in ConfigView.

Which person owns the token

Calendly revokes a personal access token when its owner changes their login email, password or sign-in method, and it stops working if they are removed from the organization. A shared admin account that won’t leave and doesn’t rotate its password is the safest owner. Otherwise, expect to create a new token whenever that person’s sign-in changes.

Plan requirements

When a feature isn’t on your plan, its table stays empty, the health check marks it skipped, and nothing fails.

Step 3: Connect and verify

  1. Back on https://{companyname}.configview.com/admin/integrations/calendly, confirm the credential shows as saved
  2. Click Connect. ConfigView creates its tables and schedules every collector at your default run time. Stop any you don’t want under Collectors:
  1. Click Verify now. The health check confirms the token works, that its owner is an Owner or Admin, then reads one record from each kind of data.
If a check fails:
  • “Calendly token” fails with 401. The token is wrong, or it was revoked because its owner changed their login email, password or sign-in method. Generate a new token (Step 2).
  • “Token owner is an Owner or Admin” fails. The token was created by a User. Have an Owner or Admin create it instead.
  • A check says “token is missing scope …”. That scope wasn’t ticked when the token was created. Generate a new token with every scope in Step 2.
  • “Groups” or “Activity log” is skipped with “upgrade … to Enterprise”. Those are Enterprise features. Everything else still works.
  • “Webhooks” is skipped. Webhooks aren’t on your plan. The table stays empty.

Data Tables

Once the scripts run, these tables are created in your database. Each includes a run_at column. Every table keeps only the newest run, except calendly_activity_log, which keeps every entry ever collected.

Things worth knowing

Calendly doesn’t report sign-ins on members. There is no last-login or last-active time for a member in Calendly’s API, so ConfigView can’t tell you who stopped using Calendly. Comparing members against Okta or Google Workspace finds the leavers instead. Webhooks are found at three levels. Organization-wide webhooks receive every booking in the company; group webhooks receive a group’s bookings; personal webhooks receive one person’s. ConfigView lists all three. If Calendly won’t show an Admin the personal webhooks of other users, those are skipped and the rest are still collected. Webhook destinations are stored as hosts. callback_host is the host booking data is sent to, never the full URL, which can carry a token. The signing key is never read. Event types keep their meeting tool, not the meeting. location_kinds lists the kinds of location an event type offers (zoom_conference, google_conference, microsoft_teams_conference, webex_conference, gotomeeting_conference, physical, outbound_call and so on). Addresses, phone numbers, meeting links, descriptions, internal notes and the wording of booking questions are dropped. The activity log is incremental. The first run reads up to a year back. Each later run reads from the newest stored entry, and entries are never deleted from the table. Each entry’s details are kept with any field that could hold booking or invitee content removed. Rate limits. Calendly allows 500 requests a minute per user on paid plans (50 on Free), and the token shares that with everything else its owner uses. ConfigView paces itself at 120 a minute, slows down further if Calendly reports a lower limit, and waits for the reset when it is nearly used up.

What isn’t collected

  • The personal access token, webhook signing keys, or any other credential
  • Scheduled events, invitees (names, emails, answers to booking questions), no-shows and cancellations
  • Routing form submissions and contacts
  • Meeting recaps and transcripts from Calendly Notetaker
  • Event type descriptions, internal notes, meeting links, addresses and phone numbers
  • Full webhook URLs (only the host)
  • Connected calendars and other apps a member has linked to their own Calendly account: Calendly’s API has no list of them