> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agentkit`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Calendly

**Authentication:** OAuth 2.0
**Categories:** Productivity, Calendar, Scheduling
## What you can do

Connect this agent connector to let your agent:

- **Delete webhook subscription, data compliance events, data compliance invitees** — Deletes a Calendly webhook subscription, stopping future event notifications
- **List event type availability schedules, group relationships, groups** — Returns a list of availability schedules for the specified Calendly event type
- **Create invitee no show, organization invitation, share** — Marks a specific invitee as a no-show for a scheduled Calendly event
- **Get sample webhook data, organization membership, organization invitation** — Returns a sample webhook payload for the specified event type, useful for testing webhook integrations
- **Update event type availability schedules, event type** — Updates the availability schedules (rules) for the specified Calendly event type
- **Revoke organization invitation** — Revokes a pending invitation to a Calendly organization

## Authentication

This connector uses **OAuth 2.0**. Scalekit acts as the OAuth client: it redirects your user to Calendly, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a `connectionName` and a user `identifier`.

You supply your Calendly **Connected App** credentials (Client ID + Secret) once per environment in the Scalekit dashboard.

Before calling this connector from your code, create the Calendly connection in **AgentKit** > **Connections** and copy the exact **Connection name** from that connection into your code. The value in code must match the dashboard exactly.

## Set up the connector

Register your Scalekit environment with the Calendly connector so Scalekit handles the OAuth flow and token lifecycle for your users. Follow every step below from start to finish — by the end you will have a working connection.

1. ### Create a Calendly OAuth application

    You need a Calendly OAuth app to get the Client ID and Client Secret that Scalekit will use to authorize your users.

    **Go to the Calendly Developer Portal:**

    - Open [developer.calendly.com](https://developer.calendly.com/) in your browser.
    - Click **Log In** at the top right and sign in with your Calendly account (the same account you use to log in to calendly.com).
    - After signing in, you land on the developer portal home page.

    **Create a new app:**

    - In the top navigation bar, click **My Apps**.
    - Click the **Create New App** button (top right of the page).
    - Fill in the form:

      | Field | What to enter |
      | --- | --- |
      | **App Name** | A recognizable name for your integration, e.g. `My AI Scheduling Agent` |
      | **App Description** | Brief description, e.g. `AI agent for managing scheduling` |
      | **Homepage URL** | Your app's public URL. For testing you can use `https://localhost` |
      | **Grant Type** | Select **Authorization Code** — this is required for OAuth 2.0 |

    - Leave **Redirect URIs** blank for now. You will add it in the next step.
    - Click **Create App**.

    After the app is created, Calendly takes you to the app's **OAuth Settings** page. Keep this tab open.

    > Image: Create a new OAuth app in Calendly Developer Portal

    > tip
>
> Any Calendly account can create OAuth apps. API access and available scopes depend on your Calendly plan — Enterprise features such as activity logs require an Enterprise plan.

2. ### Copy the redirect URI from Scalekit

    Scalekit gives you a callback URL that Calendly will redirect users back to after they authorize your app. You need to register this URL in your Calendly OAuth app.

    **In the Scalekit dashboard:**

    - Go to [app.scalekit.com](https://app.scalekit.com) and sign in.
    - In the left sidebar, click **AgentKit**.
    - Click **Create Connection**.
    - Search for **Calendly** and click **Create**.
    - A connection details panel opens. Find the **Redirect URI** field — it looks like:
      ```
      https://.scalekit.cloud/sso/v1/oauth/conn_/callback
      ```
    - Click the copy icon next to the Redirect URI to copy it to your clipboard.

    > Image: Copy the redirect URI from Scalekit dashboard

3. ### Register the redirect URI in Calendly

    Switch back to the Calendly Developer Portal tab you left open.

    - Make sure you are on the **OAuth Settings** page of your app.
    - Scroll down to the **Redirect URIs** section.
    - Click in the text box and paste the redirect URI you copied from Scalekit.
    - Click **Add URI** — the URI appears in the list above the input box.
    - Click **Save Changes** at the bottom of the page.

    > Image: Add the Scalekit redirect URI in Calendly OAuth Settings

    > caution
>
> The redirect URI must match character-for-character — including the `https://` prefix, the full domain, and the exact path. Any mismatch will cause the OAuth flow to fail with a `redirect_uri_mismatch` error.

4. ### Enable OAuth scopes

    Scopes control which Calendly API resources your app can access on behalf of the user. You must enable the same scopes in your Calendly app that you will request in Scalekit.

    - On the **OAuth Settings** page, scroll to the **Scopes** section.
    - Check the box next to each scope you need:

      | Scope | Access granted | Plan required |
      | --- | --- | --- |
      | `default` | User profile, event types, scheduled events, availability | All plans |
      | `activity_log:read` | Audit log entries (read-only) | Enterprise only |

    - For most integrations, checking **`default`** is sufficient.
    - Click **Save Changes**.

    > tip
>
> Only enable scopes your integration actually uses. Users see a list of requested permissions on the authorization screen — fewer scopes increases trust and approval rates.

5. ### Copy your Client ID and Client Secret

    Still on the **OAuth Settings** page in Calendly:

    - Scroll to the **OAuth Credentials** section at the top.
    - **Client ID** — this is shown in plain text. Click **Copy ID** to copy it.
    - **Client Secret** — click **Reveal** to show the secret, then copy it.

    Paste both values somewhere safe (a password manager or secrets vault). You will enter them into Scalekit in the next step.

    > caution
>
> Never commit your Client Secret to source control. If it is ever exposed, click **Regenerate Secret** in the Calendly portal immediately — this invalidates the old secret and all existing connections will stop working until you update them in Scalekit.

6. ### Add credentials in Scalekit

    Switch back to the Scalekit dashboard tab.

    - Go to **AgentKit** > **Connections** and click the Calendly connection you created in Step 2.
    - Fill in the credentials form:

      | Field | Value |
      | --- | --- |
      | **Client ID** | Paste the Client ID from Step 5 |
      | **Client Secret** | Paste the Client Secret from Step 5 |
      | **Permissions** | Enter the scopes you enabled in Step 4, e.g. `default` |

    - Click **Save**.

    > Image: Add credentials in Scalekit dashboard

    Your Calendly connection is now configured. Scalekit will use these credentials to run the OAuth flow whenever a user connects their Calendly account.

    > tip
>
> The scopes entered here must match exactly what you enabled in Calendly. A mismatch causes an `invalid_scope` error when users try to authorize. If you add more scopes later, update both your Calendly app and this Scalekit connection.

## Code examples

Connect a user's Calendly account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.

## Proxy API Calls

  ### Node.js

```typescript

const connectionName = 'calendly'; // get your connection name from connection configurations
const identifier = 'user_123';     // your unique user identifier

// Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
const scalekit = new ScalekitClient(
  process.env.SCALEKIT_ENV_URL,
  process.env.SCALEKIT_CLIENT_ID,
  process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;

// Authenticate the user
const { link } = await actions.getAuthorizationLink({
  connectionName,
  identifier,
});
console.log('🔗 Authorize Calendly:', link);
process.stdout.write('Press Enter after authorizing...');
await new Promise(r => process.stdin.once('data', r));

// Make a request via Scalekit proxy
const result = await actions.request({
  connectionName,
  identifier,
  path: '/users/me',
  method: 'GET',
});
console.log(result);
```

  ### Python

```python

from dotenv import load_dotenv
load_dotenv()

connection_name = "calendly"  # get your connection name from connection configurations
identifier = "user_123"       # your unique user identifier

# Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
scalekit_client = scalekit.client.ScalekitClient(
    client_id=os.getenv("SCALEKIT_CLIENT_ID"),
    client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
    env_url=os.getenv("SCALEKIT_ENV_URL"),
)
actions = scalekit_client.actions

# Authenticate the user
link_response = actions.get_authorization_link(
    connection_name=connection_name,
    identifier=identifier
)
# present this link to your user for authorization, or click it yourself for testing
print("🔗 Authorize Calendly:", link_response.link)
input("Press Enter after authorizing...")

# Make a request via Scalekit proxy
result = actions.request(
    connection_name=connection_name,
    identifier=identifier,
    path="/users/me",
    method="GET"
)
print(result)
```

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `calendly_activity_log_list`

Returns a list of activity log entries for a Calendly organization. Requires Enterprise plan.

Parameters:

- `organization` (`string`, required): Organization URI, e.g. https://api.calendly.com/organizations/{uuid}.
- `action` (`string`, optional): Filter by action type (e.g. user.created, event_type.updated).
- `actor` (`string`, optional): Filter by actor user URI.
- `count` (`integer`, optional): Number of results per page (max 100).
- `max_occurred_at` (`string`, optional): Filter entries occurring before this time (ISO 8601).
- `min_occurred_at` (`string`, optional): Filter entries occurring at or after this time (ISO 8601).
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `sort` (`string`, optional): Sort field and direction, e.g. occurred_at:asc or occurred_at:desc.

### `calendly_current_user_get`

Returns the profile of the currently authenticated Calendly user.

### `calendly_data_compliance_events_delete`

Deletes all Calendly event data within the specified time range for compliance purposes. This is a destructive operation.

Parameters:

- `end_time` (`string`, required): End of the time range for event data deletion in ISO 8601 format.
- `start_time` (`string`, required): Start of the time range for event data deletion in ISO 8601 format.

### `calendly_data_compliance_invitees_delete`

Deletes all Calendly invitee data for the specified email addresses for compliance purposes. This is a destructive operation.

Parameters:

- `emails` (`array`, required): Array of invitee email addresses whose data should be deleted.

### `calendly_event_invitee_get`

Returns the details of a specific invitee for a scheduled Calendly event.

Parameters:

- `event_uuid` (`string`, required): The UUID of the scheduled event.
- `invitee_uuid` (`string`, required): The UUID of the invitee.

### `calendly_event_invitees_list`

Returns a list of invitees for a specific scheduled Calendly event.

Parameters:

- `uuid` (`string`, required): The UUID of the scheduled event.
- `count` (`integer`, optional): Number of results per page (max 100).
- `email` (`string`, optional): Filter invitees by email address.
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `status` (`string`, optional): Filter invitees by status: active or canceled.

### `calendly_event_type_availability_schedules_list`

Returns a list of availability schedules for the specified Calendly event type.

Parameters:

- `event_type` (`string`, required): The URI of the event type, e.g. https://api.calendly.com/event_types/xxx.
- `user` (`string`, optional): The URI of the user to filter schedules by, e.g. https://api.calendly.com/users/xxx.

### `calendly_event_type_availability_schedules_update`

Updates the availability schedules (rules) for the specified Calendly event type.

Parameters:

- `event_type` (`string`, required): The URI of the event type whose availability schedules to update, e.g. https://api.calendly.com/event_types/xxx.
- `rules` (`array`, required): Array of availability rule objects. Each rule has type, intervals, and wday fields.
- `timezone` (`string`, optional): Timezone for the availability rules (e.g. America/New_York).

### `calendly_event_type_available_times_list`

Returns available scheduling times for a specific event type within a given date range.

Parameters:

- `end_time` (`string`, required): End of the availability window in ISO 8601 format.
- `event_type` (`string`, required): Full URI of the event type, e.g. https://api.calendly.com/event_types/{uuid}.
- `start_time` (`string`, required): Start of the availability window in ISO 8601 format.

### `calendly_event_type_create`

Creates a new event type in a Calendly organization for a specified host.

Parameters:

- `duration` (`integer`, required): Duration of the event in minutes.
- `host` (`string`, required): The URI of the user who will host this event type, e.g. https://api.calendly.com/users/xxx.
- `name` (`string`, required): Name of the event type.
- `organization` (`string`, required): The URI of the organization this event type belongs to, e.g. https://api.calendly.com/organizations/xxx.
- `color` (`string`, optional): Hex color code for the event type, e.g. '#FF5733'.
- `description` (`string`, optional): Optional description of the event type.

### `calendly_event_type_get`

Returns the details of a specific Calendly event type by its UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the event type.

### `calendly_event_type_memberships_list`

Returns a list of memberships (hosts) associated with the specified Calendly event type.

Parameters:

- `event_type` (`string`, required): The URI of the event type, e.g. https://api.calendly.com/event_types/xxx.
- `count` (`integer`, optional): Number of results to return per page.
- `page_token` (`string`, optional): Token for paginating to the next set of results.

### `calendly_event_type_update`

Updates an existing Calendly event type. Only the fields provided will be updated.

Parameters:

- `uuid` (`string`, required): The UUID of the event type to update.
- `color` (`string`, optional): Hex color code for the event type, e.g. '#FF5733'.
- `description` (`string`, optional): Updated description for the event type.
- `duration` (`integer`, optional): Updated duration of the event in minutes.
- `name` (`string`, optional): Updated name of the event type.

### `calendly_event_types_list`

Returns a list of event types for a user or organization. Provide either user or organization URI.

Parameters:

- `active` (`boolean`, optional): If true, only return active event types.
- `count` (`integer`, optional): Number of results to return per page (max 100).
- `organization` (`string`, optional): Filter by organization URI, e.g. https://api.calendly.com/organizations/{uuid}.
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `user` (`string`, optional): Filter by user URI, e.g. https://api.calendly.com/users/{uuid}.

### `calendly_group_get`

Returns a single Calendly group record by UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the group to retrieve.

### `calendly_group_relationship_get`

Returns a single Calendly group relationship record by UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the group relationship to retrieve.

### `calendly_group_relationships_list`

Returns a list of group relationships in the specified Calendly organization.

Parameters:

- `organization` (`string`, required): The URI of the organization whose group relationships to list, e.g. https://api.calendly.com/organizations/xxx.
- `count` (`integer`, optional): Number of results to return per page.
- `page_token` (`string`, optional): Token for paginating to the next set of results.

### `calendly_groups_list`

Returns a list of groups in the specified Calendly organization.

Parameters:

- `organization` (`string`, required): The URI of the organization whose groups to list, e.g. https://api.calendly.com/organizations/xxx.
- `count` (`integer`, optional): Number of results to return per page. Default is 20.
- `page_token` (`string`, optional): Token for paginating to the next set of results.
- `sort` (`string`, optional): Sort order for the results, e.g. 'created_at:asc' or 'created_at:desc'.

### `calendly_invitee_create`

Creates a new invitee for a scheduled Calendly event.

Parameters:

- `email` (`string`, required): Email address of the invitee.
- `event` (`string`, required): The URI of the scheduled event to add this invitee to, e.g. https://api.calendly.com/scheduled_events/xxx.
- `name` (`string`, required): Full name of the invitee.
- `timezone` (`string`, optional): IANA timezone string for the invitee, e.g. 'America/New_York'.

### `calendly_invitee_no_show_create`

Marks a specific invitee as a no-show for a scheduled Calendly event.

Parameters:

- `invitee` (`string`, required): The full URI of the invitee, e.g. https://api.calendly.com/scheduled_events/{event_uuid}/invitees/{invitee_uuid}.

### `calendly_invitee_no_show_delete`

Removes the no-show mark from an invitee on a scheduled Calendly event.

Parameters:

- `uuid` (`string`, required): The UUID of the invitee no-show record.

### `calendly_invitee_no_show_get`

Returns a specific invitee no-show record by UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the invitee no-show record.

### `calendly_locations_list`

Returns a list of meeting locations available in the specified Calendly organization or for a specific user.

Parameters:

- `user` (`string`, required): The URI of the user to filter locations by, e.g. https://api.calendly.com/users/xxx.
- `count` (`integer`, optional): Number of results to return per page.
- `organization` (`string`, optional): The URI of the organization to filter locations by, e.g. https://api.calendly.com/organizations/xxx.
- `page_token` (`string`, optional): Token for paginating to the next set of results.

### `calendly_one_off_event_type_create`

Creates a one-off event type in Calendly with a specific date, host, and optional co-hosts.

Parameters:

- `date_setting` (`object`, required): Object defining the date setting for the one-off event. Must include 'type' (e.g. 'date_range') and 'start_date'/'end_date' or 'date'.
- `duration` (`integer`, required): Duration of the event in minutes.
- `host` (`string`, required): The URI of the user who will host this event type, e.g. https://api.calendly.com/users/xxx.
- `name` (`string`, required): Name of the one-off event type.
- `co_hosts` (`array`, optional): Array of user URIs for co-hosts, e.g. ['https://api.calendly.com/users/xxx'].
- `description` (`string`, optional): Optional description for the one-off event type.
- `location` (`object`, optional): Optional location object, e.g. {"kind": "physical", "location": "123 Main St"}.

### `calendly_organization_get`

Returns the details of a specific Calendly organization by its UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the organization.

### `calendly_organization_invitation_create`

Sends an invitation for a user to join a Calendly organization.

Parameters:

- `email` (`string`, required): Email address of the user to invite.
- `uuid` (`string`, required): The UUID of the organization.

### `calendly_organization_invitation_get`

Returns the details of a specific invitation sent to join a Calendly organization.

Parameters:

- `org_uuid` (`string`, required): The UUID of the organization that sent the invitation.
- `uuid` (`string`, required): The UUID of the invitation to retrieve.

### `calendly_organization_invitation_revoke`

Revokes a pending invitation to a Calendly organization.

Parameters:

- `invitation_uuid` (`string`, required): The UUID of the invitation to revoke.
- `org_uuid` (`string`, required): The UUID of the organization.

### `calendly_organization_invitations_list`

Returns a list of pending invitations for a Calendly organization.

Parameters:

- `uuid` (`string`, required): The UUID of the organization.
- `count` (`integer`, optional): Number of results per page (max 100).
- `email` (`string`, optional): Filter by invitee email address.
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `status` (`string`, optional): Filter by invitation status: pending, accepted, or declined.

### `calendly_organization_membership_delete`

Removes a user from a Calendly organization by deleting their membership.

Parameters:

- `uuid` (`string`, required): The UUID of the organization membership to remove.

### `calendly_organization_membership_get`

Returns details of a specific organization membership by UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the organization membership.

### `calendly_organization_memberships_list`

Returns a list of organization memberships. Filter by organization URI or user URI.

Parameters:

- `count` (`integer`, optional): Number of results per page (max 100).
- `email` (`string`, optional): Filter by member email address.
- `organization` (`string`, optional): Filter by organization URI, e.g. https://api.calendly.com/organizations/{uuid}.
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `user` (`string`, optional): Filter by user URI, e.g. https://api.calendly.com/users/{uuid}.

### `calendly_outgoing_communications_list`

Returns a list of outgoing communications (emails and notifications) for the specified Calendly organization.

Parameters:

- `organization` (`string`, required): The URI of the organization whose outgoing communications to list, e.g. https://api.calendly.com/organizations/xxx.
- `count` (`integer`, optional): Number of results to return per page.
- `page_token` (`string`, optional): Token for paginating to the next set of results.
- `sort` (`string`, optional): Sort order for the results, e.g. 'created_at:asc' or 'created_at:desc'.

### `calendly_routing_form_get`

Returns the details of a specific Calendly routing form by its UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the routing form.

### `calendly_routing_form_submission_get`

Returns the details of a specific routing form submission by its UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the routing form submission.

### `calendly_routing_form_submission_get_by_uuid`

Returns a single routing form submission by UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the routing form submission to retrieve.

### `calendly_routing_form_submissions_list`

Returns a list of all routing form submissions across the specified Calendly organization.

Parameters:

- `form` (`string`, required): The URI of the routing form to list submissions for.
- `count` (`integer`, optional): Number of results.
- `page_token` (`string`, optional): Token for next page.

### `calendly_routing_forms_list`

Returns a list of routing forms for a Calendly organization.

Parameters:

- `organization` (`string`, required): Organization URI, e.g. https://api.calendly.com/organizations/{uuid}.
- `count` (`integer`, optional): Number of results per page (max 100).
- `page_token` (`string`, optional): Token for fetching the next page of results.

### `calendly_sample_webhook_data_get`

Returns a sample webhook payload for the specified event type, useful for testing webhook integrations.

Parameters:

- `event` (`string`, required): The webhook event type to get sample data for, e.g. 'invitee.created'.
- `organization` (`string`, required): The URI of the organization, e.g. https://api.calendly.com/organizations/xxx.
- `scope` (`string`, required): The scope of the webhook, either 'organization' or 'user'.
- `user` (`string`, optional): The URI of the user, required when scope is 'user', e.g. https://api.calendly.com/users/xxx.

### `calendly_scheduled_event_cancel`

Cancels a scheduled Calendly event. Optionally includes a reason for cancellation.

Parameters:

- `uuid` (`string`, required): The UUID of the scheduled event to cancel.
- `reason` (`string`, optional): Optional reason for the cancellation.

### `calendly_scheduled_event_get`

Returns the details of a specific scheduled event by its UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the scheduled event.

### `calendly_scheduled_events_list`

Returns a list of scheduled events for a user or organization, with optional time range and status filters.

Parameters:

- `count` (`integer`, optional): Number of results per page (max 100).
- `max_start_time` (`string`, optional): Filter events starting before this time (ISO 8601).
- `min_start_time` (`string`, optional): Filter events starting at or after this time (ISO 8601).
- `organization` (`string`, optional): Filter by organization URI, e.g. https://api.calendly.com/organizations/{uuid}.
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `sort` (`string`, optional): Sort field and direction, e.g. start_time:asc or start_time:desc.
- `status` (`string`, optional): Filter by event status: active or canceled.
- `user` (`string`, optional): Filter by user URI, e.g. https://api.calendly.com/users/{uuid}.

### `calendly_scheduling_link_create`

Creates a single-use or limited-use scheduling link for a specified Calendly event type.

Parameters:

- `max_event_count` (`integer`, required): Maximum number of events that can be booked using this scheduling link.
- `owner` (`string`, required): The URI of the event type that owns this scheduling link, e.g. https://api.calendly.com/event_types/xxx.
- `owner_type` (`string`, required): The type of owner for the scheduling link. Use 'EventType'.

### `calendly_share_create`

Creates a shareable scheduling page for a Calendly event type with optional customizations like duration, date range, and availability rules.

Parameters:

- `event_type` (`string`, required): The URI of the event type to create a share for, e.g. https://api.calendly.com/event_types/xxx.
- `availability_rule` (`object`, optional): Optional availability rule object to override default scheduling availability.
- `duration` (`integer`, optional): Override event duration in minutes for this share.
- `end_date` (`string`, optional): The end date (YYYY-MM-DD) after which the share will no longer accept bookings.
- `hide_location` (`boolean`, optional): Whether to hide the event location from the scheduling page.
- `max_booking_time` (`integer`, optional): Maximum number of days in the future that can be booked via this share.
- `name` (`string`, optional): Custom name for this share.
- `start_date` (`string`, optional): The start date (YYYY-MM-DD) from which the share will accept bookings.

### `calendly_user_availability_schedule_get`

Returns a single availability schedule for a Calendly user by UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the availability schedule to retrieve.

### `calendly_user_availability_schedules_list`

Returns a list of availability schedules for the specified Calendly user.

Parameters:

- `user` (`string`, required): The URI of the user whose availability schedules to list, e.g. https://api.calendly.com/users/xxx.

### `calendly_user_busy_times_list`

Returns a list of busy time blocks for a Calendly user within the specified time range.

Parameters:

- `end_time` (`string`, required): End of the time range in ISO 8601 format.
- `start_time` (`string`, required): Start of the time range in ISO 8601 format.
- `user` (`string`, required): The URI of the user whose busy times to list, e.g. https://api.calendly.com/users/xxx.

### `calendly_user_get`

Returns the profile of a specific Calendly user by their UUID.

Parameters:

- `uuid` (`string`, required): The UUID of the user.

### `calendly_webhook_subscription_create`

Creates a new webhook subscription to receive Calendly event notifications at a callback URL.

Parameters:

- `events` (`string`, required): JSON array of event names to subscribe to, e.g. ["invitee.created","invitee.canceled"].
- `organization` (`string`, required): Organization URI to scope the subscription.
- `scope` (`string`, required): Scope of the webhook: user or organization.
- `url` (`string`, required): The HTTPS callback URL that will receive webhook payloads.
- `signing_key` (`string`, optional): Optional signing key used to sign webhook payloads for verification.
- `user` (`string`, optional): User URI if scope is user-level.

### `calendly_webhook_subscription_delete`

Deletes a Calendly webhook subscription, stopping future event notifications.

Parameters:

- `uuid` (`string`, required): The UUID of the webhook subscription to delete.

### `calendly_webhook_subscription_get`

Returns the details of a specific Calendly webhook subscription.

Parameters:

- `uuid` (`string`, required): The UUID of the webhook subscription.

### `calendly_webhook_subscriptions_list`

Returns a list of webhook subscriptions for a user or organization.

Parameters:

- `count` (`integer`, optional): Number of results per page (max 100).
- `organization` (`string`, optional): Filter by organization URI, e.g. https://api.calendly.com/organizations/{uuid}.
- `page_token` (`string`, optional): Token for fetching the next page of results.
- `scope` (`string`, optional): Filter by webhook scope: user or organization.
- `user` (`string`, optional): Filter by user URI, e.g. https://api.calendly.com/users/{uuid}.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
