What you’ll get
The third artifact matters as much as the first two. A batch process that only reports successes is one that silently swallows failures.
The key call: read vs. script
The threshold is around five files. It isn’t a hard rule, it’s an empirical line: past five, manual verification costs enough that you won’t actually do it, so the process itself has to be verifiable.
Prerequisites
1
Upload the files
Put them in the workspace. Per-file caps: 512 MB for documents, 20 MB for images, 50 MB for code files. Total usage counts against your cloud drive quota (10 GB on Free, more on paid tiers).
2
Confirm the files are parseable
Scanned PDFs (image-based) and text PDFs are different animals. The former needs OCR, and accuracy degrades with layout complexity. Have the agent read one at random and confirm text comes out before going further.
3
Define the fields yourself
List the field names and types (text/number/date). “Have a look and see what fields there are” produces a different field set per file, and you can’t assemble a table from that.
Steps
Step 1: Sample the structure
Don’t start with all of them. Look at three:Step 2: Have it write a script, not do the work
Step 3: Run five, then run everything
Step 4: Convert to a spreadsheet with formulas
The CSV is an intermediate. The deliverable has to compute:Step 5: Work the failure list
Step 6: Accept the work
- Open the xlsx, pick 5 rows at random, verify each field against the source file
- Change one “total incl. tax” cell and confirm the totals row and net column move with it
- Confirm row count = success count, and success + failures = total file count
- Open failures.md and confirm each entry has a specific reason, not “parse failed”
Boundaries and failure modes
Variations
You need judgment, not just extraction
You need judgment, not just extraction
Split it in two: the script extracts source passages into a structured CSV, then the model reads those passages row by row and judges (e.g. “is this payment clause risky”). Don’t let the model parse the PDF and judge in one pass — when it’s wrong you can’t tell whether it misread or misjudged.
Files live in Feishu, not locally
Files live in Feishu, not locally
Connect the Feishu knowledge base and read them directly without downloading. See Feishu integration.
New files arrive regularly
New files arrive regularly
Freeze the finished script and prompt into a scheduled task. Every run bills for real — see Daily briefing.
The team needs to see the results
The team needs to see the results
xlsx is for computing, the web is for reading. See Publish a site.
Related pages
Excel spreadsheets
Formula-first principle and limits
Files and cloud drive
Upload caps and quotas
Tool catalog
Parameters and defaults for read/write/exec tools
Sandbox
Where scripts actually run

