Acuity Scheduling

Book Acuity Appointment

Books an appointment in Acuity Scheduling for a customer.

Unverified

What the model is told

Book an appointment. Check availability first and confirm the time, name, email and phone number with the customer before booking. datetime must be a time returned by the availability check. Acuity emails the customer a confirmation. Tell them the booking is made, or that the slot is no longer available and offer another time.

Request

POSThttps://acuityscheduling.com/api/v1/appointments

Headers

  • Content-Typeapplication/json
  • AuthorizationBasic YOUR_BASE64_ACUITY_USER_ID_AND_API_KEY

Body

{
  "datetime": "{{datetime}}",
  "appointmentTypeID": 12345678,
  "firstName": "{{firstName}}",
  "lastName": "{{lastName}}",
  "email": "{{email}}",
  "phone": "{{phone}}",
  "timezone": "{{timezone}}"
}

Parameters

  • datetime stringThe chosen time exactly as returned by the availability check.
  • firstName stringThe customer's first name.
  • lastName stringThe customer's last name.
  • email stringThe customer's email address.
  • phone stringThe customer's phone number.
  • timezone stringThe customer's IANA time zone.

Engage payload

{
  "source": "VOICE_AI",
  "tool": {
    "id": "183cabda-6b7b-4bb8-a7fa-fdf08bac55d4",
    "type": "HTTP_REQUEST",
    "label": "Book Acuity Appointment",
    "name": "book_acuity_appointment",
    "customName": false,
    "description": "Book an appointment. Check availability first and confirm the time, name, email and phone number with the customer before booking. datetime must be a time returned by the availability check. Acuity emails the customer a confirmation. Tell them the booking is made, or that the slot is no longer available and offer another time.",
    "parameters": [
      {
        "name": "datetime",
        "type": "string",
        "description": "The chosen time exactly as returned by the availability check."
      },
      {
        "name": "firstName",
        "type": "string",
        "description": "The customer's first name."
      },
      {
        "name": "lastName",
        "type": "string",
        "description": "The customer's last name."
      },
      {
        "name": "email",
        "type": "string",
        "description": "The customer's email address."
      },
      {
        "name": "phone",
        "type": "string",
        "description": "The customer's phone number."
      },
      {
        "name": "timezone",
        "type": "string",
        "description": "The customer's IANA time zone."
      }
    ],
    "config": {
      "endpoint": {
        "method": "POST",
        "url": "https://acuityscheduling.com/api/v1/appointments"
      },
      "headers": [
        {
          "name": "Content-Type",
          "value": "application/json"
        },
        {
          "name": "Authorization",
          "value": "Basic YOUR_BASE64_ACUITY_USER_ID_AND_API_KEY"
        }
      ],
      "body": "{\n  \"datetime\": \"{{datetime}}\",\n  \"appointmentTypeID\": 12345678,\n  \"firstName\": \"{{firstName}}\",\n  \"lastName\": \"{{lastName}}\",\n  \"email\": \"{{email}}\",\n  \"phone\": \"{{phone}}\",\n  \"timezone\": \"{{timezone}}\"\n}",
      "timeout": null
    }
  }
}

IDs are regenerated on every copy.