Bookafy
SchedulingConnect AI agents to Bookafy, an online appointment scheduling platform. Agents create and update appointments, look up available time slots, and manage customers and staff so booking changes happen without back-and-forth email.
What This Integration Enables
Bookafy is built around a public booking URL, and every object in the API points back at one. List Staff Members returns each staff user with their own public booking URL. List Services returns the booking slug for each service. List Appointment Types returns the public booking page links grouped by category. The private API exists so that automation can do what the public page does, on the customer's behalf, with better information than a web form has. Agents look up services and staff, call Get Available Time Slots for a real set of openings in the requested time zone, and then place the appointment with Create Appointment, attaching or creating the customer in the same request.
The details that matter in practice are the ones that catch people out. Times are interpreted in UTC, so an agent resolving a customer's local time is doing real work rather than passing a string through. Custom Fields are keyed by the exact intake labels configured in Bookafy, which lets answers captured upstream land on the record instead of in a separate inbox. Update Appointment replaces the scheduling definition rather than patching it, so every core field has to be supplied together. Agents handle all of that reliably. What they hand back to a person is described below. Every action is built and verified against the Bookafy API.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Lead to Booked Intake Call
A lead fills out a landing page form and the row lands in Google Sheets. The agent runs List Customers to see whether this person already exists, creates them with Create Customer if not, and passes the qualifying answers through Custom Fields using the exact labels configured in Bookafy. It then runs List Services to pick the right intake type, calls Get Available Time Slots for the assigned staff member in the lead's own time zone, and books the first slot that fits with Create Appointment. The lead is contacted once, with a time that is real, instead of being sent a link and forgotten.
Offering the Next Open Times
A customer replies to a reminder asking to move their appointment. The agent runs List Appointments for that customer's email, identifies the booking, and calls Get Available Time Slots for the same staff member and service across the next several days. It sends the three nearest options through Gmail in the customer's time zone. When the customer picks one, the agent runs Update Appointment with the full scheduling definition, because the operation replaces rather than patches, and confirms the new time. Nobody in the office negotiates a reschedule over four emails.
A Reporting Mirror That Stays Current
The operations lead wants bookings visible where the rest of the business reporting lives. The agent runs Create Webhook Subscription for appointment created, updated, and deleted events, pointing at a FlowRunner entry point, then keeps a mirror in Airtable so utilization by staff member and service is queryable alongside everything else. List Webhook Subscriptions is used to audit what is registered, and Delete Webhook Subscription retires a callback cleanly when a flow is decommissioned. Webhook subscriptions require a paid Bookafy premium plan or above, so the agent verifies the account first with Get Account Email.
Human-in-Loop Highlight
Create Staff Member is the operation in this connector with a consequence outside the database. It requires administrator privileges on the authenticated account, and what it produces is not just a row: it is a person with their own public booking URL, which the outside world can immediately put time on. A new hire who has not finished onboarding, a contractor whose service list is wrong, or a duplicate profile for someone who already exists all become bookable the moment the call succeeds, and the appointments that arrive in the meantime are real commitments to real customers. So the agent prepares everything and stops. It posts the draft to the hiring manager in Slack: "Ready to make [name] publicly bookable as [role], for services [list], starting [date]. Their booking URL will be live immediately. Approve, change the service list, or hold?" The manager decides. On approval the agent runs Create Staff Member with the confirmed role type, then verifies with List Staff Members and passes the live URL back into the onboarding thread. Booking, rescheduling, and customer lookups run without asking. Putting a colleague's calendar in front of the public does not.
Agent Capabilities
17 actionsAppointments
4- Create Appointment Books an appointment for a staff member and service at a specific date and time, creating or attaching the customer in the same request. Dates and times are interpreted in UTC. Organization specific intake answers pass through Custom Fields.
- List Appointments Retrieves scheduled appointments for a given customer email, optionally narrowed to a date range and paged. Used to find the booking behind a reschedule request or a support question.
- Update Appointment Updates an appointment and its customer details by ID. This replaces the appointment definition, so staff member, service, date, and times must all be supplied together rather than patched individually.
- Delete Appointment Deletes or cancels an existing appointment by ID. The staff member ID that owns the appointment is required to authorize the removal.
Availability and Services
3- Get Available Time Slots Retrieves the bookable slots for a service, staff member, and date, returned in the requested time zone. Run this before Create Appointment so the booking lands on a slot the staff member is genuinely free for.
- List Services Retrieves every service configured for the organization with full detail, including duration, price, buffers, scheduling mode, meeting integrations, and booking slug.
- List Appointment Types Retrieves the appointment types offered by the organization, grouped by category, together with their public booking page links. Useful when a flow needs to hand a customer a self service URL instead of booking for them.
Customers
3- Create Customer Creates a customer record. Name is required, and intake fields pass through Custom Fields keyed by their exact Bookafy labels.
- List Customers Retrieves the customer records on the account, including contact details and stored custom field values. The duplicate check before a new record is written.
- Update Customer Updates a customer by ID. Supply the fields to change, plus any intake fields through Custom Fields using their exact Bookafy labels as keys.
Staff
2- List Staff Members Retrieves the staff users in the organization with their name, email, public booking URL, and profile image. Used to resolve a staff ID before checking availability or booking.
- Create Staff Member Creates a new staff user, which gives that person a live public booking URL. Requires administrator privileges, and the role type controls the new user's permissions. Routed for human approval before it runs.
Webhook Subscriptions
3- Create Webhook Subscription Registers a webhook so Bookafy posts to a callback URL when appointments or customers are created, updated, or deleted. Requires a paid premium subscription or above.
- List Webhook Subscriptions Retrieves the webhook subscriptions registered for the organization, including callback URLs and subscribed event types. The audit read before changing anything.
- Delete Webhook Subscription Removes a webhook subscription by ID so Bookafy stops sending events to its callback URL.
Account
2- Get Account Email Returns the administrator email tied to the configured API key. Used as a connection check to confirm which account a flow is acting as before it writes anything.
- Generate API Key Exchanges a Bookafy account email and password for the API key used by every other operation. Run once to obtain the key, then store it in the service configuration. This is the only call that does not require an existing key.
Frequently Asked Questions
What can FlowRunner do with Bookafy?
FlowRunner agents can run Create Appointment, List Appointments, and Update Appointment in Bookafy, plus 14 more actions.
Does connecting Bookafy to FlowRunner require OAuth?
No. Bookafy connects to FlowRunner with an API key, no OAuth flow required.
Can Bookafy trigger a FlowRunner workflow automatically?
Bookafy doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Bookafy
$100 in credits. No card required. Connect in minutes.