| name | evernote-core-workflow-b |
| description | Execute Evernote secondary workflow: Search and Retrieval.
Use when implementing search features, finding notes,
filtering content, or building search interfaces.
Trigger with phrases like "search evernote", "find evernote notes",
"evernote search", "query evernote".
|
| allowed-tools | Read, Write, Edit, Bash(npm:*), Grep |
| version | 1.13.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","evernote","workflow"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Evernote Core Workflow B: Search & Retrieval
Overview
Comprehensive search and retrieval workflow for Evernote, including search grammar, filters, pagination, related notes discovery, and result enrichment with notebook/tag names.
Prerequisites
- Completed
evernote-install-auth setup
- Understanding of Evernote search grammar
- Valid access token configured
Instructions
Step 1: Search Service Foundation
Build a SearchService wrapping findNotesMetadata(). Use NoteFilter for query terms, sort order, and notebook scope. Use NotesMetadataResultSpec to control which metadata fields are returned (title, dates, tags, notebook GUID).
const filter = new Evernote.NoteStore.NoteFilter({
words: 'tag:urgent notebook:"Work"',
ascending: false,
order: Evernote.Types.NoteSortOrder.UPDATED
});
const spec = new Evernote.NoteStore.NotesMetadataResultSpec({
includeTitle: true, includeUpdated: true,
includeTagGuids: true, includeNotebookGuid: true
});
const result = await noteStore.findNotesMetadata(filter, 0, 50, spec);
Step 2: Advanced Search Grammar Builder
Implement a fluent QueryBuilder class that chains operators: notebook("Work"), , , , , . Call to produce the query string. Use prefix for OR logic.