> 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

Com as [ferramentas de webhook](/docs/pt/reception-ai/integrations/webhooks) abaixo, sua recepcionista pode verificar quando um tipo de compromisso está disponível e agendar quem ligou em um horário livre. O Acuity envia ao cliente o e-mail de confirmação habitual.

## Antes de começar

### Verifique seu plano

O Acuity inclui acesso à API apenas no plano mais completo (Premium, anteriormente chamado de Powerhouse). Nos outros planos, as ferramentas abaixo falham com um erro 403.

### Obtenha suas credenciais da API

No Acuity, abra **Integrações**, encontre **API** e copie seu **ID de usuário** e sua **chave da API**.

### Crie o cabeçalho de autorização

O Acuity usa seu ID de usuário como nome de usuário e a chave da API como senha. Codifique-os em um terminal, substituindo ambos os espaços reservados:

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

O valor do cabeçalho é `Basic ` seguido pela saída.

> **Warning**
>
> Não cole sua chave da API em um codificador online. Qualquer pessoa que a tiver poderá ler e alterar seus
> compromissos e dados de clientes.

### Encontre o ID do tipo de compromisso

Copie o link direto de agendamento do tipo de compromisso que deseja que sua recepcionista marque. O número após `appointmentType=` no link é o ID dele. As ferramentas abaixo o usam no lugar de `APPOINTMENT_TYPE_ID`.

## Crie as ferramentas

Para cada ferramenta, acesse **Integrações**, selecione **Adicionar integração**, escolha **Ferramenta de webhook** e defina **Atribuir a agentes** como **Recepcionista**.

### Verifique horários disponíveis

| Campo                         | Valor                                                                                                                                                                |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nome**                      | `check_acuity_availability`                                                                                                                                          |
| **Descrição**                 | "Liste os horários de compromisso disponíveis em uma data. Use esta ferramenta antes de oferecer um horário a quem ligou."                                           |
| **Método**                    | GET                                                                                                                                                                  |
| **URL**                       | `https://acuityscheduling.com/api/v1/availability/times`                                                                                                             |
| **Cabeçalhos da solicitação** | `Authorization`: `Basic ` seguido pelas credenciais codificadas                                                                                                      |
| **Parâmetros de consulta**    | `appointmentTypeID` (número, obrigatório): "Sempre o valor exato `APPOINTMENT_TYPE_ID`."  `date` (string, obrigatório): "A data a verificar, no formato AAAA-MM-DD." |

### Marque um compromisso

| Campo                         | Valor                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Nome**                      | `book_acuity_appointment`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **Descrição**                 | "Marque quem ligou em um horário disponível depois que a pessoa escolher um. Primeiro confirme a data e o horário com ela."                                                                                                                                                                                                                                                                                                                                                                                              |
| **Método**                    | POST                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| **URL**                       | `https://acuityscheduling.com/api/v1/appointments`                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Cabeçalhos da solicitação** | `Authorization`: `Basic ` seguido pelas credenciais codificadas                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **Parâmetros do corpo**       | `datetime` (string, obrigatório): "O horário escolhido, exatamente como retornado em um valor `time` por `check_acuity_availability`."  `appointmentTypeID` (número, obrigatório): "Sempre o valor exato `APPOINTMENT_TYPE_ID`."  `firstName` (string, obrigatório): "O primeiro nome de quem ligou."  `lastName` (string, obrigatório): "O sobrenome de quem ligou."  `email` (string, obrigatório): "O endereço de e-mail de quem ligou. Peça para soletrar."  `phone` (string): "O número de telefone de quem ligou." |

Selecione **Ativar** em cada ferramenta e depois [teste sua recepcionista](/docs/pt/reception-ai/receptionist/testing) pedindo um agendamento. A reserva aparecerá no seu calendário do Acuity.

> **Tip**
>
> Para agendar vários tipos de compromisso, substitua "Sempre o valor exato" nas duas ferramentas por uma lista, por
> exemplo: "Use `111` para uma consulta de 30 minutos e `222` para uma sessão de 60 minutos."

## Limitações

* O Acuity exige um endereço de e-mail para cada agendamento; por isso, sua recepcionista pede às pessoas que ligam para soletrar o e-mail.
* As respostas de formulários de admissão são enviadas como uma lista, que as ferramentas de webhook não conseguem enviar. As observações da reserva só podem ser definidas por um agendamento feito por administrador, que ignora as verificações de disponibilidade do Acuity, portanto as ferramentas acima não definem nenhum dos dois.
* As ferramentas não conseguem cancelar ou remarcar compromissos. Essas ações precisam do ID do compromisso na URL.

## Solução de problemas

| Problema                              | O que verificar                                                                                                                        |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| 401 do Acuity                         | Codifique `USER_ID:API_KEY` com os dois-pontos e inicie o valor do cabeçalho com `Basic ` e um espaço.                                 |
| 403 do Acuity                         | Seu plano não inclui acesso à API.                                                                                                     |
| Nenhum horário é retornado            | Verifique o ID do tipo de compromisso e se o tipo tem horários disponíveis nessa data.                                                 |
| A reserva falha com `not_available`   | O horário foi ocupado ou não está disponível. Diga à recepcionista para verificar os horários disponíveis novamente antes de reservar. |
| A reserva falha porque falta um campo | Sua conta pode exigir um número de telefone. Torne `phone` obrigatório na ferramenta de reserva.                                       |