Agent readiness · Scheduling and calendar APIs
savvycal.com
8 of 16 measurable points under formula 9.2, measured on 2026-08-12. 15 checks exist; each is one HTTP request with a published rule, so every sentence below can be rerun and argued with.
A · Discovery
- PASSAnswers an agent user-agentAnswered 200 to LetAgentsIn/1.0 (+https://letagentsin.com/methodology)
- FAILllms.txt publishedNo llms.txt at any of the 6 locations probed
- FAILDocs readable without JavaScriptOnly 1,218 characters render without JS, on https://docs.savvycal.com/article/34-delegated-account-access rather than on https://docs.savvycal.com
- PASSOn-demand agents not blockedExplicitly allowed: ChatGPT-User
- N/APaths robots.txt points at answerrobots.txt names no concrete path, only patterns or nothing, so there is no claim to check
- PASSNo punishing crawl delayNo Crawl-delay applies to the agents we check
B · Agent entry
- FAILAgent entry pointNone of the 9 known agent entry paths returns a file rather than your page shell
- PASSOAuth dynamic client registrationregistration_endpoint published, but none of the 2 advertised grants (authorization_code, refresh_token) finishes without a person at a browser
- PASSMCP surfaceLive MCP endpoint at https://api.savvycal.com/mcp, answered 401 with an auth challenge
C · Registration
- PASSNo CAPTCHA in the signup HTMLNo CAPTCHA vendor in the server HTML. A widget mounted later by JavaScript would not show here.
- PASSSignup reachable without a browserForm renders in server HTML at https://savvycal.com/signup
D · Provisioning
- FAILProgrammatic key provisioningNone of the 7 provisioning phrases appears in the 4 documents we read
- FAILFree tier or no-card trial stated in textThe only free-tier wording at https://savvycal.com/pricing is a question the page asks, "Do you offer a free trial?", and the answer to it is not in the HTML we were servedServe the answer to that question in the HTML, or state the tier in the pricing table, and this becomes a pass.
E · Integration
- PASSTyped SDK on the registry@savvycal/appointments-core@2.1.0 ships types, matched from the registry by who publishes it rather than by a link on your site
- FAILMachine-readable API descriptionNo OpenAPI spec at the 5 usual paths, none declared by https://docs.savvycal.com, and no markdown negotiationPoint at your spec from your docs page with rel="service-desc" and an agent finds it without guessing.
Tell me when this changes
The failures here are the kind nobody notices. An edge rule that starts refusing agents changes nothing a person sees in a browser, so the first sign is usually an integration that quietly stopped working. We rescan weekly and write only when a verdict moves.
This page is the newest scan we hold for savvycal.com and changes when we rescan. It is not a judgement of the product: we measure whether an unattended run can get through, not whether the thing is any good. The whole corpus is published as JSON and CSV.