DOCUMENT OPS

Intake signed contracts from email, file them in Dropbox, and index to Postgres

Triggers on incoming email with PDF attachments, verifies the document is a signed contract, archives it to a structured Dropbox folder.

CategoryDocument Ops
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew email with PDF attachment in intake inboxGmailGmail
  • ActionExtract text; detect if it's a signed contractOpenAI
  • LogicDrop non-contracts; route valid agreements forward
  • ActionArchive PDF to counterparty Dropbox folderDropboxDropbox
  • OutputIndex metadata + archive path to PostgresPostgreSQLPostgres

What it does

Many signed contracts arrive as email attachments, not tidy folder drops. This workflow watches an intake inbox, confirms each PDF attachment is actually a signed agreement, files it into the right Dropbox folder by counterparty, and writes the extracted metadata to the Postgres index — closing the loop from inbox to searchable repository.

When to use it

Use it when contracts come back signed over email and someone is manually saving and renaming files. Great for sales ops and legal intake teams that want every executed agreement captured the moment it hits the inbox.

How it works

  1. 1A new email with a PDF attachment in the intake inbox triggers the run.
  2. 2The attachment text is extracted and a model decides whether it is a signed contract (versus a draft, NDA-only, or unrelated PDF).
  3. 3A logic step drops non-contracts and routes valid ones forward.
  4. 4The PDF is uploaded to a counterparty-named Dropbox folder for archival.
  5. 5Extracted metadata plus the Dropbox archive path is indexed into the Postgres contracts table.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GmailRead, draft, send, label.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect DropboxFiles and folders.
  4. 4
    Connect PostgresAny Postgres URL — query, write, migrate.
  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.