feat(storage): add Evernote destination (#862)
* feat(storage): add Evernote destination * style: apply ruff auto-fix - Auto-formatted code with ruff format - Applied ruff linting fixes with --fix Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Christian Krakau-Louis <christian@Christians-Mac-mini-7.local> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
8e744c076d
commit
4b46c4baf8
@@ -1330,6 +1330,19 @@ For detailed setup instructions, see the [Google Drive Setup Guide](GoogleDriveS
|
||||
| `DEST_EMAIL_SENDER` | From address for delivered documents (e.g., `"DocuElevate Delivery <docuelevate@example.com>"`). |
|
||||
| `DEST_EMAIL_DEFAULT_RECIPIENT` | Fallback recipient email when none is specified for a delivery task. |
|
||||
|
||||
### Evernote
|
||||
|
||||
| **Variable** | **Description** |
|
||||
|-------------------------------|---------------------------------------------------------------------|
|
||||
| `EVERNOTE_ENABLED` | Set to `false` to disable Evernote uploads without removing credentials. Default: `true` |
|
||||
| `EVERNOTE_AUTH_TOKEN` | Evernote developer token or OAuth access token used to create notes. |
|
||||
| `EVERNOTE_SANDBOX` | Use Evernote sandbox API endpoints. Default: `false` |
|
||||
| `EVERNOTE_NOTEBOOK_GUID` | Optional target notebook GUID. If omitted, Evernote uses the default notebook. |
|
||||
| `EVERNOTE_DEFAULT_TAGS` | Optional comma-separated tags applied to every created note. |
|
||||
| `EVERNOTE_INCLUDE_METADATA` | Include extracted metadata in the Evernote note body. Default: `true` |
|
||||
|
||||
For detailed setup instructions, see the [Evernote Setup Guide](EvernoteSetup.md).
|
||||
|
||||
### OneDrive / Microsoft Graph
|
||||
|
||||
| **Variable** | **Description** |
|
||||
|
||||
@@ -13,6 +13,7 @@ DocuElevate is designed to be highly configurable through environment variables,
|
||||
- [Dropbox Setup](DropboxSetup.md) - How to set up Dropbox integration
|
||||
- [OneDrive Setup](OneDriveSetup.md) - How to set up Microsoft OneDrive/Graph integration
|
||||
- [Amazon S3 Setup](AmazonS3Setup.md) - How to set up Amazon S3 integration
|
||||
- [Evernote Setup](EvernoteSetup.md) - How to set up Evernote note creation
|
||||
- [Authentication Setup](AuthenticationSetup.md) - How to set up user authentication
|
||||
- [Notifications Setup](NotificationsSetup.md) - How to set up system notifications
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
# Setting up Evernote Integration
|
||||
|
||||
This guide explains how to configure DocuElevate to create Evernote notes for processed documents.
|
||||
|
||||
## Overview
|
||||
|
||||
The Evernote destination creates one note per processed document. The note contains:
|
||||
|
||||
- A visible metadata section populated from DocuElevate's extracted metadata JSON
|
||||
- The processed PDF attached as an Evernote resource
|
||||
- Optional tags from `EVERNOTE_DEFAULT_TAGS` plus extracted document tags
|
||||
|
||||
## Required Configuration
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `EVERNOTE_ENABLED` | Set to `false` to disable Evernote uploads without removing credentials. Default: `true` |
|
||||
| `EVERNOTE_AUTH_TOKEN` | Evernote developer token or OAuth access token with note creation permissions |
|
||||
|
||||
## Optional Configuration
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `EVERNOTE_SANDBOX` | Use Evernote sandbox API endpoints. Default: `false` |
|
||||
| `EVERNOTE_NOTEBOOK_GUID` | Target notebook GUID. If omitted, Evernote uses the account default notebook |
|
||||
| `EVERNOTE_DEFAULT_TAGS` | Comma-separated tags to apply to every created note, for example `docuelevate,archive` |
|
||||
| `EVERNOTE_INCLUDE_METADATA` | Include extracted metadata in the note body. Default: `true` |
|
||||
|
||||
## Example
|
||||
|
||||
```dotenv
|
||||
EVERNOTE_ENABLED=true
|
||||
EVERNOTE_AUTH_TOKEN=your-evernote-token
|
||||
EVERNOTE_NOTEBOOK_GUID=optional-notebook-guid
|
||||
EVERNOTE_DEFAULT_TAGS=docuelevate,processed
|
||||
EVERNOTE_INCLUDE_METADATA=true
|
||||
```
|
||||
|
||||
## Metadata and Attachments
|
||||
|
||||
DocuElevate reads the companion metadata file next to the processed PDF, for example `invoice.pdf` and `invoice.json`. Non-empty metadata fields are rendered into the Evernote note body. Values such as `Unknown`, empty strings, and null values are skipped.
|
||||
|
||||
If the metadata contains a `tags` field, those tags are applied to the note together with any tags configured in `EVERNOTE_DEFAULT_TAGS`.
|
||||
|
||||
The processed PDF is attached directly to the note using Evernote's resource model, so it appears as a normal Evernote attachment.
|
||||
|
||||
## Notes
|
||||
|
||||
- Evernote tokens can expire or be revoked. If uploads start failing with authentication errors, generate or refresh the token and update `EVERNOTE_AUTH_TOKEN`.
|
||||
- If `EVERNOTE_NOTEBOOK_GUID` points to a missing or inaccessible notebook, Evernote will reject the note creation request.
|
||||
- Evernote enforces account upload quotas and per-note size limits. Large PDFs may fail if they exceed those limits.
|
||||
@@ -24,6 +24,7 @@ Welcome to the DocuElevate documentation. This directory contains comprehensive
|
||||
- [OneDrive Setup](OneDriveSetup.md) - How to set up Microsoft OneDrive/Graph integration
|
||||
- [SharePoint Setup](SharePointSetup.md) - How to set up Microsoft SharePoint Online integration
|
||||
- [Amazon S3 Setup](AmazonS3Setup.md) - How to set up Amazon S3 integration
|
||||
- [Evernote Setup](EvernoteSetup.md) - How to set up Evernote note creation
|
||||
- [Authentication Setup](AuthenticationSetup.md) - How to set up user authentication
|
||||
- [Notifications Setup](NotificationsSetup.md) - How to set up system notifications
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Settings are organized into logical categories for easy navigation:
|
||||
- **Authentication**: Login settings, session secrets, OAuth configuration, admin group
|
||||
- **AI Services**: AI provider selection, model configuration, embeddings, and credentials (OpenAI, Azure, Anthropic, Gemini, Ollama, OpenRouter, Portkey, LiteLLM)
|
||||
- **OCR Engines**: OCR provider selection and configuration (Tesseract, EasyOCR, Mistral, Google DocAI, AWS Textract)
|
||||
- **Storage Providers**: Dropbox, Google Drive, OneDrive, SharePoint, S3, FTP, SFTP, WebDAV, Nextcloud, Paperless
|
||||
- **Storage Providers**: Dropbox, Google Drive, OneDrive, SharePoint, S3, FTP, SFTP, WebDAV, Nextcloud, Paperless, Evernote
|
||||
- **Email**: SMTP configuration for sending emails
|
||||
- **IMAP**: Email ingestion configuration (supports two mailbox accounts)
|
||||
- **Monitoring**: Uptime Kuma integration
|
||||
|
||||
@@ -125,6 +125,7 @@ Several cloud storage integrations include their own guided configuration pages
|
||||
| Google Drive | `/google-drive-setup` | [GoogleDriveSetup.md](GoogleDriveSetup.md) |
|
||||
| OneDrive / SharePoint | `/onedrive-setup` | [OneDriveSetup.md](OneDriveSetup.md) |
|
||||
| Amazon S3 | Configured via settings | [AmazonS3Setup.md](AmazonS3Setup.md) |
|
||||
| Evernote | Configured via settings | [EvernoteSetup.md](EvernoteSetup.md) |
|
||||
|
||||
These pages are accessed **after** the main Setup Wizard is complete and are independent wizard flows specific to each integration.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user