# Calendly

> Connect Calendly to list event types, generate scheduling links, and manage events.

App · Calendars · 5 actions · 1 trigger. Web page: https://docs.lodol.com/docs/integrations/calendly

## Triggers

Start a workflow when something happens in Calendly. See [how triggers work](https://docs.lodol.com/docs/concepts/triggers.md).

### Calendly New Event

Triggers when a new event is scheduled in Calendly. The event is trigger_event, with name, start_time, status, and who booked it (invitee_name and invitee_email).

**Filters**: Narrow which events start a run.

- `event_name`
- `status`

**Event fields**: What a run starts with. Later steps read each field with an @ reference.

- `trigger_event` (object)

## Actions

### Cancel a Calendly scheduled event

Cancel a scheduled Calendly event by its ID, with an optional reason.

**Inputs**

- Event ID (`event_uuid`, text, required): The ID of the scheduled event to cancel (for example, ABCD123). If you have the event's full link, the ID is the part after the last '/': use the Split built-in to split the link on '/' and take the last item.
- Reason (`reason`, text): Optional cancellation reason.

**Outputs**

- `cancelled` (true/false): Always true, indicating the event was successfully cancelled.
- `event_uuid` (text): The UUID of the cancelled event.
- `status` (text): Always 'success' on successful requests.

**Example output**

```json
{
  "cancelled": true,
  "event_uuid": "IJKL1234567890",
  "status": "success"
}
```

### Create a Calendly scheduling link

Generate a scheduling link for a specific Calendly event type with optional invitee details.

**Inputs**

- Event type URI (`event_type_uri`, text, required): The link for the Calendly event type to create a scheduling link for, from the List Calendly event types action.
- Max event count (`max_event_count`, number): Maximum number of events that can be scheduled with this link (default 1).
- Invitee email (`invitee_email`, text): Optional invitee email to prefill on the scheduling link.
- Timezone (`timezone`, text): Optional timezone to associate with the invitee (e.g., America/Los_Angeles).

**Outputs**

- `booking_url` (text): The generated scheduling link URL that can be sent to invitees to book appointments.
- `owner` (text): The event type URI this scheduling link was created for.
- `status` (text): Always 'success' on successful requests.

**Example output**

```json
{
  "booking_url": "https://calendly.com/s/booking-link-12345",
  "owner": "https://api.calendly.com/event_types/EFGH1234567890",
  "status": "success"
}
```

### Get Calendly user profile

Fetch the connected Calendly user's profile, including their name, email, and account link.

**Inputs**: None.

**Outputs**

- `email` (text): User's email address.
- `name` (text): User's display name.
- `status` (text): Always 'success' on successful requests.
- `user_uri` (text): Calendly user URI (e.g., 'https://api.calendly.com/users/ABCD123'). Use this as input for list_event_types and list_scheduled_events actions.

**Example output**

```json
{
  "email": "john.doe@example.com",
  "name": "John Doe",
  "status": "success",
  "user_uri": "https://api.calendly.com/users/ABCD1234567890"
}
```

### List Calendly event types

List the available Calendly event types for the connected user.

**Inputs**

- User URI (`user_uri`, text): The Calendly user's profile link, from the Get Calendly user profile action. Leave blank to use the connected account.
- Page size (`page_size`, number): Number of event types to fetch (default 20).

**Outputs**

- `count` (number): Number of event types returned.
- `event_types` (list): List of event type objects available for the user.
- `status` (text): Always 'success' on successful requests.

**Example output**

```json
{
  "count": 1,
  "event_types": [
    {
      "name": "30 Minute Meeting",
      "scheduling_url": "https://calendly.com/user/30min",
      "slug": "30min",
      "uri": "https://api.calendly.com/event_types/EFGH1234567890"
    }
  ],
  "status": "success"
}
```

### List Calendly scheduled events

List scheduled events for the connected Calendly user.

**Inputs**

- User URI (`user_uri`, text): The Calendly user's profile link, from the Get Calendly user profile action. Leave blank to use the connected account.
- Status (`status`, text): Filter scheduled events by status (e.g., active, canceled).

**Outputs**

- `count` (number): Number of scheduled events returned.
- `events` (list): List of scheduled event objects.
- `status` (text): Always 'success' on successful requests.

**Example output**

```json
{
  "count": 1,
  "events": [
    {
      "name": "30 Minute Meeting",
      "start_time": "2026-01-25T10:00:00Z",
      "status": "active",
      "uri": "https://api.calendly.com/scheduled_events/IJKL1234567890"
    }
  ],
  "status": "success"
}
```
