DOCUMENT OPS

Verify uploaded contract hashes and quarantine tampered PDFs (Dropbox)

Watches a Dropbox contracts folder, recomputes each new PDF's SHA-256 against the registered baseline hash.

CategoryDocument Ops
Enginesim
Difficultyintermediate
Triggerevent
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew PDF in Dropbox /contracts/inboundDropboxDropbox
  • ActionDownload file and compute SHA-256 digestShell
  • ActionLook up registered baseline hash by contract IDPostgreSQLPostgres
  • LogicCompare computed hash vs. baseline
  • ActionMove to /verified or /quarantine in DropboxDropboxDropbox
  • OutputAlert deal desk on mismatch in SlackSlack

What it does

Every time a signed contract lands in your Dropbox intake folder, this workflow recomputes its SHA-256 digest and compares it to the hash you registered when the document was originally sent for signature. Files that match pass silently; files whose bytes changed get pulled into a quarantine folder and flagged to your team so a tampered or corrupted PDF never reaches the archive of record.

When to use it

Run this when counterparties return signed PDFs to a shared Dropbox folder and you need a deterministic, byte-level integrity check before the document is treated as final. Ideal for legal ops and deal desks that maintain a hash registry of outbound contracts.

How it works

  1. 1A new PDF appears in the Dropbox `/contracts/inbound` folder and fires the trigger.
  2. 2The file is downloaded and its SHA-256 digest is computed in a shell step.
  3. 3The workflow looks up the expected baseline hash for that contract ID in the Postgres registry.
  4. 4A logic branch compares computed vs. expected. On match, the file is moved to `/contracts/verified`.
  5. 5On mismatch, the file is moved to `/contracts/quarantine` and a Slack alert names the file, both hashes, and the deal owner.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect DropboxFiles and folders.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect ShellRun sandboxed commands inside the workspace.
  4. 4
    Connect SlackChannels, DMs, threads, mentions.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.