Calendly · Capability

Calendly Scheduling API — Availability

Calendly Scheduling API — Availability. 4 operations. Lead operation: List event type available times. Self-contained Naftiko capability covering one Calendly business surface.

Run with Naftiko CalendlyAvailability

What You Can Do

GET
Listeventtypeavailabletimes — List event type available times
/v1/event-type-available-times
GET
Listuseravailabilityschedules — List user availability schedules
/v1/user-availability-schedules
GET
Getuseravailabilityschedule — Get user availability schedule
/v1/user-availability-schedules/{uuid}
GET
Listuserbusytimes — List user busy times
/v1/user-busy-times

MCP Tools

list-event-type-available-times

List event type available times

read-only idempotent
list-user-availability-schedules

List user availability schedules

read-only idempotent
get-user-availability-schedule

Get user availability schedule

read-only idempotent
list-user-busy-times

List user busy times

read-only idempotent

Capability Spec

scheduling-availability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Calendly Scheduling API — Availability
  description: 'Calendly Scheduling API — Availability. 4 operations. Lead operation: List event type available times. Self-contained
    Naftiko capability covering one Calendly business surface.'
  tags:
  - Calendly
  - Availability
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CALENDLY_API_KEY: CALENDLY_API_KEY
capability:
  consumes:
  - type: http
    namespace: scheduling-availability
    baseUri: https://api.calendly.com
    description: Calendly Scheduling API — Availability business capability. Self-contained, no shared references.
    resources:
    - name: event_type_available_times
      path: /event_type_available_times
      operations:
      - name: listeventtypeavailabletimes
        method: GET
        description: List event type available times
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: event_type
          in: query
          type: string
          description: The URI of the event type to check availability for.
          required: true
        - name: start_time
          in: query
          type: string
          description: The start of the time range to check, in UTC format.
          required: true
        - name: end_time
          in: query
          type: string
          description: The end of the time range to check, in UTC format.
          required: true
    - name: user_availability_schedules
      path: /user_availability_schedules
      operations:
      - name: listuseravailabilityschedules
        method: GET
        description: List user availability schedules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user
          in: query
          type: string
          description: The URI of the user whose availability schedules to retrieve.
          required: true
    - name: user_availability_schedules-uuid
      path: /user_availability_schedules/{uuid}
      operations:
      - name: getuseravailabilityschedule
        method: GET
        description: Get user availability schedule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uuid
          in: path
          type: string
          description: The UUID of the availability schedule.
          required: true
    - name: user_busy_times
      path: /user_busy_times
      operations:
      - name: listuserbusytimes
        method: GET
        description: List user busy times
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user
          in: query
          type: string
          description: The URI of the user whose busy times to retrieve.
          required: true
        - name: start_time
          in: query
          type: string
          description: The start of the time range to check, in UTC format.
          required: true
        - name: end_time
          in: query
          type: string
          description: The end of the time range to check, in UTC format.
          required: true
    authentication:
      type: bearer
      token: '{{env.CALENDLY_API_KEY}}'
  exposes:
  - type: rest
    namespace: scheduling-availability-rest
    port: 8080
    description: REST adapter for Calendly Scheduling API — Availability. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/event-type-available-times
      name: event-type-available-times
      description: REST surface for event_type_available_times.
      operations:
      - method: GET
        name: listeventtypeavailabletimes
        description: List event type available times
        call: scheduling-availability.listeventtypeavailabletimes
        with:
          event_type: rest.event_type
          start_time: rest.start_time
          end_time: rest.end_time
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user-availability-schedules
      name: user-availability-schedules
      description: REST surface for user_availability_schedules.
      operations:
      - method: GET
        name: listuseravailabilityschedules
        description: List user availability schedules
        call: scheduling-availability.listuseravailabilityschedules
        with:
          user: rest.user
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user-availability-schedules/{uuid}
      name: user-availability-schedules-uuid
      description: REST surface for user_availability_schedules-uuid.
      operations:
      - method: GET
        name: getuseravailabilityschedule
        description: Get user availability schedule
        call: scheduling-availability.getuseravailabilityschedule
        with:
          uuid: rest.uuid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/user-busy-times
      name: user-busy-times
      description: REST surface for user_busy_times.
      operations:
      - method: GET
        name: listuserbusytimes
        description: List user busy times
        call: scheduling-availability.listuserbusytimes
        with:
          user: rest.user
          start_time: rest.start_time
          end_time: rest.end_time
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: scheduling-availability-mcp
    port: 9090
    transport: http
    description: MCP adapter for Calendly Scheduling API — Availability. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-event-type-available-times
      description: List event type available times
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: scheduling-availability.listeventtypeavailabletimes
      with:
        event_type: tools.event_type
        start_time: tools.start_time
        end_time: tools.end_time
      outputParameters:
      - type: object
        mapping: $.
    - name: list-user-availability-schedules
      description: List user availability schedules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: scheduling-availability.listuseravailabilityschedules
      with:
        user: tools.user
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-availability-schedule
      description: Get user availability schedule
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: scheduling-availability.getuseravailabilityschedule
      with:
        uuid: tools.uuid
      outputParameters:
      - type: object
        mapping: $.
    - name: list-user-busy-times
      description: List user busy times
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: scheduling-availability.listuserbusytimes
      with:
        user: tools.user
        start_time: tools.start_time
        end_time: tools.end_time
      outputParameters:
      - type: object
        mapping: $.