Skip to content
VoxNotch

Recipe

Turn a recorder drop folder into a private intake lane.

Use this pattern when files already land on a NAS, synced recorder directory, or local staging folder and the operator wants VoxNotch to process them without dragging each file through the browser.

Requires
Watch-folder intake and an approved local root
Output
Allowed local destination
Egress
None for local destinations

Shell

register-and-scan.sh
folder="$(
  curl -sS -X POST "$VOXNOTCH_URL/watch-folders" \
    -H "X-API-Key: $VOXNOTCH_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "path": "/srv/voxnotch/inbox",
      "kind": "auto",
      "recursive": false,
      "enabled": true,
      "ingest_existing": true
    }'
)"

folder_id="$(printf '%s' "$folder" | jq -r '.id')"
curl -sS -X POST "$VOXNOTCH_URL/watch-folders/$folder_id/scan-now" \
  -H "X-API-Key: $VOXNOTCH_API_KEY"

The server rejects paths outside configured allowed roots. That restriction is part of the custody model, not an inconvenience to bypass.

Operator rules

Keep folder automation narrow.

  1. One root per source

    Separate recorder syncs, client drops, and archive backlogs so failures are easy to isolate.

    Avoid turning an entire home directory into an ingest surface.

  2. Local output first

    Deliver transcripts to local destinations until a specific workflow earns webhook or object-storage egress.

    Local destination proof is easier to audit.

  3. Scan on purpose

    Use scan-now during launch rehearsal. Add scheduled scans only after queue and backup behavior are understood.

    Automation should make evidence easier, not noisier.

Add a notification only when someone needs it.