Uploading contracts

Supported formats, size limits, and uploading via URL.

Updated 24 Jun 2026

Clment accepts most everyday contract formats. This page covers what works, what doesn’t, and the three ways to get a contract into Clment.

Supported formats

  • PDF — including scanned PDFs (OCR runs automatically).
  • Word.docx (modern Word). For older .doc files, open in Word and save as .docx first.
  • Plain text.txt files. Useful for amendments or short side letters.

Not supported: images on their own (.png, .jpg), encrypted / password-protected PDFs, files larger than 100 MB.

If your file is bigger than 100 MB it’s usually because of embedded images. Re-export from Word as PDF with Standard quality or use Acrobat’s Reduce file size.

Three ways to upload

1. Drag and drop

The fastest path. From the Contracts page, drag a file anywhere onto the table — or click + New contract to pick from a file dialog. Clment shows the upload progress, ingests the file, and opens the new contract record.

Contracts are uploaded one at a time. For a back-catalogue migration, the practical workflow is to upload in quick succession from the same browser window — each upload starts processing in parallel so the wall-clock time scales reasonably well even for dozens of files. For very large migrations (hundreds of contracts, or anything coming off a system with an API), contact support — we can run a one-time bulk import for you.

2. Upload from URL (via Claude Desktop)

If you have your AI assistant connected (see Connecting Claude Desktop), you can ask it to ingest a public URL:

“Upload the latest version of the GitLab terms from gitlab.com/terms and start a review.”

Clment AI uses the upload_contract_from_url skill — it downloads the URL, ingests it as a new contract, and (if you asked) starts a review immediately. URLs must be publicly resolvable HTTPS; protected SharePoint / Drive links won’t work without an export token.

3. Upload local files via your AI assistant

You can also hand files straight to your connected assistant — for example, a few PDFs attached to the chat:

“Upload these contracts and start a review.”

Clment AI uses the request_contract_upload skill: it mints a one-time, short-lived upload link, and your assistant pushes the file bytes directly to Clment (up to 100 MB each).

One-time setup for sandboxed assistants (e.g. Claude in the browser, which runs its HTTP tools in a locked-down sandbox): the assistant can’t reach Clment until you allow it. If an upload fails with a “host not in allowlist” error, add your Clment region’s API host — the host shown in that error, for example api-au.clment.com — to the client’s allowed-domains / network setting, then ask it to try again. Assistants whose HTTP tools aren’t sandboxed don’t need this step — but many are (Claude’s agent sandbox included), so if you see the error, just add the host.

What happens after upload

  1. Text extraction — Clment pulls the text layer from the PDF / Word file. Scanned PDFs go through OCR (≈10–20 seconds extra per scanned page).
  2. CLM number — every contract gets a stable identifier like CLM-128, allocated atomically so two simultaneous uploads can never collide.
  3. Initial classification — Clment AI suggests a contract type (NDA, MSA, SoW, etc.) and pulls out the parties, signing date, term, and renewal trigger. You can correct any of these inline.
  4. Indexing — the contract is embedded and added to your portfolio search index so you can ask cross-contract questions like “which of our vendor agreements have unlimited liability?”

If extraction fails (corrupt file, exotic Word features, encrypted PDF), you’ll see a clear error on the contract page with a Re-upload button.

See also

Still have questions?

Instant article search