Learn how to integrate Bolt.new AI with Acuity Scheduling in 2026 using our clear, step-by-step guide for seamless automation.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
The direct answer: You integrate Bolt.new with Acuity Scheduling by calling Acuity’s official REST API from the server-side code you run inside a Bolt.new project. You authenticate using Acuity’s Basic Auth (API key + API secret), store those credentials as environment variables, and then write API routes or backend functions that talk to Acuity’s endpoints (like listing appointment types, creating appointments, or reading schedules). There is no native “Bolt-to-Acuity integration”—you just use standard HTTP requests to Acuity’s real API.
Below is the complete breakdown of how to actually make it work safely, correctly, and in a way that junior developers can follow.
Acuity Scheduling (now under Squarespace) exposes a real REST API. It uses:
https://acuityscheduling.com/api/v1/appointments.This means your only job is to send authenticated HTTP requests from Bolt’s server runtime to Acuity’s API.
Bolt.new gives you a sandboxed full‑stack environment. It does not have prebuilt Acuity connectors. You do integration exactly as with any external API:
fetch or axios to call Acuity.This is the same real-world pattern you’d use outside Bolt, just faster to prototype.
In your Bolt.new project, put these in environment variables (never hardcode credentials):
ACUITY_API_KEYACUITY_API_SECRETInside code you load them with process.env.ACUITY_API_KEY.
This code shows how to call Acuity’s GET /appointments endpoint from a Bolt server route. It is a real, working pattern.
// Example: pages/api/acuity-appointments.js
// Bolt.new uses standard Node.js server routes.
export default async function handler(req, res) {
try {
const key = process.env.ACUITY_API_KEY;
const secret = process.env.ACUITY_API_SECRET;
const authString = Buffer.from(`${key}:${secret}`).toString("base64");
const response = await fetch(
"https://acuityscheduling.com/api/v1/appointments",
{
method: "GET",
headers: {
Authorization: `Basic ${authString}`
}
}
);
const data = await response.json();
res.status(200).json(data);
} catch (err) {
res.status(500).json({ error: "Acuity request failed", details: err.message });
}
}
You can now hit /api/acuity-appointments from your frontend, or let your AI agent inside Bolt call it when needed.
Here is a real example of creating an appointment through Acuity:
const createAcuityAppointment = async (payload) => {
const key = process.env.ACUITY_API_KEY;
const secret = process.env.ACUITY_API_SECRET;
const authString = Buffer.from(`${key}:${secret}`).toString("base64");
const response = await fetch(
"https://acuityscheduling.com/api/v1/appointments",
{
method: "POST",
headers: {
Authorization: `Basic ${authString}`,
"Content-Type": "application/json"
},
body: JSON.stringify(payload) // Example: { appointmentTypeID, datetime, firstName, lastName, email }
}
);
return await response.json();
};
Inside Bolt.new, you expose this helper in an API route or call it from server actions.
Acuity can POST data to your server when events occur (like “appointment created”). In Bolt.new, you create a route like:
// pages/api/acuity-webhook.js
export default async function handler(req, res) {
// Acuity sends JSON about appointment events
console.log("Webhook payload:", req.body);
// You can store it, trigger notifications, etc.
res.status(200).send("OK");
}
You then paste the route’s public URL into the Acuity dashboard under Webhooks.
Note: During development in Bolt, you may need to expose a public dev URL (Bolt gives this) or temporarily proxy through tools like ngrok if needed in local environments.
Once your backend API endpoints are working, you simply “teach” the AI agent in Bolt that it may call them. For example, if you build an endpoint /api/create-appointment, the agent can call it when a user says “Book me a session Tuesday at 2pm”.
The AI agent never touches the Acuity API directly — it calls your safe endpoints. This keeps keys private and makes integration stable.
This is the cleanest, correct, production-style way to integrate Bolt.new with Acuity Scheduling.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.