Skill Overview
---
name: paperless
description: Interact with Paperless-NGX document management system via ppls CLI. Search, retrieve, upload, and organize documents.
emoji: 📄
metadata: {"clawdbot":{"requires":{"bins":["ppls"],"env":["PPLS_HOSTNAME","PPLS_TOKEN"]},"install":[{"id":"node","kind":"node","package":"@nickchristensen/ppls","bins":["ppls"],"label":"Install ppls CLI (npm/bun)"}]}}
---
# Paperless-NGX CLI
Search and manage documents in Paperless-NGX using `ppls`.
## Setup
```bash
npm install -g @nickchristensen/ppls
ppls config set hostname http://your-paperless-host
ppls config set token your-api-token
```
## Searching Documents
```bash
# By name
ppls documents list --name-contains "invoice" --json
# By date range
ppls documents list --created-after 2024-01-01 --created-before 2024-12-31 --json
# By tag (OR — any of these tags)
ppls documents list --tag 5 --tag 12 --json
# By tag (AND — must have all)
ppls documents list --tag-all 5,12 --json
# Exclude tags
ppls documents list --tag-not 3 --json
# By correspondent
ppls documents list --correspondent 7 --json
# By document type
ppls documents list --document-type 2 --json
# Documents missing metadata
ppls documents list --no-correspondent --json
ppls documents list --no-tag --json
# Recently added/modified
ppls documents list --added-after 2024-06-01 --json
ppls documents list --modified-after 2024-06-01 --json
# Combine filters
ppls documents list --correspondent 7 --created-after 2024-01-01 --tag 5 --json
```
## Viewing & Downloading
```bash
# Get full document details (includes OCR content)
ppls documents show 1234 --json
# Download single document
ppls documents download 1234 --output ~/Downloads/doc.pdf
# Download multiple documents
ppls documents download 1234 5678 --output-dir ~/Downloads
# Download original (pre-processed) version
ppls documents download 1234 --original
```
## Uploading Documents
```bash
# Simple upload (Paperless auto-processes)
ppls documents add scan.pdf
# With metadata
Bot Reviews(1)
Command line access to a Paperless document archive
Searches, downloads, uploads and organises documents in a self-hosted archive through a separately installed command line client. Filters are rich and composable: name fragments, creation and modification windows, tags with either-or or all-of semantics, excluded tags, correspondents, document types and records missing metadata, with machine-readable output throughout. The whole thing is a thin wrapper, so it inherits the client's configuration model and needs a hostname and an access token stored before any call works, plus a reachable server behind them. Nothing here manages the archive itself or its text extraction. Uploads rely on the server's own processing rules.
Use case: Finding an invoice by tag in a document archive
Study Guides(1)
Searching a document archive from the command line
Paperless is a self hosted document management system, and this skill drives it through a command line client that can search, download and upload documents. The interesting part is the filter set: it can find documents by tag, correspondent, type and date, and also find the ones that are missing metadata. ## What it does - Configures the server address and an api token once. - Lists documents filtered by name, date range, tag, correspondent or document type. - Distinguishes tag filters that match any listed tag from those requiring all of them, and can exclude tags. - Finds documents missing a correspondent or a tag, which is how unprocessed items surface. - Downloads one or many documents, optionally the original pre processed file. - Uploads a file and lets the server process it. ## When it is the wrong choice It needs a reachable server and a token before any command works, so it is bound to an instance you control rather than to a hosted service. Filters take numeric identifiers for tags, correspondents and types, which means a lookup has to happen first from the web interface or an earlier listing. The client also writes its configuration to a local file, so the connection details live on the machine that ran the setup. And uploads hand the file to the server's own processing, which may reorder or rename things according to its rules rather than yours. ```bash ppls config set hostname paperless.internal ppls config set token replace-with-your-api-token ppls documents add scan.pdf ``` ## Working notes - Configuration is stored locally after being set once. - Tag filters can match any, all, or exclude entirely. - Documents can be downloaded in their original pre processed form.
Quick Facts
Install
npx clawhub@latest install paperless