Treatwell Calendar Not Syncing? Fixes + Why Native Apple Sync Is More Reliable
Treatwell Connect breaking Apple Calendar sync? Three standard fixes — plus why native CalDAV beats ICS subscribe for live appointment intake.

Treatwell Calendar Not Syncing? Fixes + Why Native Apple Sync Is More Reliable
The problem: a client books a 2pm slot via Treatwell — but the appointment only shows up in your iPhone’s Apple Calendar hours later. Or never. Or you block a slot privately in Apple, and Treatwell sells it again anyway.
This isn’t an edge case, it’s a known pattern with Treatwell Connect. The reason sits in the architecture: Treatwell syncs with Apple and Google Calendar mostly via ICS subscribe (webcal:// URLs) — a technique from the early 2000s built for static feeds, not for real-time appointment intake.
In this article we first walk through the three acute fixes that restore the sync in roughly 80% of cases. Then we explain why the problem keeps happening — and what native CalDAV integration does differently. At the end: a 5-step migration path if you want to switch.
Acute: what you can do right now
Before we dive into the architecture — three standard fixes you can run in under 10 minutes.
Fix 1: Re-authorise Treatwell Connect (re-auth)
In 60% of all “not syncing” cases the OAuth connection between Treatwell and your Apple/Google account has expired or been revoked. Apple and Google invalidate tokens when, among other things:
- you changed your Apple ID password
- two-factor authentication was reset
- more than 90 days have passed since the last login
- you signed in on a new device
Re-auth in Treatwell Connect:
- Log in to Treatwell Connect → Settings → Calendar link
- Click the connected calendar (Apple / Google / Outlook)
- “Disconnect” → wait briefly (5–10 seconds so Treatwell clears the old token)
- “Reconnect” → the OAuth flow opens → sign in with the current password
- Check the permissions — “read & write calendar” must be active
After 1–2 minutes new appointments should flow again. If not: create a test appointment directly in Treatwell and watch whether it appears in Apple Calendar within 5 minutes.
Fix 2: Clear browser cookies and cache
Sounds trivial, but it helps surprisingly often — especially when the Treatwell Connect login itself hangs (“Treatwell Connect calendar login not working”).
Why? Treatwell Connect is a web app. If your browser caches an old session cookie, Treatwell sees you as “signed out” — but can’t route you cleanly to the login page because the session ID is syntactically still there.
How to do it:
- Chrome: Settings → Privacy → Clear browsing data → “Cookies and other site data” + “Cached images and files” → time range “Last hour” usually does it
- Safari: Settings → Privacy → Manage website data → search “treatwell” → remove
- Firefox: Settings → Privacy & Security → Cookies and site data → Clear data
Then restart the browser (don’t just close the tab) and reopen Treatwell Connect.
Fix 3: Check browser compatibility
For Apple Calendar connections Treatwell Connect uses an OAuth flow that strictly requires evergreen browsers. If you’re still on an older browser, the sync breaks silently.
What works (as of 2026):
- Chrome ≥ 120
- Safari ≥ 17 (macOS Sonoma+)
- Firefox ≥ 121
- Edge ≥ 120
Known to cause issues:
- Safari on macOS High Sierra (old machines) — breaks Apple OAuth due to outdated TLS
- Edge Legacy (pre-Chromium)
- Embedded browsers in iOS apps (e.g. the Treatwell mobile app sometimes opens an in-app webview instead of Safari for login → the OAuth callback gets lost)
Quick test: open https://www.whatismybrowser.com/ in the browser you use for Treatwell Connect. If the version isn’t in the supported list → update or switch browser.
Symptom vs. cause: which fix fits?
| Symptom | Most likely cause | Which fix |
|---|---|---|
| Appointments appear with 1–6 hour delay | ICS subscribe lag (not a bug, by design) | see “Why this happens” below |
| Appointments don’t appear at all | OAuth token expired | Fix 1: re-auth |
| Login to the Treatwell Connect page hangs | Stale session cookie | Fix 2: clear cookies |
| OAuth window opens, closes again empty | Browser incompatibility | Fix 3: browser check |
| Appointments appear, but cancellations don’t | ICS is read-only — updates come, deletes don’t reliably | Migration |
| Manual Apple appointments don’t block Treatwell | ICS is one-way (Treatwell → Apple, not back) | Migration |
If your symptoms sit in the bottom two rows, the three fixes won’t help — that’s architectural. More on that now.
Why Treatwell sync breaks so often — the architecture behind it
Treatwell Connect talks to Apple and Google Calendar mainly via two mechanisms:
- ICS subscribe (webcal URLs) — Treatwell publishes an
.icsfile, your Apple Calendar subscribes to it and periodically checks for updates. - OAuth + Google Calendar API (Google only, not Apple) — bidirectional, but with write quotas and latency.
For Apple Calendars there’s de facto only option 1 — ICS subscribe. And that’s where the trouble starts.
What ICS subscribe is (and isn’t)
ICS subscribe was standardised in 2004 (RFC 5545) as a mechanism for distributing public calendars — school holidays, public holidays, sports fixtures. The assumption: content rarely changes, read lag of hours is fine.
Three hard limitations:
- Polling, not push: your Apple Calendar checks the ICS URL only at a fixed interval (iCloud default: every 15 minutes to 1 hour, depending on iOS version). Treatwell cannot actively push.
- Read-only from Apple’s side: you can’t create an Apple Calendar entry that flows back to Treatwell. Private blocks are ignored — Treatwell sells the slot anyway.
- Weak delete semantics: when Treatwell cancels an appointment, the ICS file has to mark it
STATUS:CANCELLED. Apple respects that sometimes, sometimes the stale entry stays. This is one of the most common Treatwell complaints in hair-salon forums.
What native CalDAV does differently
CalDAV is the more modern standard (RFC 4791) — a read/write protocol in which your booking tool logs into the Apple Calendar server (iCloud) directly and writes appointments like a proper client.
Advantages over ICS subscribe:
- Bidirectional: privately created Apple appointments show up in the booking tool immediately and block slots
- Push-capable: changes propagate in seconds, not hours
- Real delete semantics: cancellations disappear reliably
- Conflict detection: when two sources claim the same slot, it’s caught — not double-sold
CalDAV is also the protocol Apple itself uses for iCloud. It’s the “correct” language for talking to Apple Calendars.
Comparison: ICS subscribe vs. native CalDAV
| Property | ICS subscribe (Treatwell) | Native CalDAV (EazyBooking) |
|---|---|---|
| Direction | One-way (Booking → Apple) | Two-way |
| Latency | 15 min – 6 h | < 30 seconds |
| Private block protects the slot | No | Yes |
| Reliable cancellations | No (often ghost entries) | Yes |
| Re-auth needed after password change | No (but no write access either) | Yes (app-specific password) |
| RFC compliance | 5545 (2004) | 4791 (2007) + Apple iCloud extensions |
| Suitable for live appointment intake | Limited | Yes, built for it |
In other words: Treatwell’s Apple sync isn’t “broken” — it’s architecturally bounded. The three fixes above help with the symptoms, but the structural problem (latency, missing private-block detection, weak deletes) stays.
How EazyBooking does it differently
EazyBooking was built from day one with CalDAV as the primary protocol for Apple sync — not ICS subscribe. Concretely:
- When a client books online, the appointment lands within 30 seconds in the responsible staff member’s Apple Calendar
- When that staff member adds a “2pm dentist” entry to her private Apple Calendar, the slot is blocked on the online booking page — clients can’t book it in the first place
- Cancellations disappear reliably on both sides
- Recurring appointments, time zones and multi-staff bookings are handled cleanly
If the technical detail interests you, we cover the implementation in depth in Sync Apple, Google and Outlook Calendar — Complete Guide 2026.
For a head-to-head feature comparison there’s a dedicated Treatwell alternative overview — price, commission, data ownership and calendar features side by side.
Migration path: from Treatwell to EazyBooking in 5 steps
If you’ve decided to switch, here’s the field-tested path. Plan: two weeks running in parallel, then a hard cut.
Step 1: Export customer records
In Treatwell: Settings → Data export → Customers → download CSV. That includes name, phone, email and history. Store the CSV safely (GDPR — no open cloud folder).
Step 2: Create an EazyBooking account and import services
Start the 14-day trial at eazybooking.de/register (no credit card). In the admin area:
- Add your services — easiest to do the five most important first (women’s cut, men’s cut, colour, etc.)
- Add staff and assign services to them
- Set your opening hours
- Import the customer CSV via the bulk-import feature
Step 3: Connect Apple Calendar via CalDAV
In the admin: Settings → Calendar → Connect Apple
Apple requires an app-specific password (not your normal Apple ID password). Generate it at appleid.apple.com → Sign-In and Security → App-specific passwords. EazyBooking walks you through it step by step — the first sync runs right after connecting.
Existing Treatwell appointments continue to land in Apple via the ICS subscribe connection for now. You don’t have to delete them — EazyBooking recognises them as foreign events and blocks the slots.
Step 4: Communicate the storefront link
Every EazyBooking account has its own online booking page, e.g. eazybooking.de/your-salon. Put this link:
- in your Instagram bio and Google Business profile
- in a WhatsApp broadcast to regulars
- on a printed QR code in the salon
- in the Treatwell cancellation email templates (if the provider allows)
Step 5: Cancel the Treatwell account — when exactly?
Recommendation: two weeks of parallel running, then cancel. Reasoning:
- Regulars who already booked a follow-up via the Treatwell app shouldn’t lose it
- You can observe how many bookings really came from Treatwell vs. organic
- You get used to the EazyBooking admin without risk
Cancelling in Treatwell: Settings → Account → Close account. Confirmation comes by email. Commission on bookings already made but taking place after cancellation usually still applies — clarify this in advance with support, otherwise you get nasty surprises on the final invoice.
A more detailed overview comparing commission and subscription models lives at alternatives to booking commission models.
Frequently asked questions (FAQ)
My Treatwell Connect login doesn’t work at all — what now?
In 90% of cases it’s an expired session cookie or browser incompatibility. Try Fix 2 (clear cookies) + Fix 3 (browser update) first. If that doesn’t help: contact Treatwell support — they can check the account status server-side. That’s also the only path if your account has been flagged as “temporarily suspended” by the anti-fraud system.
Why do my Treatwell appointments appear 1–2 hours later in Apple Calendar?
That’s not a bug, it’s iCloud polling behaviour. Apple Calendar polls subscribed ICS feeds only every 15–60 minutes — you can’t speed it up. For last-minute bookings (client books for “in 30 minutes”) that’s the biggest risk, because you simply see the appointment too late. Real-time sync only exists over CalDAV or a native API — and Treatwell uses neither for Apple.
Can I run Treatwell and EazyBooking in parallel?
Yes, at least during the migration. As long as both tools write into the same Apple Calendar, they only need to know about each other’s slot availability. EazyBooking recognises foreign Apple events (including Treatwell imports) as blockers. Treatwell sees EazyBooking appointments through ICS subscribe — with the known latency. So: parallel operation works, but at some point one of the two needs to be the master.
What happens to my Treatwell reviews if I cancel?
Treatwell reviews stay on the Treatwell marketplace and aren’t portable — that’s industry-standard. Sensible replacement: maintain your Google Business profile (most local searches land there anyway) and send a review reminder by email after every EazyBooking appointment (EazyBooking can do that automatically). Within 2–3 months the Google reviews replace the reputational loss.
Do I need an app-specific Apple password? Is it safe?
Yes, Apple requires an app-specific password for third-party CalDAV access. It’s a random 16-character string you grant to one application specifically — and can revoke individually without changing your main Apple ID password. Security-wise it’s cleaner than Treatwell’s webcal mechanism, because you can pull the plug at any time.
Does CalDAV sync cost extra in EazyBooking?
No. Apple, Google and Outlook sync are included in the base plan at no extra charge. EazyBooking costs €59/month net with 5 staff included (additional staff can be added paid), and annual billing gives you two months free. 14-day trial, no credit card.
My Treatwell sync only breaks in the iPhone app, not in macOS Calendar — why?
That happens when the iOS Calendar app has the ICS subscribe “Refresh: Push” setting on “Half-hourly” or “Hourly” while macOS is on “Push”. Under iOS → Settings → Calendar → Sync → Push. Even then it only helps on the read side — the structural ICS problem (no private blocks, weak deletes) remains.
Summary
If your Treatwell calendar sync is acutely hanging right now:
- Re-auth in Treatwell Connect (disconnect + reconnect)
- Clear browser cookies and cache
- Check browser version — Chrome ≥ 120, Safari ≥ 17, Firefox ≥ 121, Edge ≥ 120
If the problem is structural — private blocks ignored, cancellations sticking around, latency of hours — no quick fix will help. Treatwell syncs with Apple Calendars via ICS subscribe, a 2004 standard built for static feeds, not for real-time appointment intake.
Native CalDAV integration (as used by EazyBooking) solves the structural problems — bidirectional, sub-30-second latency, reliable deletes. If it feels like you’re constantly patching things with Treatwell, switching saves you the permanent friction.
Next steps:
Author
EazyBooking Team
Wir bauen EazyBooking — eine Online-Terminbuchung für Service-Businesses in der DACH-Region. Hosted in Frankfurt, DSGVO-konform, ohne Provision.
Related Topics

