Obligations
An obligation is a deadline or financial commitment derived from a document’s canonical data. For typed OREA/TRREB packs, obligations are derived deterministically—no AI is involved, and the result is exact.Obligation types
When a document is generated, obligations are written to the
DocumentObligation table and linked to the document’s deal (if one is set). When a document is signed (DOCUMENT_SIGNED event), the obligations are re-synced to reflect the executed state.
Urgency
Each obligation carries an urgency level computed from its due date relative to today:The obligations feed
The obligations feed (GET /api/documents/obligations) returns upcoming and overdue obligations across your organization’s documents, sorted soonest first. By default it looks ahead 30 days; pass ?withinDays=N to adjust the window (maximum 365).
Semantic search
Locker indexes every document’s content as a vector embedding, enabling natural-language search over your document repository. Example queries:- “leases expiring this summer with rent over $3,000”
- “condo purchase agreements for Harbour Street”
- “rental applications with pets clause”
text-embedding-3-small and is configurable via the AI_EMBEDDING_MODEL environment variable.
What is indexed
The embedding is built from the document’s canonical data (all string values, traversed up to six levels deep) prefixed with the form key. For a typed OREA pack this includes parties, addresses, dates, amounts, conditions, and schedules. For uploaded generic templates it includes whatever text is in the fill data.Obligation extraction from uploaded documents
For uploaded (generic) PDF templates and completed documents imported from external providers (such as DocuSign Connect), Locker can extract obligations using the AI gateway. The extraction is Zod-validated—the model’s output is checked against the obligation schema and rejected if it does not conform. AI-extracted obligations are flagged withextractedByAi: true so you can distinguish them from the deterministic OREA-pack derivation.
CRM wiring
Obligations link to deals viadealId. The morning command center reads the obligations feed and displays upcoming deadlines in urgency order.
A signed document does not automatically advance the deal stage or create a closing checklist on the deal — those are separate, manual steps today. The closing checklist has its own closing date and milestones; it is not generated from a document’s obligations.
Related
- Generate — obligations are written at generate time for typed OREA packs.
- Sign — signing re-syncs obligations to the executed state.
- Closing Checklist — a separate, deal-level milestone tracker with its own closing date.
- Documents API — obligations endpoint — the raw feed.
- Documents API — search endpoint — semantic search.