Let Agents In

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

  • PASS
    Answers an agent user-agentAnswered 200 to LetAgentsIn/1.0 (+https://letagentsin.com/methodology)
  • FAIL
    llms.txt publishedNo llms.txt at any of the 6 locations probed
  • FAIL
    Docs 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
  • PASS
    On-demand agents not blockedExplicitly allowed: ChatGPT-User
  • N/A
    Paths robots.txt points at answerrobots.txt names no concrete path, only patterns or nothing, so there is no claim to check
  • PASS
    No punishing crawl delayNo Crawl-delay applies to the agents we check

B · Agent entry

  • FAIL
    Agent entry pointNone of the 9 known agent entry paths returns a file rather than your page shell
  • PASS
    OAuth dynamic client registrationregistration_endpoint published, but none of the 2 advertised grants (authorization_code, refresh_token) finishes without a person at a browser
  • PASS
    MCP surfaceLive MCP endpoint at https://api.savvycal.com/mcp, answered 401 with an auth challenge

C · Registration

  • PASS
    No CAPTCHA in the signup HTMLNo CAPTCHA vendor in the server HTML. A widget mounted later by JavaScript would not show here.
  • PASS
    Signup reachable without a browserForm renders in server HTML at https://savvycal.com/signup

D · Provisioning

  • FAIL
    Programmatic key provisioningNone of the 7 provisioning phrases appears in the 4 documents we read
  • FAIL
    Free 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

  • PASS
    Typed 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
  • FAIL
    Machine-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.

Scan a domain yourself