DOCUMENT OPS

Rename filed Dropbox invoices from extracted metadata

When an invoice PDF lands in Dropbox, extracts vendor, invoice number, and date, renames the file to a consistent pattern, and logs the metadata to Postgres for search.

CategoryDocument Ops
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew invoice PDF in Dropbox /InvoicesDropboxDropbox
  • ActionExtract vendor, invoice number, dateOpenAI
  • LogicValidate all required fields present
  • ActionRename file to standard patternDropboxDropbox
  • OutputInsert metadata row into PostgresPostgreSQLPostgres

What it does

Takes invoice PDFs as they arrive in a Dropbox folder, pulls the vendor name, invoice number, and invoice date out of the document, and renames the file to a standard `YYYY-MM-DD__Vendor__InvoiceNo.pdf` pattern. It then writes the same fields to a Postgres table so invoices are queryable without opening files.

When to use it

Use it when invoices show up with useless names like `scan_0012.pdf` and your AP team needs predictable filenames plus a searchable index. Pairs well with an upstream type-classifier that drops invoices into one folder.

How it works

  1. 1A new file in `/Invoices` triggers the run.
  2. 2The flow extracts text and parses vendor, invoice number, and date via OpenAI.
  3. 3A validation step checks all three fields were found; missing fields skip the rename and flag the file.
  4. 4The file is renamed in place in Dropbox to the standard pattern.
  5. 5A row is inserted into the Postgres `invoices` table with the metadata and the new path for later lookup and reconciliation.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect DropboxFiles and folders.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.