Contract Intake
DocJacket can read a contract PDF, pull out the parties, addresses, key dates, and financials, and create the matching transaction.
The standard workflow is the in-app Contract Extraction wizard. External AI contract intake uses the same extraction engine, but it requires AI Access action tools to be enabled for your account. If your connection is read-only, use the in-app wizard to upload, review, and save the transaction.
What you can sayโ
When action tools are enabled, plain English works. The assistant picks the right tools based on what you ask:
"I just got this contract. Set up the deal." [paste or drop the PDF] "Open this purchase agreement and start a transaction." "Process this listing agreement." "Extract this PDF and review with me before creating the deal."
How it worksโ
The assistant walks the workflow for you. Behind the scenes:
-
Upload. Three paths, in priority order:
- (a) If the PDF is already in DocJacket (DocDrop, email intake, the web wizard, or a prior chat call): the assistant calls
list_documentsto discover it, confirms with you ("found 'fl-buyer-purchase.pdf' uploaded at 9:14am โ extract it?"), thenextract_existing_document(documentId)starts the pipeline. PDF bytes never leave DocJacket. This is the canonical path and works in every assistant (Claude, Cowork, ChatGPT, Codex, Gemini) without any sandbox or paid-plan prerequisites. Just say "extract the contract I uploaded this morning" or "process the file from earlier." - (b) If you attached the PDF directly in chat on Claude.ai with code execution enabled (paid plan +
mcp.docjacket.comadded to allowed domains under Settings โ Capabilities โ Code execution): the assistant uses a two-step presigned upload โrequest_upload_urlreturns a short-lived URL, the assistantcurls the file from its sandbox to blob storage, thenkick_off_extractionstarts the pipeline. PDF bytes never enter the chat conversation. - (c) Tiny PDF (~under 1 MB) attached in chat with no other option: the assistant falls back to
upload_document_for_extraction, which carries the bytes as base64 in the tool call. Avoid this path for anything larger โ base64 inflates the file ~33% and lives in chat tokens for the rest of the conversation.
Either way you get an
extractionJobIdand extraction kicks off in the background. - (a) If the PDF is already in DocJacket (DocDrop, email intake, the web wizard, or a prior chat call): the assistant calls
-
Classify.
classify_documentruns concurrently to detect the doc type โ purchase agreement, listing agreement, lease, addendum, disclosure, etc. The classification informs which extraction prompt and checklist to use. -
Poll. Extraction typically takes 10โ60 seconds depending on document length and complexity. The assistant polls
get_extraction_resultsuntil the job iscompleted(orfailed, in which case it shows the error and offers to retry). -
Review. The assistant presents the extracted fields in chat:
๐ Purchase Agreement โ 1247 Pine Street
Buyer: Sarah Smith (sarah@example.com)
Seller: John & Mary Johnson
Price: $625,000 ยท EMD $10,000
Closing: 2026-06-15
Inspection: 2026-05-25 (10 business days)
Financing: 2026-06-01 (conventional, Wells Fargo)
Listing: Mike Park, Park Realty
Buyer agent: Casey Spaulding, Spaulding Real Estate
Want me to create the transaction with these fields?You can correct any field inline ("change the closing to June 18"), ask follow-ups ("is Mike Park already in my contacts?"), or just confirm.
-
Apply. On your "yes," and only when your AI Access connection has action-tool access, the assistant calls
apply_extraction, which:- Creates the transaction with type detected (purchase / listing / lease) and side (buy / sell)
- Adds every extracted party as a transaction contact with their role
- Sets key dates on the transaction timeline (closing, inspection, financing, appraisal, EMD due)
-
Done. The assistant comes back with the transaction URL. You can keep going in chat with read tools such as
get_next_required_actions, or pick up in the DocJacket web app.
What gets extractedโ
| Category | Fields |
|---|---|
| Property | Address (street / city / state / zip), MLS number, year built (when present), legal description |
| Parties | Buyer(s) and seller(s) with names + email/phone when present; listing agent + brokerage; buyer agent + brokerage; lender contact; title company contact |
| Financial | Purchase price, earnest money amount, loan type, loan amount, down payment, seller concessions |
| Key dates | Contract date, closing date, inspection deadline, financing deadline, appraisal deadline, EMD due date, possession date, contingency-removal deadlines |
| Contingencies | Inspection period (calendar or business days), appraisal contingency, financing contingency, sale-of-buyer's-home contingency |
Standard state-association forms (TAR, CAR, FAR, MLS contracts) extract with highest accuracy. Custom forms work but may need more review.
What gets createdโ
When you confirm apply_extraction:
- โ Transaction in DocJacket with type + side detected
- โ All parties added as transaction contacts (existing contacts are matched by email when possible to avoid duplicates)
- โ Key dates populated on the timeline โ inspection, financing, appraisal, closing, EMD due
- โ Key dates available for timeline/checklist workflows after the transaction is created
Everything is editable in the DocJacket web app afterward.
Limitations to know aboutโ
- One PDF per call. If the customer sent you a multi-document packet (contract + addenda + disclosures stapled into one PDF), use the in-app Smart Document Splitting wizard first to separate the docs, then run intake on the contract page-range.
- Purchase deals are most polished. Listing-side and lease intake work but have less per-state customization. If a field looks wrong, just correct it in the review step.
- Per-state addenda are on the roadmap. Today's extraction handles the main contract well; supplemental state forms (CA TDS, FL HOA disclosure, NJ attorney review rider, etc.) are best added through the web app after the transaction is created.
- Lead-Based Paint flagging is conservative. The assistant will mention LBP applicability on every deal; if the property was built after 1978, just say "skip LBP" during review.
- Always review before confirming. Extraction is very good but not perfect. A 15-second scan catches the occasional misread on a smudgy scan or non-standard form.
Recovery โ if you lost the chatโ
Extractions don't depend on the chat window โ they run server-side and stay queryable. If you closed Claude / Codex / ChatGPT mid-intake, open a new conversation and ask:
"Check my recent DocJacket extractions."
The assistant calls get_intake_status and returns recent jobs with state โ processing, completed, or failed. Completed jobs are still applicable; just confirm in the new chat and DocJacket finishes the intake.
Try it nowโ
The fastest way to see it work:
- Connect Claude or Codex / ChatGPT if you haven't.
- Grab any sample purchase contract PDF.
- Drop it in chat and say: "Open this and set up the deal."
- Review the extracted fields, fix anything wrong, confirm.
- Open DocJacket โ Transactions โ the new deal is there with parties, dates, checklist, and reminders.
Read moreโ
- Connect Claude / Connect Codex / ChatGPT โ install the connector if you haven't
- Contract Extraction (in-app) โ same engine, web-app workflow if you prefer not to use chat
- Smart Document Splitting โ split a multi-doc PDF first if you have one
- AI Access overview โ section index