Cal.com

Reschedule Cal.com Booking

Moves a Cal.com booking to a new time.

Unverified

What the model is told

Move an existing booking to a new time. Check availability first and confirm the new time and the booking uid with the customer before calling. The new start must be an available slot in UTC. Tell the customer the new time, or that it failed and offer another.

Request

POSThttps://api.cal.com/v2/bookings/{{bookingUid}}/reschedule

Headers

  • Content-Typeapplication/json
  • cal-api-version2026-02-25
  • AuthorizationBearer YOUR_CAL_API_KEY

Body

{
  "start": "{{start}}",
  "reschedulingReason": "{{reason}}"
}

Parameters

  • bookingUid stringThe uid of the booking to move.
  • start stringThe new start time in UTC ISO 8601.
  • reason stringWhy the customer is rescheduling.

Engage payload

{
  "source": "VOICE_AI",
  "tool": {
    "id": "d2a1b1c7-2953-48c9-839f-a93b6c7555ce",
    "type": "HTTP_REQUEST",
    "label": "Reschedule Cal.com Booking",
    "name": "reschedule_cal_com_booking",
    "customName": false,
    "description": "Move an existing booking to a new time. Check availability first and confirm the new time and the booking uid with the customer before calling. The new start must be an available slot in UTC. Tell the customer the new time, or that it failed and offer another.",
    "parameters": [
      {
        "name": "bookingUid",
        "type": "string",
        "description": "The uid of the booking to move."
      },
      {
        "name": "start",
        "type": "string",
        "description": "The new start time in UTC ISO 8601."
      },
      {
        "name": "reason",
        "type": "string",
        "description": "Why the customer is rescheduling."
      }
    ],
    "config": {
      "endpoint": {
        "method": "POST",
        "url": "https://api.cal.com/v2/bookings/{{bookingUid}}/reschedule"
      },
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "cal-api-version",
          "value": "2026-02-25"
        },
        {
          "name": "Authorization",
          "value": "Bearer YOUR_CAL_API_KEY"
        }
      ],
      "body": "{\n  \"start\": \"{{start}}\",\n  \"reschedulingReason\": \"{{reason}}\"\n}",
      "timeout": null
    }
  }
}

IDs are regenerated on every copy.