Data

Turn a folder of contracts into a searchable index

Extract text and clauses from every uploaded PDF, chunk and embed them, and keep the index in sync when files change or disappear.

Trigger

storage.object_created

Stack

storage · pdf extract · embeddings · vector db

Result

12,400 contracts indexed overnight with zero lost files

9 steps in this workflow

Turn a folder of contracts into a searchable index: workflow diagram drawn in characters

The problem

Ingestion pipelines fail in the boring middle: a PDF that times out, an embedding batch that hits a rate limit, a job that dies at file 8,000 of 12,000 and starts again at file one.

How the workflow runs

Each uploaded file triggers its own run, with concurrency capped at 20 per workspace so the embeddings provider never sees a spike. Extraction, chunking and embedding are separate steps, so a rate-limited batch retries on its own while the extracted text stays saved.

A nightly cron run compares the index with the bucket and cleans up chunks for deleted files. Large files use step.sleep between batches instead of holding a worker open.

What changes

A failed file is a single red row in the dashboard with the exact page that broke, not a mystery gap in search results three weeks later.

Get started

Ship the agent. Keep the receipts.

Free for 50,000 steps a month. No credit card, no separate workers, and your first durable workflow deployed before lunch.

orrindel

Durable runtime for AI agents and automations. Every run, in plain text.

Book a 20-minute demo →
All systems normal
99.99% uptime · last 90 days
90 days agotoday
regions us-east · eu-west · ap-south
soc 2 type ii · gdpr · hipaa (baa)
sdk v4.2.1 · node · python · go
© 2026 Orrindel Labs, Inc.PrivacyTermsSecurityMade in plain text.

Create a free website with Framer, the website builder loved by startups, designers and agencies.