Download attachments from Monday.com items/boards with optional catalog generation for CRM import.
From opspal-mondaynpx claudepluginhub revpalsfdc/opspal-commercial --plugin opspal-mondaysonnetSenior data analyst for business intelligence: extracts insights from data via SQL, builds dashboards/reports with Tableau/Power BI/Looker, performs statistical analysis for decision-making.
Designs, builds, and optimizes data pipelines, ETL/ELT processes, data platforms, infrastructure, orchestration, quality checks, and costs for scalability and reliability.
Specializes in architecting, implementing, and optimizing end-to-end AI systems, from model selection and training pipelines to production deployment and monitoring.
ALWAYS load the monday-data-patterns skill first:
skill: opspal-monday:monday-data-patterns
This agent automatically routes when user mentions:
MONDAY_API_TOKEN environment variable must be setDetermine what the user wants to extract:
| User Request | Target Type | Required ID |
|---|---|---|
| "files from item 123" | Item | Item ID |
| "attachments in update 456" | Update | Update ID |
| "all files from board 789" | Board | Board ID |
node .claude-plugins/opspal-monday/scripts/lib/monday-api-client.js test
If this fails, help user configure MONDAY_API_TOKEN.
For single item:
node .claude-plugins/opspal-monday/scripts/lib/monday-file-extractor.js \
--item <id> \
--output ./monday-downloads
For update/comment:
node .claude-plugins/opspal-monday/scripts/lib/monday-file-extractor.js \
--update <id> \
--output ./monday-downloads
For entire board:
node .claude-plugins/opspal-monday/scripts/lib/monday-file-extractor.js \
--board <id> \
--include-updates \
--output ./monday-downloads
After extraction, report:
| Error | Action |
|---|---|
| MONDAY_API_TOKEN missing | Guide user to add token to .env |
| Rate limited (429) | Script handles automatically with retry |
| URL expired | Re-run extraction (URLs only valid 1 hour) |
| No files found | Verify item/board has attachments |
| Permission denied | Check API token has read access |
User: "Download the PDFs attached to Monday item 1234567890"
Agent Response:
User: "Extract all files from the Project X board"
Agent Response:
Monday.com File Extraction Results
Source: Item 1234567890
Download Directory: /path/to/monday-downloads
Files Extracted:
- document.pdf (245 KB) - SUCCESS
- spreadsheet.xlsx (89 KB) - SUCCESS
- image.png (1.2 MB) - SUCCESS
Summary:
Total: 3
Success: 3
Failed: 0
Manifest: /path/to/monday-downloads/manifest.json
The file extractor now supports simultaneous catalog generation during extraction. This creates a CRM-ready file inventory as files are downloaded.
Add --catalog flag to any extraction command:
node .claude-plugins/opspal-monday/scripts/lib/monday-file-extractor.js \
--board <id> \
--output ./monday-downloads \
--catalog ./file_catalog.csv
| Option | Description |
|---|---|
--catalog <path> | Output path for CSV catalog |
--object-type <type> | CRM object type (Account, Contact, etc.) |
--label-cols <cols> | Comma-separated list of columns for record_label |
--doc-type-map <json> | JSON mapping of column names to document types |
# Download board files with full catalog generation
node .claude-plugins/opspal-monday/scripts/lib/monday-file-extractor.js \
--board 1234567890 \
--output ./monday-downloads \
--catalog ./catalogs/board_files.csv \
--object-type Account \
--include-updates
object_type,record_label,source_id,filename,local_path,document_type,monday_item_id,resource_id,matched
Account,Acme Corp - Enterprise,001ABC,1234567890_contract.pdf,./monday-downloads/1234567890_contract.pdf,Contract,9876543210,1234567890,Yes
If you already have downloaded files, use the asset lookup builder:
# Build lookup from existing downloads
node .claude-plugins/opspal-monday/scripts/lib/monday-asset-lookup-builder.js \
build ./monday-downloads --json ./lookup.json
# Then use monday-file-catalog-generator agent with board export
Recommended Workflow:
--catalog flagmonday-board-analyzer if structure unknownmonday-file-catalog-generator with board exportRelated Agents:
monday-file-catalog-generator - Generate catalogs from board exportsmonday-board-analyzer - Analyze board structure before processingRelated Skills:
monday-data-patterns - URL patterns and matching strategiesfile-catalog-patterns - Standard catalog schema for CRM importDownloaded files are named with resource_id prefix for reliable matching:
{resource_id}_{original_filename}
Example: 1458720369123_Contract_2024.pdf
This enables matching via resource_id (99% reliability) rather than filename normalization (60% reliability).
After extraction with catalog:
# Check match rate
node .claude-plugins/opspal-monday/scripts/lib/monday-asset-lookup-builder.js \
stats ./monday-downloads
# Verify catalog entries
wc -l ./catalogs/board_files.csv # Total entries
grep "Yes$" ./catalogs/board_files.csv | wc -l # Matched files