Automation and integrations decision
CalMedi
A technical user can reproduce the core sync (Doctolib→Google) using a headless browser or extension plus a small backend, but the full commercial product (extension UX, hosted billing, GDPR assurances, polished support and scaling) requires more engineering and operations than a solo-build; prior open-source calendar-sync projects cover parts but not the Doctolib-specific extension/workflow.
Visit website↗$10/mo
$120/yr
Read off the official pricing page.
$100one-off60 h to build
$25/mo6 h/mo upkeep
On cash alone, building overtakes the subscription at 4 seats.
No open-source build does this yet
Nothing published replaces this one, so a replacement starts from an empty file. Here is what it would have to cover.
What a replacement has to do
- Poll Doctolib for appointments (via extension or headless browser), map/transform events (optionally anonymize), and push creates/updates/deletes to a Google Calendar using the Google Calendar API.
What it still won’t have
- Polished, publish-ready Chrome extension and its store listing
- Hosted Stripe billing, trial flows and automatic per-link billing
- GDPR/legal/compliance assurances and third-party security reviews
- Operational monitoring, multi-tenant scaling, and formal support/SLA
- Polished dashboard, onboarding flows and enterprise features (multi-site admin)
What remains hard
- Product polish and ongoing maintenance
First-year cost
Keep paying
Paying is—cheaper in year one.
On cash alone, building overtakes the subscription at 4 seats.
Money you would actually spend
Time you would spend
—
What you would spend
What we assumed
The verdict above measures whether you could build it. This one is only about money.
Runnable build prompt
Build a self-hosted Doctolib→Google sync service using Node.js (Express), PostgreSQL, and Puppeteer (or a Chrome extension) for Doctolib scraping; use Google OAuth2 to obtain calendar write access. In scope: (1) a Chrome extension or headless Puppeteer worker that authenticates to Doctolib and extracts appointment objects; (2) a backend API to accept extracted events, reconcile diffs (create/update/delete) and call Google Calendar API; (3) a scheduler to run polling at configurable cadence per link; (4) a small web UI to connect Google accounts (OAuth), configure cadence (1/3/7/30 per day), and toggle anonymization; (5) Postgres schema for links, last-sync cursors, and anonymization flags; (6) deploy scripts (Docker) and basic logs/health checks. Out of scope: hosted billing/Stripe integration, multi-tenant enterprise admin UI, published Chrome Web Store onboarding, legal/compliance certification. Include error handling for network/API failures, idempotent sync logic, retries, and unit/integration tests for parsing, reconciliation, and OAuth flows.
How we checked
How the score was reached
- Partly verdict base52
- 2 cited sources+1
- Price verified on pricing page+3
- 3/3 assessment runs agreed+4
- Evidence score60
The base comes from the verdict. Everything under it is a check that either happened or did not, and each one is a fact frozen in this record rather than a judgement made at render time - so the same evidence always produces the same number.
How scoring works →Cited sources · 2
Every page the run actually retrieved.
- official productCalMedi product & features
- official pricingCalMedi pricing
Integrity checks
What held up, and what did not.


