Skip to content

TW-5401: add missing Nylas v3 CLI commands from developer.nylas.com audit#104

Merged
qasim-nylas merged 1 commit into
mainfrom
TW-5401-add-missing-cli-commands
Jun 14, 2026
Merged

TW-5401: add missing Nylas v3 CLI commands from developer.nylas.com audit#104
qasim-nylas merged 1 commit into
mainfrom
TW-5401-add-missing-cli-commands

Conversation

@qasim-nylas

Copy link
Copy Markdown
Collaborator

Summary

Audited the Nylas v3 API surface (developer.nylas.com) against the CLI and added the highest-value missing commands, closing coverage gaps across email, calendar, notetaker, and scheduler.

New commands

Email

  • nylas email clean — clean conversation: strip quoted replies/signatures (PUT /messages/clean)
  • nylas email move — move a message to a folder, or --archive

Calendar

  • nylas calendar resources (alias rooms) — list bookable room/equipment resources (GET /resources)
  • nylas calendar events import — bulk-export events for migration/backup (GET /events/import)

Notetaker

  • nylas notetaker leave — make an active notetaker leave its meeting (keeps the recording)
  • nylas notetaker update — update a scheduled notetaker (join time, name, recording/transcription settings)

Scheduler

  • nylas scheduler group-events (alias ge) — list / create / update / delete / import group events (grant + configuration scoped)

Also

  • Fixed common.StripHTML to handle block-level tags that carry attributes (e.g. <p class>, <br class/>) — previously they were stripped without a separator, joining adjacent lines.

Notes

  • scheduler group-events was built from the Nylas OpenAPI spec — it shipped May 2025 and has no SDK coverage yet.
  • Dropped notetaker history after verifying it is not a real v3 endpoint (absent from the Java/Node/Python SDKs).
  • dashboard apikeys delete was intentionally left out of scope.

Test plan

  • Unit tests (adapter behavior + CLI wiring/guards) for all 7 commands and the StripHTML fix.
  • Integration tests (build tag integration) for all 7 commands — help/guard checks plus live-API smoke tests, creds-gated with graceful skips.
  • make ci green (fmt / vet / lint / unit / race / security / vuln / build).
  • Full integration suite green except one unrelated pre-existing flake: TestSlack_Workflow/list_users (Slack users.list rate-limit, E007 — no Slack files changed in this PR).
  • Live-tested against a real account.

Related docs

cli.nylas.com (areas affected)

developer.nylas.com (API references in help text)

…udit

Audited the Nylas v3 API surface against the CLI and added the
highest-value missing commands:

- email clean: clean conversation (PUT /messages/clean)
- email move: move a message to a folder, or --archive
- calendar resources: list bookable room/equipment resources
- calendar events import: bulk-export events (migration/backup)
- notetaker leave: make an active notetaker leave its meeting
- notetaker update: update a scheduled notetaker (join time, name, settings)
- scheduler group-events: list/create/update/delete/import group events

Also fix common.StripHTML to handle block-level tags that carry
attributes (e.g. <p class>, <br class/>), which previously joined
adjacent lines.

Unit + integration tests added for every command. scheduler
group-events was built from the Nylas OpenAPI spec (no SDK coverage yet);
notetaker history was dropped after verifying it is not a real endpoint.
@qasim-nylas qasim-nylas requested a review from AaronDDM June 14, 2026 14:57

@AaronDDM AaronDDM left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@qasim-nylas qasim-nylas merged commit 5a589ff into main Jun 14, 2026
7 checks passed
@qasim-nylas qasim-nylas deleted the TW-5401-add-missing-cli-commands branch June 14, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants