Scheduling Engine

Automation

AI-powered appointment scheduling with staff management, availability windows, and booking automation.

Install

openclaw skills install mcf-scheduling-engine

Scheduling Engine

Manage appointments, staff schedules, and availability windows programmatically. Built for AI agents that need to book meetings, manage calendars, and coordinate schedules as part of sales, service, or operations workflows. Handles timezone conversion, conflict detection, and smart slot suggestions.

Authentication

All endpoints require x402 payment (USDC on Base L2). Send a request without payment to receive pricing info in the 402 response.

Endpoints

Create Appointment

  • Method: POST
  • Path: /api/scheduling/appointments
  • Price: $0.05 per call
  • Description: Book an appointment. Automatically checks for conflicts and confirms availability.

Request:

{
  "title": "Discovery Call - Comfort Zone HVAC",
  "start_time": "2026-04-03T10:00:00-05:00",
  "duration_minutes": 30,
  "staff_id": "staff_cameron",
  "attendees": [
    {"name": "Mike Torres", "email": "mike@comfortzonehvac.com"}
  ],
  "type": "discovery-call",
  "notes": "Interested in AI scheduling bundle, $497/mo",
  "send_confirmation": true
}

Response:

{
  "id": "apt_6r2nw8",
  "title": "Discovery Call - Comfort Zone HVAC",
  "start_time": "2026-04-03T10:00:00-05:00",
  "end_time": "2026-04-03T10:30:00-05:00",
  "staff_id": "staff_cameron",
  "status": "confirmed",
  "confirmation_sent": true,
  "meeting_link": "https://meet.mcfagentic.com/apt_6r2nw8"
}

List Appointments

  • Method: GET
  • Path: /api/scheduling/appointments
  • Price: $0.02 per call
  • Description: List appointments with optional filters for date range, staff, and status.

Request:

GET /api/scheduling/appointments?staff_id=staff_cameron&start_date=2026-04-01&end_date=2026-04-07

Response:

{
  "appointments": [
    {
      "id": "apt_6r2nw8",
      "title": "Discovery Call - Comfort Zone HVAC",
      "start_time": "2026-04-03T10:00:00-05:00",
      "duration_minutes": 30,
      "status": "confirmed"
    }
  ],
  "total": 1
}

Manage Staff

  • Method: POST
  • Path: /api/scheduling/staff
  • Price: $0.03 per call
  • Description: Create or update staff profiles. Define who can be booked and their default settings.

Request:

{
  "name": "Cameron Fagan",
  "email": "cameron@mcfagentic.com",
  "timezone": "America/Chicago",
  "default_meeting_duration": 30,
  "booking_buffer_minutes": 15,
  "max_daily_meetings": 8
}

Response:

{
  "id": "staff_cameron",
  "name": "Cameron Fagan",
  "timezone": "America/Chicago",
  "status": "active"
}

Check Availability

  • Method: GET
  • Path: /api/scheduling/availability-windows
  • Price: $0.02 per call
  • Description: Get available time slots for a staff member within a date range. Returns bookable windows accounting for existing appointments and buffer times.

Request:

GET /api/scheduling/availability-windows?staff_id=staff_cameron&date=2026-04-03&duration=30

Response:

{
  "staff_id": "staff_cameron",
  "date": "2026-04-03",
  "timezone": "America/Chicago",
  "available_slots": [
    {"start": "09:00", "end": "09:30"},
    {"start": "10:30", "end": "11:00"},
    {"start": "11:00", "end": "11:30"},
    {"start": "13:00", "end": "13:30"},
    {"start": "14:00", "end": "14:30"},
    {"start": "15:00", "end": "15:30"}
  ]
}

Set Availability Windows

  • Method: POST
  • Path: /api/scheduling/availability-windows
  • Price: $0.03 per call
  • Description: Define recurring availability windows for a staff member. Set working hours, blocked times, and day-off overrides.

Request:

{
  "staff_id": "staff_cameron",
  "recurring": [
    {"day": "monday", "start": "09:00", "end": "17:00"},
    {"day": "tuesday", "start": "09:00", "end": "17:00"},
    {"day": "wednesday", "start": "09:00", "end": "17:00"},
    {"day": "thursday", "start": "09:00", "end": "17:00"},
    {"day": "friday", "start": "09:00", "end": "12:00"}
  ],
  "blocked": [
    {"date": "2026-04-04", "reason": "Company holiday"}
  ]
}

Response:

{
  "staff_id": "staff_cameron",
  "availability_updated": true,
  "next_available": "2026-04-03T09:00:00-05:00"
}

Use Cases

  • A sales agent books a discovery call after a lead expresses interest via email
  • An AI receptionist checks availability and schedules appointments from inbound requests
  • A service agent coordinates technician schedules for work order fulfillment
  • An orchestrator agent manages a consultant's calendar across multiple client engagements
  • A follow-up agent reschedules missed appointments automatically

Pricing

EndpointPriceDescription
/api/scheduling/appointments (POST)$0.05Create an appointment
/api/scheduling/appointments (GET)$0.02List appointments
/api/scheduling/staff$0.03Create/update staff profiles
/api/scheduling/availability-windows (GET)$0.02Check available slots
/api/scheduling/availability-windows (POST)$0.03Set availability rules