# AX Check: nylas.com
Checked 2026-09-18.

Nylas quickstart lets agents install, code, and see prices fast
20 of 23 checks passed: CLI, SDKs, MCP server and skills all resolve, and pricing is fully stated with units and limits, no login needed.

## Onboarding needs a login

## Coding sessions
Three independent agents attempted setup and pricing. Kimi K3 and Qwen 3.8 Max finished, both correctly describing per-account paid tiers, a free tier, and volume discounts from the public pricing page. DeepSeek V4 Pro did not complete, stopping before a pricing review.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/1cd085ca-83e9-4ac5-8a58-e13ed8721011) · [Read transcript](https://www.ax-check.com/nylas.com/sessions/deepseek.json)

#### End-to-end onboarding
- **Onboarding needs a login**: Agent explored Nylas docs and SDK deeply but never obtained an API key or made an authenticated call. Sandbox env only had PI_GATEWAY_API_KEY, no NYLAS_API_KEY/Dashboard creds, and no Nylas CLI installed. Docs state the only script-completable path (Agent Accounts) needs either a registered domain (Dashboard creds) or a human running 'nylas init' in a browser. Session ends exploring local SDK type signatures, never reaching a live API call.
  Event 4:

  ```text
  env | grep -i -E "nylas|api_key|client" | sed 's/=.*/=<redacted>/' || true
  ```
  Event 5:

  ```text
  PI_GATEWAY_API_KEY=<redacted>
  ```
  Event 48:

  ```text
  no nylas cli
  no npx nylas
  
  ```
  Event 76:

  ```text
  If no Dashboard credentials are available, stop, and report it.
  ```

#### Hallucinated URLs
- **Guessed email quickstart URL that 404'd**: The agent guessed a plausible quickstart URL pattern before finding the correct one via llms.txt. This was a self-generated guess, not a documented link, and it failed with a 404.
  Event 37:

  ```text
  https://developer.nylas.com/docs/v3/getting-started/quickstart-email/
  ```
  Event 47:

  ```text
  email QS HTTP 404
  Page not found | Docs
  ```
- **Guessed agent-accounts quickstart path that 404'd**: The agent tried a guessed path segment before finding the correct working path via llms.txt links; this specific guessed URL returned 404.
  Event 55:

  ```text
  https://developer.nylas.com/docs/v3/getting-started/quickstart-agent-accounts/
  ```
  Event 56:

  ```text
  agent QS HTTP 404
  ```

#### Blockers
- **No Nylas API key or Dashboard credentials available in sandbox**: The environment only exposed PI_GATEWAY_API_KEY; no NYLAS_API_KEY, NYLAS_DASHBOARD_USER, or NYLAS_DASHBOARD_PASSWORD existed, and no Nylas CLI was installed. Per the docs' own agent instructions, without an API key the only no-browser path is Agent Accounts, which needs a registered domain (Dashboard creds) or a human running 'nylas init' in a browser. This is a credentials/test-environment limitation, not a product defect.
  Event 48:

  ```text
  PI_GATEWAY_API_KEY
  ```
  Event 76:

  ```text
  **If `nylas auth whoami` fails** (no credentials), ask the developer to run one command. This is the only step that requires a human -- it opens a browser for account creation and SSO
  ```
- **api.nylas.com root endpoint returned 503**: An initial connectivity probe against the bare api.nylas.com root returned 503. Not a documented endpoint, and did not block progress since the agent moved to the correct api.us.nylas.com base URL, but worth noting as unreachable at that exact path during the test.
  Event 14:

  ```text
  nylas api HTTP 503
  ```

#### Suggested Changes
- **Fix or redirect the broken quickstart-agent-accounts markdown URL**: Requesting https://developer.nylas.com/docs/v3/getting-started/quickstart-agent-accounts/ with an Accept: text/markdown header returns a 404. Add a redirect from this guessed/older-style URL to the working /docs/v3/getting-started/agent-accounts/ path, and verify by re-running the same curl with the markdown Accept header.
  Event 55:

  ```text
  https://developer.nylas.com/docs/v3/getting-started/quickstart-agent-accounts/
  ```
  Event 56:

  ```text
  agent QS HTTP 404
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/5026b3bf-d8fb-45b1-9d7c-96bc6bdfac84) · [Read transcript](https://www.ax-check.com/nylas.com/sessions/kimi.json)
Final output states free tier (5 connected accounts), per-account paid tiers by feature set, and volume discounts, explicitly flagged as 'as of my knowledge — verify at nylas.com/pricing' rather than presented as a bare verified number.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Nylas credentials. It ran the example script with placeholder values from its own .env.example file, hit a 401 on an initial unauthenticated probe, and then a fake-grant-ID error on the actual SDK call. It explicitly states account creation requires the browser dashboard with email verification and that connecting an inbox needs interactive OAuth to get a real GRANT_ID — both human steps it could not complete itself.
  Event 18:

  ```text
  NYLAS_API_KEY=nyk_v0_...
  NYLAS_CLIENT_ID=...
  NYLAS_CALLBACK_URI=http://localhost:3000/oauth/exchange
  NYLAS_GRANT_ID=...
  NYLAS_API_URI=https://api.us.nylas.com
  TEST_RECIPIENT=you@example.com
  
  ```
  Event 23:

  ```text
  Failed: Received an error but could not parse response from the server with flow ID 2379121067: Cannot GET /v3/grants/.../messages
  ```
  Event 25:

  ```text
  Nylas has no programmatic signup — creating an account requires the browser dashboard (dashboard.nylas.com) with email verification, plus connecting an email account via interactive OAuth to get a `GRANT_ID`. That's a human step.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **Nylas account/grant creation requires human browser sign-up**: Nylas offers no programmatic signup path. Getting a real API key and GRANT_ID requires the browser dashboard with email verification and an interactive OAuth flow to connect an inbox. This is a normal login/account-creation requirement of the product, not a bug — the agent correctly identified it and stopped rather than faking success.
  Event 25:

  ```text
  I can't do a real end-to-end run because Nylas has no programmatic signup — creating an account requires the browser dashboard (dashboard.nylas.com) with email verification, plus connecting an email account via interactive OAuth to get a `GRANT_ID`. That's a human step.
  ```

#### Suggested Changes
None identified in this transcript.

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/39217502-f15e-4112-a4fc-3f3799c0944e) · [Read transcript](https://www.ax-check.com/nylas.com/sessions/qwen.json)
README.md and final summary state pricing is per-connected-account/month, note a free/dev tier, paid tiers with volume discounts, and add-on costs (Scheduler, Notetakers) as extra — assumptions named, with a caveat to check nylas.com/pricing for current numbers.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Nylas credentials. It only wrote a local script that reads NYLAS_API_KEY/NYLAS_GRANT_ID from environment variables, confirmed those variables were absent, and printed an error/exit instead of authenticating or performing any live API call. No signup, dashboard account creation, or hosted-auth flow was executed; the agent explicitly states it cannot create a dashboard account.
  Event 48:

  ```text
  Missing credentials. Set NYLAS_API_KEY and NYLAS_GRANT_ID environment variables.
  Get them from https://dashboard.nylas.com (see README.md).
  ```
  Event 50:

  ```text
  the script loads cleanly and exits gracefully without credentials (verified above). No local services or long-running processes needed.
  ```
  Event 50:

  ```text
  Blocked on one thing:** there's no `NYLAS_API_KEY` or `NYLAS_GRANT_ID` in the environment, and those come from a Nylas dashboard account I can't create.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No Nylas API key or grant ID available**: The sandbox environment had no NYLAS_API_KEY or NYLAS_GRANT_ID set, and obtaining them requires signing up on the Nylas web dashboard and completing an OAuth/hosted-auth connection flow — both of which require human interaction the agent could not perform itself. This is a normal login/credential requirement, not a product defect; the agent correctly identified it and stopped rather than faking success.
  Event 48:

  ```text
  Missing credentials. Set NYLAS_API_KEY and NYLAS_GRANT_ID environment variables.
  Get them from https://dashboard.nylas.com (see README.md).
  ```
  Event 50:

  ```text
  there's no `NYLAS_API_KEY` or `NYLAS_GRANT_ID` in the environment, and those come from a Nylas dashboard account I can't create.
  ```
- **npm package name mismatch caused an initial install failure**: The agent first tried installing '@nylas/nylas-nodejs', which does not exist in the npm registry, before correctly switching to the real package name 'nylas'. This was a self-corrected agent error, not a lasting blocker.
  Event 11:

  ```text
  npm error 404 tarball, folder, http url, or git url.
  ```
  Event 15:

  ```text
  npm error 404  '@nylas/nylas-nodejs@*' is not in this registry.
  ```

#### Suggested Changes
- **Provide a non-interactive way to obtain a sandbox API key and grant ID**: The only path to credentials referenced in the workflow is signing up at dashboard.nylas.com and completing a browser-based hosted-auth flow to get a grant ID. Because both steps require a human in a browser, an automated developer cannot reach a working example end-to-end. Verify by having a fresh, credential-less environment run 'node index.js' successfully without any manual dashboard step.
  Event 50:

  ```text
  there's no `NYLAS_API_KEY` or `NYLAS_GRANT_ID` in the environment, and those come from a Nylas dashboard account I can't create.
  ```

### Task given to each agent
Help me build a simple example using Nylas. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: B · 80/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Failed** — llms.txt provides an actionable documentation index

  ```text
  llms.txt exists but is a marketing/blog link dump, not an actionable docs index.
  ```

- **Failed** — llms.txt provides navigation guidance

  ```text
  llms.txt lists marketing pages with no starting guidance or navigation structure.
  ```

- **Failed** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt never mentions the offered API reference, MCP server, or skills.
  ```

- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown (200) for a Markdown Accept header.
  ```

- **Pass** — A compact guide representation exists

  ```text
  Coding-agents quickstart is served as standalone Markdown at developer.nylas.com with agent-specific steps.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  Focused agent quickstart fetched directly as text/markdown with concrete provisioning, SDK and example steps.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  Markdown guide measured 5493 tokens, well under the 8000-token budget, workflow intact.
  ```

- **Pass** — Product-docs links survive format changes

  ```text
  Homepage Markdown response retains docs, SDK, quickstart and API reference links.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  Coding-agents quickstart gives concrete steps: credential check, CLI install, SDK install, working example.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched install/next-step targets (SDK docs, API reference, MCP, skills) all returned 200.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Getting-started page links to Email, Calendar, Contacts, Agent Accounts quickstarts with concrete steps.
  ```

- **Pass** — Installation commands are extractable

  ```text
  CLI install commands shown: brew install nylas/nylas-cli/nylas, curl install.sh, PowerShell irm.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Working Node.js, Python, and cURL examples for listing and sending messages shown inline.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  API key as Bearer token, where to obtain it, and OAuth boundaries are explicit.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page renders plan cards and full feature table as static Markdown, no interaction needed.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  Free $0, Essentials $15/mo, Pro $49/$43/mo, Enterprise custom all stated publicly.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Table lists per-account, per-bot-hour, per-GB and per-1k-email overage rates and included volumes.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  2 of 3 sessions were judged on pricing; 0 fell short. Kimi K3: Final output states free tier (5 connected accounts), per-account paid tiers by feature set, and volume discounts, explicitly flagged as 'as of my knowledge — verify at nylas.com/pricing' rather than presented as a bare verified number. Qwen 3.8 Max: README.md and final summary state pricing is per-connected-account/month, note a free/dev tier, paid tiers with volume discounts, and add-on costs (Scheduler, Notetakers) as extra — assumptions named, with a caveat to check nylas.com/pricing for current numbers. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  API reference page and full v3 OpenAPI 3.1 spec (openapi.json) both fetched successfully.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  MCP server documented with install commands, server URLs, and 38 named tools.
  ```

- **Pass** — A CLI install path is documented

  ```text
  CLI install documented via Homebrew, shell script, and PowerShell with nylas init.
  ```

- **Pass** — SDK packages resolve on their registries

  ```text
  npm:nylas and pypi:nylas registry lookups both returned HTTP 200.
  ```

- **Pass** — Agent skills are published

  ```text
  Nylas skills published on GitHub with npx skills add install and two skills.
  ```



[Full report data](https://www.ax-check.com/nylas.com/report.json)
