> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Acuity Scheduling

Con las [herramientas webhook](/docs/es/reception-ai/integrations/webhooks) que se indican a continuación, tu recepcionista puede consultar cuándo está disponible un tipo de cita y reservar a quien llama en una franja disponible. Acuity envía al cliente su correo electrónico de confirmación habitual.

## Antes de empezar

### Comprueba tu plan

Acuity solo incluye acceso a la API en su plan superior (Premium, antes llamado Powerhouse). En otros planes, las herramientas siguientes fallan con un error 403.

### Obtén tus credenciales de API

En Acuity, abre **Integrations**, busca **API** y copia tu **User ID** y tu **API Key**.

### Crea la cabecera de autorización

Acuity utiliza tu ID de usuario como nombre de usuario y la clave de API como contraseña. Codifícalos en una terminal, sustituyendo ambos marcadores:

```bash
printf 'USER_ID:API_KEY' | base64
```

El valor de la cabecera es `Basic ` seguido del resultado.

> **Warning**
>
> No pegues tu clave de API en un codificador online. Cualquiera que la tenga puede leer y modificar tus
> citas y los datos de tus clientes.

### Busca el ID del tipo de cita

Copia el enlace de programación directa del tipo de cita que quieres que reserve tu recepcionista. El número que aparece después de `appointmentType=` en el enlace es su ID. Las herramientas siguientes lo utilizan en lugar de `APPOINTMENT_TYPE_ID`.

## Crea las herramientas

Para cada herramienta, ve a **Integrations**, selecciona **Add integration**, elige **Webhook Tool** y configura **Assign to agents** como **Receptionist**.

### Consulta horarios disponibles

| Campo                | Valor                                                                                                                                                                       |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**             | `check_acuity_availability`                                                                                                                                                 |
| **Description**      | "Muestra las horas de cita disponibles en una fecha. Úsala antes de ofrecer una hora a quien llama."                                                                        |
| **Method**           | GET                                                                                                                                                                         |
| **URL**              | `https://acuityscheduling.com/api/v1/availability/times`                                                                                                                    |
| **Request Headers**  | `Authorization`: `Basic ` seguido de las credenciales codificadas                                                                                                           |
| **Query Parameters** | `appointmentTypeID` (número, obligatorio): "Siempre el valor exacto `APPOINTMENT_TYPE_ID`."  `date` (cadena, obligatorio): "La fecha que consultar, en formato AAAA-MM-DD." |

### Reserva una cita

| Campo               | Valor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name**            | `book_acuity_appointment`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **Description**     | "Reserva a quien llama en una hora disponible cuando haya elegido una. Confirma antes con esa persona la fecha y la hora."                                                                                                                                                                                                                                                                                                                                                                                                              |
| **Method**          | POST                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **URL**             | `https://acuityscheduling.com/api/v1/appointments`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Request Headers** | `Authorization`: `Basic ` seguido de las credenciales codificadas                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Body Parameters** | `datetime` (cadena, obligatorio): "La hora elegida, exactamente como la devuelve `check_acuity_availability` en un valor `time`."  `appointmentTypeID` (número, obligatorio): "Siempre el valor exacto `APPOINTMENT_TYPE_ID`."  `firstName` (cadena, obligatorio): "El nombre de quien llama."  `lastName` (cadena, obligatorio): "El apellido de quien llama."  `email` (cadena, obligatorio): "La dirección de correo electrónico de quien llama. Pídele que la deletree."  `phone` (cadena): "El número de teléfono de quien llama." |

Selecciona **Enable** en cada herramienta y, después, [prueba tu recepcionista](/docs/es/reception-ai/receptionist/testing) solicitando una cita. La reserva aparecerá en tu calendario de Acuity.

> **Tip**
>
> Para reservar varios tipos de cita, sustituye "Siempre el valor exacto" en ambas herramientas por una lista, por
> ejemplo: "Usa `111` para una consulta de 30 minutos y `222` para una sesión de 60 minutos."

## Limitaciones

* Acuity requiere una dirección de correo electrónico para cada reserva, por lo que tu recepcionista pide a quienes llaman que deletreen la suya.
* Las respuestas de los formularios de admisión se envían como una lista, que las herramientas webhook no pueden enviar. Las notas de reserva solo pueden configurarse mediante una reserva de administrador, que omite las comprobaciones de disponibilidad de Acuity, por lo que las herramientas anteriores no configuran ninguna de las dos cosas.
* Las herramientas no pueden cancelar ni reprogramar citas. Para ello necesitas el ID de la cita en la URL.

## Solución de problemas

| Problema                               | Qué comprobar                                                                                                                              |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| 401 de Acuity                          | Codifica `USER_ID:API_KEY` con los dos puntos e inicia el valor de la cabecera con `Basic ` y un espacio.                                  |
| 403 de Acuity                          | Tu plan no incluye acceso a la API.                                                                                                        |
| No se devuelven horarios               | Comprueba el ID del tipo de cita y que el tipo tenga horas disponibles en esa fecha.                                                       |
| La reserva falla con `not_available`   | La hora ya está ocupada o no está disponible. Indica a la recepcionista que vuelva a consultar los horarios disponibles antes de reservar. |
| La reserva falla porque falta un campo | Puede que tu cuenta requiera un número de teléfono. Haz que `phone` sea obligatorio en la herramienta de reserva.                          |