Skip to main content
Appointments plugs into two outside services, and they do different jobs. Google Calendar keeps your DMLY diary and your real calendar in step, in both directions. Zoom puts a join link on bookings. You can connect either one on its own; Zoom works fine with no calendar connected at all. Google Calendar connects in two places: once for the business, under Appointments → Settings → Calendar, and once per person, on the Staff tab. Zoom lives under Integrations → Zoom.

Which calendar answers for whom

One rule decides everything else on this page: A staff member’s own calendar wins. The workspace calendar is the fallback for everyone who has not got one. Own means a calendar set for that person. It can sit on your business Google account or on one they connected themselves, and the rule is the same either way. So for each person, in order: Two stylists who each keep their own Google diary is exactly the case this is for: connect one calendar each, and blocking out Tuesday morning in Alex’s diary closes Alex’s slots and leaves Sam’s alone. Events on the workspace calendar are different: they close slots for the whole team, including the staff who have their own. For anyone on the fallback that is immediate, because the workspace calendar is the one being read for them. For staff with their own calendar it arrives by the pull sweep instead, so allow about five minutes. One more distinction worth holding on to: setting a person’s calendar and connecting a Google account for that person are two different steps. Until somebody connects a personal account, the calendars you can give them are the business account’s, and the modal says so: Using the business Google account.

What syncs, and which way

Each direction has its own switch, so you can push without pulling or the reverse.
Push DMLY → Google and Pull Google → DMLY govern the workspace calendar only. A staff member’s own calendar always syncs both ways, and there is no switch for it. Turning pull off does not stop their Google events from closing their slots.
Free/busy from the calendar that answers for that person is one of the things DMLY subtracts when it works out open slots, alongside working hours, notice rules, buffers and existing bookings. See Staff and availability.
Zoom does not need Google Calendar. Google Meet (auto link) does: the Meet link is created on the calendar event, so if no calendar answers for that staff member, a Google Meet service produces no link. When the staff member has connected their own Google account, the Meet room is created under theirs, not the business’s.
Deleting a DMLY-created event from Google Calendar cancels the appointment in DMLY, and the client is told, just as if you had cancelled it here. If you use the calendar as a scratch pad and don’t want that, switch off Notify customers when appointments are cancelled from connected calendars under Appointments → Settings → Client portal. It’s on by default. Classes and blocked time are exempt; DMLY stays the source of truth for those.

Connect the workspace calendar

This is the business’s calendar: the one that answers for every staff member who has not connected their own.
1

Open the Calendar tab

Go to Appointments → Settings → Calendar and select Connect Google Calendar.
2

Authorise the Google account

Sign in and grant the Calendar permission. Google treats this as a sensitive permission, so expect a consent screen.
3

Choose the calendar

Pick one under Calendar to sync. Bookings for staff on the workspace fallback land here, and this calendar’s free/busy is what closes their slots.
Events on this calendar close slots for every staff member, including the ones who have connected a calendar of their own. Connect a calendar that represents the whole business’s busy time, not one person’s diary: a personal calendar full of dentist appointments will quietly close slots for the entire team. If each person keeps their own diary, connect those on the Staff tab instead.
4

Set the direction

Push DMLY → Google and Pull Google → DMLY are separate switches. Leave both on for true two-way sync.The Calendar tab of Appointment settings showing a connected Google Calendar, the Calendar to sync picker and the Push and Pull switches highlighted
Last synced and the sync status appear under the switches once the first sweep has run. Disconnect removes the connection.

Connect a staff member’s own calendar

1

Open the Staff tab

Go to Business → Appointments → Staff. The Calendar column shows what answers for each person right now: Not connected, Workspace calendar, or Own · <N> checked.Careful with the two things called Calendar here: the first tab on the Appointments screen is the booking diary, and the column on the Staff table is the Google connection.
2

Open that person's calendars

Select the cell in the Calendar column. There is no separate Connect button on the row: the cell is the button, and its label is the current state. It opens Calendars for <name>: Which calendars say this person is busy, and where their bookings are written.
3

Sign in to Google

Select Connect Google. Whichever Google account is signed in to that browser is the one that gets connected, so the staff member normally does this at their own screen. There is no way to invite them by email.Straight after connecting, their primary Google calendar is both the calendar checked for conflicts and the one their bookings are written to.The Calendars for Nora Park window with the Connect Google button highlighted, the Check these for conflicts list and the Write bookings to picker
4

Choose what makes them busy

Tick calendars under Check these for conflicts: Busy time on any of these makes them unavailable. Include a personal calendar if one should block work. Tick as many as you like.
5

Choose where their bookings go

Write bookings to takes exactly one calendar: New appointments for this person are created on this one calendar. Save, and the flash reads Calendar updated for this staff member.
The row now reads Own · <N> checked, where N is the number of calendars ticked for conflicts.
A staff member can do this for their own row without any management permission. Anyone else’s row needs the Appointments settings permission. Connecting or disconnecting the Google account itself is stricter than the calendar pickers: it is gated with the Integrations module, so an owner or admin can always do it and most other people cannot. None of the three Integrations permissions is handed out to a plain member or a viewer, and a custom role only has one if you ticked it, so a teammate may well see Connect Google, select it, and simply land back on the overview page. The tick boxes and Write bookings to work for them either way.
Use the workspace calendar in the Write bookings to list only takes effect if you also clear every tick under Check these for conflicts. Leave one ticked and their own connection stays: bookings are written to the first ticked calendar, and the row goes back to reading Own · 1 checked. To hand someone back to the workspace calendar, clear the ticks and the destination together, and check the row afterwards says Workspace calendar.

What their own calendar changes

  • Busy time on the calendars they ticked closes their slots only.
  • Their bookings are written to the one calendar under Write bookings to. That is on their own Google account when they connected one, and on the business account when they only picked from its calendars.
  • A Google Meet (auto link) service creates the Meet room on whichever Google account that calendar belongs to. Where they connected their own, the room is theirs rather than the business’s.
  • They stop being checked against a calendar bound to the Service itself. If you use a Service calendar for a room or a chair, that room no longer constrains anyone who has connected their own calendar.
  • Time off and blocked time entered in DMLY do not appear on their own Google calendar. Those only ever go to the workspace calendar, whoever they are for.

Disconnect a staff calendar

Open the same cell and select Disconnect. DMLY asks: Disconnect the Google account for <name>? Their bookings and history stay; the business calendar answers for them again. That is accurate as long as the business calendar is connected. If it is not, nothing external checks or receives that person’s bookings after the disconnect, and their row reads Not connected. Three things to expect afterwards:
  • Their DMLY bookings, history and past sync records are untouched.
  • Events DMLY already created on their personal calendar stay there. DMLY can no longer edit them, so rescheduling or cancelling one of those older bookings will not remove the event from their private calendar. Tidy those by hand.
  • Their tick list is not remembered. Disconnecting clears it, so connecting them again afterwards starts from their primary calendar and you tick the calendars afresh.

Connect Zoom

1

Connect the account

Go to Integrations → Zoom and select Sign in with Zoom. One Zoom account serves the whole workspace.
2

Set a service's location

In Offerings → Services, open a Service and set Location to Zoom (auto link). This is the switch that matters; Zoom being connected does nothing on its own.
Bookings on those Services now get a Zoom meeting and join link automatically. The link travels in confirmations, reminders and the calendar event. Per-staff calendars change nothing here: Zoom is workspace-wide and works even when no calendar is connected anywhere.

What Zoom does over a booking’s life

  • Booked: a meeting is created and the join link is saved on the booking.
  • Rescheduled: the same meeting moves. The join link does not change, so a client who already saved it is fine.
  • Cancelled: the meeting is deleted from Zoom.
  • Deleted in your Zoom portal: if you delete a meeting yourself and the booking is later rescheduled, DMLY notices the dead link and creates a replacement.

What breaks it

First check whose calendar should have them. Open Appointments → Staff and read the Calendar column for that person.If it says Own · <N> checked, the booking went to the calendar under Write bookings to on their own account, not to the business calendar.If it says Workspace calendar, check Push DMLY → Google is on and the connection still shows as connected, then confirm Calendar to sync points at the calendar you are watching; an unset or changed selection sends events to the Google account’s primary calendar instead. If the Service is pointed at its own calendar rather than the workspace one, its bookings go there instead.If nothing is connected, bookings still work perfectly; they just live only in DMLY. A calendar error never blocks or undoes a booking; the slot is held in DMLY first and the event is pushed afterwards.
Open their Calendar cell and check three things.The calendar is actually ticked. Only calendars under Check these for conflicts close slots. With nothing ticked at all, the one under Write bookings to stands in and is checked on its own. Tick anything, and that stand-in stops: the ticked list becomes the whole list, and even the destination calendar is checked only if you ticked it too.The calendar exists in the list. A calendar created in Google after they connected never appears in their picker, and there is no refresh for a staff account. The fix is Disconnect, then Connect Google again, then tick the calendars afresh.Their Google access is still live. If they revoked DMLY in their Google account, or the sign-in expired, the row still reads Own · <N> checked while none of their calendars is being read. DMLY quietly falls back to the calendar bound to the Service, if that Service has one, and to nothing at all if it does not. Admins get an email about the broken connection, but it links to the Integrations page, and a staff member’s own Google account is deliberately not listed there. Fix it on Appointments → Staff instead: open their cell and connect again.What you can rule out is a delay. DMLY asks Google for their free/busy every time it works out slots, so an event on a ticked calendar closes their slots at the next look rather than on a timer. The 5 minute sweep is a different job and is not what is closing slots here.
Check Pull Google → DMLY is on and that the events are on the calendar chosen in Calendar to sync; for the workspace connection DMLY only reads that one calendar. The sweep runs every 5 minutes.
Connecting their Google account again after it broke or expired resets Write bookings to to that account’s primary calendar. The Check these for conflicts ticks survive that, so the change is easy to miss: slots keep closing correctly while new appointments start landing on the primary calendar. Reopen the cell and set the destination again after any reconnect.A reconnect that follows a Disconnect is different: that clears the ticks as well, so you set both up from scratch.
This only bites when the two people are answered by different calendars: one has their own and the other does not, or they each have their own. Then reassigning does not move the event. The original stays on the first person’s calendar, nothing appears on the second person’s, and a later cancellation will not clear the original either. The client is still messaged about the change, so nothing looks wrong from the outside. Where both are answered by the same calendar there is nothing to move and nothing to fix.Cancel the booking and rebook it on the new staff member if the calendar entry matters.
A Service set to Pay before booking holds the slot for 15 minutes without pushing anything. No calendar event, no Zoom meeting and no confirmation until the payment clears. If it never clears, the hold expires and nothing was ever pushed. This is working as intended. See Appointment payments.
Google expires the token DMLY uses to track changes. When that happens DMLY clears it, flags the status, and does a full resync on the next sweep, within about five minutes. No action needed.A status of error is different: something went wrong and stayed wrong. Check the connection is still authorised, and see Logs.

Calendar Feed

Appointments → Settings → Calendar also offers a Calendar Feed: a URL you can subscribe to from Google Calendar, Outlook or Apple Calendar to see appointments and classes. It is read-only and one-way: changes made where you subscribe never come back to DMLY. There is one feed for the workspace and it covers everyone. There is no per-person feed, and staff calendars change nothing about it. If no feed exists yet, Get calendar feed mints one, and it works whether or not a Google account is connected anywhere.
Regenerate URL invalidates the old link. Anyone already subscribed silently stops receiving updates until you send them the new URL.

Services

Set duration, location and booking policy.

Staff and availability

Working hours, time off and how slots are worked out.

Appointment payments

Pay before, pay after, and what holds a slot.

Integrations

Everything you can connect to your workspace.