Recued
Menu
← Back to recipes

Match a dropped document

by recued-core v4 42 views

Use “Match a dropped document” in Recued. Fires when a file lands in the relevant record and proposes which outstanding checklist line it satisfies. It proposes only — the line stays missing until you confirm it.

Complete workflow

Client Document Intake 9 pinned recipes

Use Client Document Intake in Recued for drop link, reception, documents, and checklist. It includes 14 built-in actions and 8 ready-to-run workflows. Actions that change data use Recued's approval controls.

You are viewing one recipe in this workflow. Installing it opens the complete pack so its other recipes and background automations arrive together.

Use “Match a dropped document” in Recued. Fires when a file lands in the relevant record and proposes which outstanding checklist line it satisfies. It proposes only — the line stays missing until you confirm it.

pack:client-document-intakedrop-linkreceptiondocuments
by recued-core pinned v4

Use “Open a document request” in Recued. Open one document request against a Reception drop link and write its checklist.

pack:client-document-intakedrop-linkreceptiondocuments
by recued-core pinned v2

Use “Confirm a document” in Recued. Accept the proposal on one checklist line, or clear it. This is the step that turns a file arriving into a document received — the two are different facts and the pack keeps them apart.

pack:client-document-intakedocumentschecklistrecords
by recued-core pinned v4

Use “Accept documents in bulk” in Recued. Tick the proposals you believe and accept them in one go. Same decision as confirming one line, made once for several — the board stays the board, and this is where a batch is done.

pack:client-document-intakedocumentschecklistbulk
by recued-core pinned v3

Use “Repair blank checklist lines” in Recued. Remove the empty checklist lines a defect wrote before 21 September 2026, so a request opened with no documents stops showing a line whose label is a leftover placeholder. It asks before each removal, and it never deletes the request itself.

pack:client-document-intakedocumentsrepairrecords
by recued-core pinned v2

Use “Document requests board” in Recued. Every open document request with what is still outstanding, and every line waiting on your decision. It reads information without changing data in the connected service.

pack:client-document-intakedocumentschecklistboard
by recued-core pinned v3
Show all 9 recipes

Use “Chase the missing documents” in Recued. Email one client the list of documents still outstanding, with their drop link.

pack:client-document-intakedocumentschecklistmail
by recued-core pinned v3

Use “One required doc” in Recued. Open one required doc from the list that names it, and read everything recorded about that required doc on one page.

pack:client-document-intakerequired-docdetailnavigation
by recued-core pinned v1
View pack details, dependencies, and permissions →

What it does, and what it deliberately does not

On every file arriving in data.file.received it reads the filename and MIME type, looks at the checklist lines still outstanding across your OPEN requests, and asks the model which single line the upload best satisfies. The winning line records a proposal: the file id, the filename, and a confidence. Its status becomes proposed.

Nothing is marked received. Confirming is Confirm a document — one click from the board.

⛔ It cannot tell where a file came from. core.storage.data-file-read returns record_id, filename, mime_type, size_bytes and blob_hash — no origin, no source endpoint — and a file event carries no record projection to re-read it from. So a mail attachment arriving while a request is open is indistinguishable from a client's upload. Proposing rather than deciding is what makes that safe.

⛔ Only the filename and MIME type are read. The file's CONTENT is never opened. Reading bytes is a gated egress boundary, and a document you have not accepted yet is exactly the wrong thing to feed a model. If the filename is generic (scan.pdf, IMG_1234.jpg) expect no proposal — that is the intended outcome, not a failure.

⚠ Uploads are unscanned by default. A drop ingests as scan_status: 'unscanned' and the substrate's gate is advisory. Install a scanner pack (clamav-scan / defender-scan) if you want that verdict to mean something before you open anything.

⚠ A file can only be proposed against one line at a time, and re-proposing a line that already carries a proposal is skipped — the first proposal stands until you accept or clear it.

How it works 23 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (23 steps)
■ record_id default
Apply default
■ has_record compare
Check if record id has data
⚠ record_guard guard
Stop if has record equals
◆ outstanding recued-core.client-document-intake.required_doc.search
Search required doc on client document intake
■ outstanding_rows default
Apply default
■ outstanding_count count
Count items in outstanding rows
■ has_outstanding compare
Check if outstanding count is greater than 0
⚠ nothing_outstanding_guard guard
Stop if has outstanding equals
◆ file_meta core.storage.data-file-read
Data file read storage
■ defaults defaults
Apply defaults
■ signals merge
Combine objects together
■ candidate_labels pluck
Extract label from each item
✦ classify core.ai.classify
AI classifies data into one of the given categories
■ defaults_2 defaults
Apply defaults
■ confident_enough compare
Check if confidence is at least setting min confidence
■ matched_rows filter
Filter by condition
■ matched_count count
Count items in matched rows
■ matched_exactly_one compare
Check if matched count equals 1
■ defaults_3 defaults
Apply defaults
■ already_proposed compare
Check if existing proposal has data
■ should_propose all
Check if all conditions are true
◆ propose recued-core.client-document-intake.required_doc.update
Update required doc on client document intake
skip: step.should_propose equal false
■ card to_summary
Format results as a summary card
▼
Output
summary card
Settings 1 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

min confidence setting = 0.6

Uses (4 operations)

Pack operation Search required doc on client document intake recued-core.client-document-intake.required_doc.search
Files Data file read storage core.storage.data-file-read
AI models AI classifies data into one of the given categories core.ai.classify
Pack operation Update required doc on client document intake recued-core.client-document-intake.required_doc.update

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Write Pack Client Document Intake external change
Read: required_doc.search · No approvalWrite: required_doc.update · No approval
Read Files core.storage.data-file-read read-only
Read AI models core.ai.classify read-only

Data it touches

SurfacesFilesAI models
Warehousedata.file

About

Tags

pack:client-document-intakedrop-linkreceptiondocumentschecklistrecordsreactivev2

Details

23 steps 1 configurable settings recipe_id: match-dropped-document