AFI AFI

Acuity Scheduling

Estimated reading: 4 minutes Updated August 1, 2026

Acuity Scheduling (Squarespace Scheduling) is an appointment booking and scheduling platform. Advanced Form Integration creates appointments in Acuity Scheduling directly from your WordPress form submissions, so clients can be booked into your calendar without manually using the Acuity booking page.

What you’ll need

  • An active Acuity Scheduling account.
  • Your Acuity User ID and API Key (see below).
  • At least one Appointment Type configured in Acuity.
  • The Advanced Form Integration plugin installed and activated.

Get your Acuity Scheduling credentials

Acuity Scheduling authenticates API requests using HTTP Basic Auth with your User ID as the username and your API Key as the password.

  1. Sign in to your Acuity Scheduling account.
  2. Go to Integrations → API → View Credentials.
  3. Copy your User ID and API Key.
  4. In WordPress, go to AFI → Settings → Acuity Scheduling.
  5. Click Add Account, paste the User ID and API Key, and give the account a name.
  6. Click Save.

Create the integration

  1. Go to AFI → Add New.
  2. Give the integration a name, for example Booking form to Acuity.
  3. Under Trigger, pick the form plugin and the specific form you want to listen on.
  4. Under Action → Platform, select Acuity Scheduling.
  5. In Task, choose Create Appointment.
  6. Pick the saved account in the Acuity Account dropdown. AFI loads appointment types and calendars from the API.
  7. Select an Appointment Type (required). Click the refresh icon if your types have changed in Acuity.
  8. Optional: select a Calendar to force a specific calendar. Leave blank for auto-selection based on availability.
  9. Choose a Booking Mode (see below).
  10. Optional: check Disable confirmation emails/SMS to suppress Acuity’s automatic notifications for appointments created through this integration.
  11. Map your form fields onto the Acuity fields listed below.
  12. Optional: open Conditional Logic to limit which submissions are sent.
  13. Click Save Integration.

Booking modes

Mode Behavior
Book like a client Checks real-time availability before creating the appointment. Fails if the slot is taken or outside available hours.
Book as admin Bypasses availability checks. A Calendar selection is required. Use this when you trust the form’s date/time and want to override Acuity’s scheduling rules.

Tasks supported

Create Appointment

Creates an appointment in Acuity Scheduling via POST /appointments. The appointment appears on your calendar immediately. In client booking mode, Acuity validates the time slot against your availability. In admin mode, the appointment is created regardless of availability.

Required fields

Field Field key Notes
Appointment Date & Time datetime ISO 8601 format, e.g. 2024-05-12T14:00:00-0500
First Name firstName
Last Name lastName
Email email

Optional fields

Field Field key Notes
Phone phone
Timezone timezone IANA timezone such as America/New_York. Defaults to the calendar timezone.
Certificate / Coupon Code certificate Applies a coupon or gift certificate
Notes notes
Price Override price Overrides the appointment type price (for paid appointments)
Form Fields (JSON) fieldDefinitions JSON array to populate Acuity intake forms: [{"id":123,"value":"Answer"}]
Addon IDs addonIds Comma-separated list of addon IDs
Label ID labelId Attaches a label to the appointment

Populating intake form fields

If you have custom intake forms in Acuity, pass answers using the Form Fields (JSON) field. Build a JSON array where each object contains the field id (from Acuity’s form editor) and the value:

[{"id":123,"value":"Yes"},{"id":456,"value":"Blue"}]

Conditional logic example

Only create an Acuity appointment when the form’s appointment_type field equals consultation. Other form submissions are ignored, letting you use a single form for multiple purposes. Add a condition: Appointment Type is consultation.

Troubleshooting

Nothing arrives in Acuity

Open AFI → Log and find the most recent entry for this integration. AFI stores the request it sent and the raw response it got back, so the Acuity error message is right there. If there is no log entry at all, the trigger never fired: re-check the form selection and submit a real test entry from the front end rather than the form builder preview.

“Appointment type is required”

You must select an Appointment Type in the integration. Appointment types are loaded from your Acuity account after you connect. If the dropdown is empty, verify your credentials are correct and click the refresh icon next to the dropdown.

Slot unavailable in client mode

When booking like a client, Acuity checks real-time availability. If the requested time slot is taken, outside your business hours, or past the booking cutoff, Acuity rejects the request. Either switch to admin mode (which bypasses availability) or map a date/time that you know is open.

Datetime format errors

The datetime field must be in ISO 8601 format with timezone offset, e.g. 2024-05-12T14:00:00-0500. If your form captures date and time separately, combine them into a single ISO string before mapping. Mismatched timezone offsets are the most common cause of appointments landing at the wrong hour.

Related docs