{
  "service": "calendly",
  "displayName": "Calendly",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "oauth2",
    "api_key"
  ],
  "auth": [
    {
      "type": "oauth2",
      "authorizationUrl": "https://calendly.com/oauth/authorize",
      "tokenUrl": "https://calendly.com/oauth/token",
      "scopes": [
        "availability:write",
        "event_types:read",
        "locations:read",
        "routing_forms:read",
        "shares:write",
        "scheduled_events:write",
        "scheduling_links:write",
        "organizations:write",
        "users:read",
        "webhooks:write"
      ],
      "tokenEndpointAuthMethod": "client_secret_post"
    },
    {
      "type": "api_key",
      "label": "Personal Access Token",
      "placeholder": "cal_live_pat",
      "description": "Calendly personal access token used with the Authorization Bearer header. Create it from API & Webhooks in the Calendly Integrations page: https://calendly.com/integrations/api_webhooks"
    }
  ],
  "homepageUrl": "https://calendly.com",
  "actions": [
    {
      "id": "calendly.cancel_scheduled_event",
      "service": "calendly",
      "name": "cancel_scheduled_event",
      "description": "Cancel one Calendly scheduled event by scheduled-event URI.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scheduledEventUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/scheduled_events/[^/]+(?:/.*)?$",
            "description": "The Calendly scheduled event URI returned by the API."
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "description": "The human-readable reason to cancel the scheduled event."
          }
        },
        "additionalProperties": false,
        "required": [
          "scheduledEventUri",
          "reason"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "canceled": {
            "type": "boolean",
            "description": "Whether Calendly accepted the canceled request."
          }
        },
        "additionalProperties": false,
        "required": [
          "canceled"
        ],
        "description": "The response wrapper for a Calendly scheduled-event cancellation."
      }
    },
    {
      "id": "calendly.create_event_invitee",
      "service": "calendly",
      "name": "create_event_invitee",
      "description": "Create one Calendly invitee booking for a confirmed available start time.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          },
          "startTime": {
            "type": "string",
            "description": "The scheduled start time to book in ISO 8601 format.",
            "format": "date-time"
          },
          "invitee": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The full name of the primary invitee to book."
              },
              "firstName": {
                "type": "string",
                "minLength": 1,
                "description": "The invitee first name to submit with the booking."
              },
              "lastName": {
                "type": "string",
                "minLength": 1,
                "description": "The invitee last name to submit with the booking."
              },
              "email": {
                "type": "string",
                "description": "The email address of the primary invitee to book.",
                "format": "email"
              },
              "timezone": {
                "type": "string",
                "minLength": 1,
                "description": "The IANA timezone of the primary invitee."
              },
              "textReminderNumber": {
                "type": "string",
                "minLength": 1,
                "description": "The E.164 phone number to use for invitee text reminders when Calendly supports them."
              }
            },
            "additionalProperties": false,
            "required": [
              "name",
              "firstName",
              "lastName",
              "email",
              "timezone",
              "textReminderNumber"
            ],
            "description": "The primary invitee profile used to create one Calendly booking."
          },
          "eventGuests": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One guest email address to add to the booking."
            },
            "description": "The guest email addresses to add to the booking."
          },
          "questionsAndAnswers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The custom question label to answer when creating the booking."
                },
                "answer": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The answer to submit for the custom question."
                },
                "position": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "The zero-based custom-question position expected by Calendly."
                }
              },
              "additionalProperties": false,
              "required": [
                "question",
                "answer",
                "position"
              ],
              "description": "One custom question answer to submit when creating the booking."
            },
            "description": "The answers to custom questions to submit with the booking."
          },
          "tracking": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The tracking payload to associate with the booking."
          },
          "location": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The location payload to submit with the booking when Calendly requires it."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri",
          "startTime",
          "invitee"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "invitee": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly invitee resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "invitee"
        ],
        "description": "The response wrapper for invitee."
      }
    },
    {
      "id": "calendly.create_invitee_no_show",
      "service": "calendly",
      "name": "create_invitee_no_show",
      "description": "Mark one Calendly invitee as a no-show by invitee URI.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "inviteeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/scheduled_events/[^/]+/invitees/[^/]+$",
            "description": "The Calendly invitee URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "inviteeUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "inviteeNoShow": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly invitee no-show resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "inviteeNoShow"
        ],
        "description": "The response wrapper for inviteeNoShow."
      }
    },
    {
      "id": "calendly.create_organization_invitation",
      "service": "calendly",
      "name": "create_organization_invitation",
      "description": "Create one organization invitation for a Calendly organization.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "email": {
            "type": "string",
            "description": "The email address to invite to the organization.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationUri",
          "email"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organizationInvitation": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly organization invitation resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationInvitation"
        ],
        "description": "The response wrapper for organizationInvitation."
      }
    },
    {
      "id": "calendly.create_share",
      "service": "calendly",
      "name": "create_share",
      "description": "Create one customized single-use share from an existing Calendly event type.",
      "requiredScopes": [
        "shares:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The custom display name to use for the share."
          },
          "duration": {
            "type": "integer",
            "minimum": 1,
            "maximum": 720,
            "description": "The custom meeting duration to use for the share."
          },
          "durationOptions": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 720,
              "description": "One allowed duration option to expose on the share."
            },
            "description": "The allowed duration options to expose on the share.",
            "maxItems": 4
          },
          "periodType": {
            "type": "string",
            "enum": [
              "available_moving",
              "moving",
              "fixed",
              "unlimited"
            ],
            "description": "The booking window type to apply to the share."
          },
          "startDate": {
            "type": "string",
            "description": "The first bookable date.",
            "format": "date"
          },
          "endDate": {
            "type": "string",
            "description": "The last bookable date.",
            "format": "date"
          },
          "maxBookingTime": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum booking window to apply to the share."
          },
          "hideLocation": {
            "type": "boolean",
            "description": "Whether the share hides the location until booking time."
          },
          "locationConfigurations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The textual location value configured on the share."
                },
                "additionalInfo": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Additional instructions configured on the share location."
                },
                "phoneNumber": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The phone number configured on the share location."
                },
                "position": {
                  "type": "integer",
                  "minimum": 0,
                  "description": "The display position of the share location."
                },
                "kind": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The share location kind."
                }
              },
              "additionalProperties": false,
              "required": [
                "location",
                "additionalInfo",
                "phoneNumber",
                "position",
                "kind"
              ],
              "description": "One location configuration to apply to the share."
            },
            "description": "The location configurations to apply to the share."
          },
          "availabilityRule": {
            "type": "object",
            "properties": {
              "rules": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "A Calendly availability rule object."
                },
                "description": "The availability rules to apply."
              },
              "timezone": {
                "type": "string",
                "minLength": 1,
                "description": "The timezone of the availability override."
              },
              "user": {
                "type": "string",
                "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
                "description": "The Calendly user URI returned by the API."
              }
            },
            "additionalProperties": false,
            "required": [
              "rules",
              "timezone",
              "user"
            ],
            "description": "The availability override to apply."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "share": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The share resource returned by Calendly."
          }
        },
        "additionalProperties": false,
        "required": [
          "share"
        ],
        "description": "The response wrapper for share."
      }
    },
    {
      "id": "calendly.create_single_use_scheduling_link",
      "service": "calendly",
      "name": "create_single_use_scheduling_link",
      "description": "Create one single-use scheduling link from an existing Calendly event type without customization.",
      "requiredScopes": [
        "scheduling_links:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "schedulingLink": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly single-use scheduling link resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "schedulingLink"
        ],
        "description": "The response wrapper for schedulingLink."
      }
    },
    {
      "id": "calendly.create_webhook_subscription",
      "service": "calendly",
      "name": "create_webhook_subscription",
      "description": "Create one Calendly webhook subscription for an organization or one user.",
      "requiredScopes": [
        "webhooks:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The callback URL that should receive Calendly webhook deliveries.",
            "format": "uri"
          },
          "scope": {
            "type": "string",
            "enum": [
              "organization",
              "user"
            ],
            "description": "The webhook subscription scope to create."
          },
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "invitee.created",
                "invitee.canceled",
                "routing_form_submission.created"
              ],
              "description": "One Calendly webhook event value supported by this connector."
            },
            "description": "The webhook event values to subscribe to.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "url",
          "scope",
          "organizationUri",
          "events"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhookSubscription": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "One Calendly webhook subscription returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhookSubscription"
        ],
        "description": "The response wrapper for webhookSubscription."
      }
    },
    {
      "id": "calendly.delete_invitee_no_show",
      "service": "calendly",
      "name": "delete_invitee_no_show",
      "description": "Delete one Calendly invitee no-show by no-show URI.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "inviteeNoShowUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/invitee_no_shows/[^/]+(?:/.*)?$",
            "description": "The Calendly invitee no-show URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "inviteeNoShowUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether Calendly accepted the deleted request."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The response wrapper for deleting one Calendly invitee no-show."
      }
    },
    {
      "id": "calendly.delete_organization_membership",
      "service": "calendly",
      "name": "delete_organization_membership",
      "description": "Delete one Calendly organization membership by membership URI.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationMembershipUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organization_memberships/[^/]+(?:/.*)?$",
            "description": "The Calendly organization membership URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationMembershipUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether Calendly accepted the deleted request."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The response wrapper for deleting one Calendly organization membership."
      }
    },
    {
      "id": "calendly.delete_webhook_subscription",
      "service": "calendly",
      "name": "delete_webhook_subscription",
      "description": "Delete one Calendly webhook subscription by URI.",
      "requiredScopes": [
        "webhooks:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "webhookSubscriptionUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/webhook_subscriptions/[^/]+(?:/.*)?$",
            "description": "The Calendly webhook subscription URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhookSubscriptionUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "description": "Whether Calendly accepted the deleted request."
          }
        },
        "additionalProperties": false,
        "required": [
          "deleted"
        ],
        "description": "The response wrapper for deleting one Calendly webhook subscription."
      }
    },
    {
      "id": "calendly.get_current_user",
      "service": "calendly",
      "name": "get_current_user",
      "description": "Retrieve the authenticated Calendly user for the connected credential.",
      "requiredScopes": [
        "users:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for retrieving the authenticated Calendly user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "currentUser": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly user resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "currentUser"
        ],
        "description": "The response wrapper for the authenticated Calendly user."
      }
    },
    {
      "id": "calendly.get_event_invitee",
      "service": "calendly",
      "name": "get_event_invitee",
      "description": "Retrieve one Calendly invitee by invitee URI.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scheduledEventUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/scheduled_events/[^/]+(?:/.*)?$",
            "description": "The Calendly scheduled event URI returned by the API."
          },
          "inviteeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/scheduled_events/[^/]+/invitees/[^/]+$",
            "description": "The Calendly invitee URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "scheduledEventUri",
          "inviteeUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "invitee": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly invitee resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "invitee"
        ],
        "description": "The response wrapper for invitee."
      }
    },
    {
      "id": "calendly.get_event_type",
      "service": "calendly",
      "name": "get_event_type",
      "description": "Retrieve one Calendly event type by event type URI.",
      "requiredScopes": [
        "event_types:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly event type resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventType"
        ],
        "description": "The response wrapper for eventType."
      }
    },
    {
      "id": "calendly.get_invitee_no_show",
      "service": "calendly",
      "name": "get_invitee_no_show",
      "description": "Retrieve one Calendly invitee no-show by no-show URI.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "inviteeNoShowUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/invitee_no_shows/[^/]+(?:/.*)?$",
            "description": "The Calendly invitee no-show URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "inviteeNoShowUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "inviteeNoShow": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly invitee no-show resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "inviteeNoShow"
        ],
        "description": "The response wrapper for inviteeNoShow."
      }
    },
    {
      "id": "calendly.get_organization",
      "service": "calendly",
      "name": "get_organization",
      "description": "Retrieve one Calendly organization by organization URI.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organization": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly organization resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "organization"
        ],
        "description": "The response wrapper for organization."
      }
    },
    {
      "id": "calendly.get_organization_membership",
      "service": "calendly",
      "name": "get_organization_membership",
      "description": "Retrieve one Calendly organization membership by membership URI.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationMembershipUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organization_memberships/[^/]+(?:/.*)?$",
            "description": "The Calendly organization membership URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationMembershipUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organizationMembership": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly organization membership resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationMembership"
        ],
        "description": "The response wrapper for organizationMembership."
      }
    },
    {
      "id": "calendly.get_routing_form",
      "service": "calendly",
      "name": "get_routing_form",
      "description": "Retrieve one Calendly routing form by routing-form URI.",
      "requiredScopes": [
        "routing_forms:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "routingFormUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/routing_forms/[^/]+(?:/.*)?$",
            "description": "The Calendly routing form URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingFormUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "routingForm": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly routing form resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingForm"
        ],
        "description": "The response wrapper for routingForm."
      }
    },
    {
      "id": "calendly.get_routing_form_submission",
      "service": "calendly",
      "name": "get_routing_form_submission",
      "description": "Retrieve one Calendly routing form submission by submission URI.",
      "requiredScopes": [
        "routing_forms:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "routingFormSubmissionUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/routing_form_submissions/[^/]+(?:/.*)?$",
            "description": "The Calendly routing form submission URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingFormSubmissionUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "routingFormSubmission": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly routing form submission resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingFormSubmission"
        ],
        "description": "The response wrapper for routingFormSubmission."
      }
    },
    {
      "id": "calendly.get_scheduled_event",
      "service": "calendly",
      "name": "get_scheduled_event",
      "description": "Retrieve one Calendly scheduled event by scheduled-event URI.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scheduledEventUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/scheduled_events/[^/]+(?:/.*)?$",
            "description": "The Calendly scheduled event URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "scheduledEventUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "scheduledEvent": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly scheduled event resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "scheduledEvent"
        ],
        "description": "The response wrapper for scheduledEvent."
      }
    },
    {
      "id": "calendly.get_user",
      "service": "calendly",
      "name": "get_user",
      "description": "Retrieve one Calendly user by user URI.",
      "requiredScopes": [
        "users:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "userUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly user resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "user"
        ],
        "description": "The response wrapper for user."
      }
    },
    {
      "id": "calendly.get_user_availability_schedule",
      "service": "calendly",
      "name": "get_user_availability_schedule",
      "description": "Retrieve one Calendly user availability schedule by schedule URI.",
      "requiredScopes": [
        "availability:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "availabilityScheduleUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/user_availability_schedules/[^/]+(?:/.*)?$",
            "description": "The Calendly user availability schedule URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "availabilityScheduleUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "availabilitySchedule": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Calendly user availability schedule resource."
          }
        },
        "additionalProperties": false,
        "required": [
          "availabilitySchedule"
        ],
        "description": "The response wrapper for availabilitySchedule."
      }
    },
    {
      "id": "calendly.get_webhook_subscription",
      "service": "calendly",
      "name": "get_webhook_subscription",
      "description": "Retrieve one Calendly webhook subscription by URI.",
      "requiredScopes": [
        "webhooks:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "webhookSubscriptionUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/webhook_subscriptions/[^/]+(?:/.*)?$",
            "description": "The Calendly webhook subscription URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhookSubscriptionUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhookSubscription": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "One Calendly webhook subscription returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhookSubscription"
        ],
        "description": "The response wrapper for webhookSubscription."
      }
    },
    {
      "id": "calendly.list_event_invitees",
      "service": "calendly",
      "name": "list_event_invitees",
      "description": "List invitees for one Calendly scheduled event.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scheduledEventUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/scheduled_events/[^/]+(?:/.*)?$",
            "description": "The Calendly scheduled event URI returned by the API."
          },
          "email": {
            "type": "string",
            "description": "The invitee email filter.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "canceled"
            ],
            "description": "The invitee status filter accepted by Calendly."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "enum": [
              "created_at:asc",
              "created_at:desc"
            ],
            "description": "The sort expression accepted by Calendly for invitees."
          }
        },
        "additionalProperties": false,
        "required": [
          "scheduledEventUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "invitees": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The invitees returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "invitees",
          "pagination"
        ],
        "description": "The list response wrapper for invitees."
      }
    },
    {
      "id": "calendly.list_event_type_availability_schedules",
      "service": "calendly",
      "name": "list_event_type_availability_schedules",
      "description": "List the official Calendly availability schedules attached to one event type.",
      "requiredScopes": [
        "availability:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One event type availability schedule returned by Calendly."
            },
            "description": "The event type availability schedules returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "next_page": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "next_page_token": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previous_page": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previous_page_token": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "next_page",
              "next_page_token",
              "previous_page",
              "previous_page_token"
            ],
            "description": "Official pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "collection",
          "pagination"
        ],
        "description": "The official response wrapper for event type availability schedules."
      }
    },
    {
      "id": "calendly.list_event_type_available_times",
      "service": "calendly",
      "name": "list_event_type_available_times",
      "description": "List available time slots for one Calendly event type within a 7-day window.",
      "requiredScopes": [
        "availability:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          },
          "startTime": {
            "type": "string",
            "description": "The inclusive start of the availability window in ISO 8601 format.",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "The exclusive end of the availability window in ISO 8601 format.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri",
          "startTime",
          "endTime"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "availableTimes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Calendly available time slot."
            },
            "description": "The available time slots returned by Calendly."
          }
        },
        "additionalProperties": false,
        "required": [
          "availableTimes"
        ],
        "description": "The response wrapper for event-type available times."
      }
    },
    {
      "id": "calendly.list_event_types",
      "service": "calendly",
      "name": "list_event_types",
      "description": "List Calendly event types for exactly one user or one organization, including scheduling URLs.",
      "requiredScopes": [
        "event_types:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          },
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "The sort expression accepted by Calendly."
          },
          "active": {
            "type": "boolean",
            "description": "Whether to filter event types by active state."
          },
          "adminManaged": {
            "type": "boolean",
            "description": "Whether to filter event types by admin-managed status."
          },
          "userAvailabilityScheduleUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/user_availability_schedules/[^/]+(?:/.*)?$",
            "description": "The Calendly user availability schedule URI returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "eventTypes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The event types returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypes",
          "pagination"
        ],
        "description": "The list response wrapper for eventTypes."
      }
    },
    {
      "id": "calendly.list_organization_invitations",
      "service": "calendly",
      "name": "list_organization_invitations",
      "description": "List organization invitations for one Calendly organization.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "email": {
            "type": "string",
            "description": "The email filter applied to organization invitations.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "accepted",
              "declined"
            ],
            "description": "The invitation status filter accepted by Calendly."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "minLength": 1,
            "description": "The sort expression accepted by Calendly."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organizationInvitations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The organization invitations returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationInvitations",
          "pagination"
        ],
        "description": "The list response wrapper for organizationInvitations."
      }
    },
    {
      "id": "calendly.list_organization_memberships",
      "service": "calendly",
      "name": "list_organization_memberships",
      "description": "List Calendly organization memberships for one organization or one user.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          },
          "email": {
            "type": "string",
            "description": "The email filter applied to organization memberships.",
            "format": "email"
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          }
        },
        "additionalProperties": false,
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organizationMemberships": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The organization memberships returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationMemberships",
          "pagination"
        ],
        "description": "The list response wrapper for organizationMemberships."
      }
    },
    {
      "id": "calendly.list_routing_form_submissions",
      "service": "calendly",
      "name": "list_routing_form_submissions",
      "description": "List Calendly routing form submissions for one routing form.",
      "requiredScopes": [
        "routing_forms:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "routingFormUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/routing_forms/[^/]+(?:/.*)?$",
            "description": "The Calendly routing form URI returned by the API."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "enum": [
              "created_at:asc",
              "created_at:desc"
            ],
            "description": "The sort expression accepted by Calendly for routing form submissions."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingFormUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "routingFormSubmissions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The routing form submissions returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingFormSubmissions",
          "pagination"
        ],
        "description": "The list response wrapper for routingFormSubmissions."
      }
    },
    {
      "id": "calendly.list_routing_forms",
      "service": "calendly",
      "name": "list_routing_forms",
      "description": "List Calendly routing forms for one organization.",
      "requiredScopes": [
        "routing_forms:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "enum": [
              "created_at:asc",
              "created_at:desc"
            ],
            "description": "The sort expression accepted by Calendly for routing forms."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "routingForms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The routing forms returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "routingForms",
          "pagination"
        ],
        "description": "The list response wrapper for routingForms."
      }
    },
    {
      "id": "calendly.list_scheduled_events",
      "service": "calendly",
      "name": "list_scheduled_events",
      "description": "List Calendly scheduled events for exactly one user or one organization.",
      "requiredScopes": [
        "scheduled_events:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          },
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "inviteeEmail": {
            "type": "string",
            "description": "The invitee email used to filter scheduled events.",
            "format": "email"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "canceled"
            ],
            "description": "The scheduled-event status filter accepted by Calendly."
          },
          "minStartTime": {
            "type": "string",
            "description": "The minimum scheduled start time filter in ISO 8601 format.",
            "format": "date-time"
          },
          "maxStartTime": {
            "type": "string",
            "description": "The maximum scheduled start time filter in ISO 8601 format.",
            "format": "date-time"
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "enum": [
              "start_time:asc",
              "start_time:desc"
            ],
            "description": "The sort expression accepted by Calendly for scheduled events."
          }
        },
        "additionalProperties": false,
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "scheduledEvents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The scheduled events returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "scheduledEvents",
          "pagination"
        ],
        "description": "The list response wrapper for scheduledEvents."
      }
    },
    {
      "id": "calendly.list_user_availability_schedules",
      "service": "calendly",
      "name": "list_user_availability_schedules",
      "description": "List user availability schedules for one Calendly user.",
      "requiredScopes": [
        "availability:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "userUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "availabilitySchedules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The availability schedules returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "availabilitySchedules",
          "pagination"
        ],
        "description": "The list response wrapper for availabilitySchedules."
      }
    },
    {
      "id": "calendly.list_user_busy_times",
      "service": "calendly",
      "name": "list_user_busy_times",
      "description": "List busy time slots for one Calendly user within a 7-day window.",
      "requiredScopes": [
        "availability:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          },
          "startTime": {
            "type": "string",
            "description": "The inclusive start of the busy-times window in ISO 8601 format.",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "The exclusive end of the busy-times window in ISO 8601 format.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "required": [
          "userUri",
          "startTime",
          "endTime"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "busyTimes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Calendly busy-time slot."
            },
            "description": "The busy-time slots returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "busyTimes",
          "pagination"
        ],
        "description": "The response wrapper for Calendly busy-time results."
      }
    },
    {
      "id": "calendly.list_user_meeting_locations",
      "service": "calendly",
      "name": "list_user_meeting_locations",
      "description": "List the configured meeting locations for one Calendly user.",
      "requiredScopes": [
        "locations:read"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "userUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "meetingLocations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One meeting location returned by Calendly."
            },
            "description": "The configured meeting locations returned by Calendly."
          }
        },
        "additionalProperties": false,
        "required": [
          "meetingLocations"
        ],
        "description": "The response wrapper for Calendly user meeting locations."
      }
    },
    {
      "id": "calendly.list_webhook_subscriptions",
      "service": "calendly",
      "name": "list_webhook_subscriptions",
      "description": "List Calendly webhook subscriptions for an organization or one user.",
      "requiredScopes": [
        "webhooks:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "scope": {
            "type": "string",
            "enum": [
              "organization",
              "user"
            ],
            "description": "The webhook subscription scope to list."
          },
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "userUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
            "description": "The Calendly user URI returned by the API."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to return per page."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "The pagination cursor returned by a previous page."
          },
          "sort": {
            "type": "string",
            "enum": [
              "created_at:asc",
              "created_at:desc"
            ],
            "description": "The sort expression accepted by Calendly for webhook subscriptions."
          }
        },
        "additionalProperties": false,
        "required": [
          "scope",
          "organizationUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "webhookSubscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One item returned by calendly."
            },
            "description": "The webhook subscriptions returned by Calendly."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of items returned in the current page."
              },
              "nextPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "nextPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the next page, or null when there is no next page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The URL for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageToken": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The cursor token for the previous page, or null when there is no previous page."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "nextPage",
              "nextPageToken",
              "previousPage",
              "previousPageToken"
            ],
            "description": "Pagination metadata returned by Calendly list endpoints."
          }
        },
        "additionalProperties": false,
        "required": [
          "webhookSubscriptions",
          "pagination"
        ],
        "description": "The list response wrapper for webhookSubscriptions."
      }
    },
    {
      "id": "calendly.revoke_organization_invitation",
      "service": "calendly",
      "name": "revoke_organization_invitation",
      "description": "Revoke one organization invitation from a Calendly organization.",
      "requiredScopes": [
        "organizations:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "organizationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+(?:/.*)?$",
            "description": "The Calendly organization URI returned by the API."
          },
          "organizationInvitationUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/organizations/[^/]+/invitations/[^/]+$",
            "description": "The Calendly organization invitation URI returned by the API."
          }
        },
        "additionalProperties": false,
        "required": [
          "organizationUri",
          "organizationInvitationUri"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "revoked": {
            "type": "boolean",
            "description": "Whether Calendly accepted the revoked request."
          }
        },
        "additionalProperties": false,
        "required": [
          "revoked"
        ],
        "description": "The response wrapper for revoking one Calendly organization invitation."
      }
    },
    {
      "id": "calendly.update_event_type_availability_schedule",
      "service": "calendly",
      "name": "update_event_type_availability_schedule",
      "description": "Update the official Calendly availability schedule for one event type.",
      "requiredScopes": [
        "availability:write"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "eventTypeUri": {
            "type": "string",
            "pattern": "^https://api\\.calendly\\.com/event_types/[^/]+(?:/.*)?$",
            "description": "The Calendly event type URI returned by the API."
          },
          "availability_rule": {
            "type": "object",
            "properties": {
              "rules": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "A Calendly availability rule object."
                },
                "description": "The availability rules to apply."
              },
              "timezone": {
                "type": "string",
                "minLength": 1,
                "description": "The timezone of the availability override."
              },
              "user": {
                "type": "string",
                "pattern": "^https://api\\.calendly\\.com/users/[^/]+(?:/.*)?$",
                "description": "The Calendly user URI returned by the API."
              }
            },
            "additionalProperties": false,
            "required": [
              "rules",
              "timezone",
              "user"
            ],
            "description": "The availability override to apply."
          },
          "availability_setting": {
            "type": "string",
            "enum": [
              "host"
            ],
            "description": "The event type availability setting to apply to the event type."
          }
        },
        "additionalProperties": false,
        "required": [
          "eventTypeUri",
          "availability_rule"
        ],
        "description": "Calendly action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "One event type availability schedule returned by Calendly."
          }
        },
        "additionalProperties": false,
        "required": [
          "resource"
        ],
        "description": "The response wrapper for resource."
      }
    }
  ]
}
