Table of Contents
- 1 The Business Situation
- 2 The Existing Process
- 2.1 Process Problems
- 2.2 Business Effects
- 3 What the New System Needed to Do
- 4 Implementation Approaches Considered
- 4.1 Improved Workbook and Calendar Process
- 4.2 Microsoft 365 Workflow with DocuSign
- 4.3 No-Code Contract Database
- 4.4 Dedicated Contract Lifecycle Management Platform
- 4.5 Custom Application
- 5 The Selected Solution
- 6 System Architecture and Data Flow
- 7 Data Structure
- 7.1 Contracts List
- 7.2 Renewal Matters List
- 7.3 Review Tasks, Approval Log, and Exceptions
- 8 Workflow Statuses and Ownership
- 9 Step-by-Step Implementation
- 9.1 Step 1: Prepare the Accounts and Permissions
- 9.2 Step 2: Build the Intake
- 9.3 Step 3: Create the System of Record
- 9.4 Step 4: Connect the Tools
- 9.5 Step 5: Build the Core Automation
- 9.6 Step 6: Add Approvals, Reminders, and Escalations
- 9.7 Step 7: Add Documents and File Management
- 9.8 Step 8: Add Reporting and Operational Views
- 9.9 Step 9: Add Security and Governance Controls
- 9.10 Step 10: Deploy and Test
- 10 Code and Configuration
- 10.1 Configuration Values
- 10.2 Power Automate Expressions
- 10.3 Forms Attachment Parsing
- 10.4 Try, Catch, and Finalize Scopes
- 10.5 Approval Result Consolidation
- 10.6 DocuSign Native Configuration
- 11 Failure Handling and Operational Reliability
- 12 A Complete Example
- 13 Implementation Cost
- 14 Estimated Time and Cost Savings
- 15 Adding AI to the Automation
- 15.1 The Recommended AI Enhancement
- 15.2 Benefits of the AI Enhancement
- 15.3 What Remains Rule-Based or Human-Controlled
- 15.4 Estimating the Additional Value of AI
- 16 Testing Checklist
- 17 Ongoing Maintenance
- 18 When to Move to Dedicated Software
- 19 Implementation Checklist
The Business Situation
Elmbridge Facilities Partners is a fictional 92-person facilities services company that relies on software providers, equipment lessors, specialist subcontractors, fleet vendors, training providers, and professional advisers. The business manages approximately 140 active vendor agreements.
The procurement manager owns the contract process. A procurement coordinator maintains the records, while the finance controller, legal and compliance manager, and 18 departmental business owners contribute to reviews. An external lawyer is consulted for unusual or high-risk terms. A Microsoft 365 administrator supports SharePoint and Power Automate.
Approximately 12 contracts reach a renewal review point each month. The company also receives about eight new agreements or amendments per month. Many contracts contain automatic renewal clauses with notice periods ranging from 30 to 120 days.
The existing process used an Excel workbook, email, shared folders, calendar reminders, and DocuSign. The tools were individually useful, but ownership, notice dates, spend, performance, review tasks, negotiation status, approvals, and signed documents were not connected.
Several contracts renewed before procurement had collected usage information or confirmed whether the service was still required. Other reviews began on time but stalled because the business owner, finance reviewer, or legal reviewer did not know who was waiting for whom.
Note: This case study is provided as a representative example of the types of AI integration and digital transformation solutions Intelligex designs and delivers. Actual engagements are tailored to each client’s goals, constraints, existing systems, timeline, and available resources, so the approach, tools, and outcomes may vary.
The company needed a controlled process that started well before the contractual notice deadline, not merely before the expiration date. It also needed an evidence trail showing what was reviewed, who approved the decision, which version was signed, and what terms became effective.
The Existing Process
The original process followed this sequence:
- A department emailed a contract or renewal notice to procurement.
- The procurement coordinator saved the file in a general contracts folder.
- Contract details were copied into an Excel workbook.
- A calendar reminder was created using the contract end date or notice period.
- When the reminder appeared, procurement emailed the business owner to ask whether the service was still needed.
- Finance was asked to find actual spend in the accounting system.
- Legal reviewed the contract if someone believed the terms had changed.
- Negotiation was conducted through email and separately edited documents.
- Approval evidence remained in email threads.
- DocuSign was used for agreements requiring signatures.
- The executed file was manually downloaded and saved in a shared folder.
- The workbook was updated when someone remembered to close the item.
Process Problems
- Notice deadlines and contract end dates were sometimes confused.
- Business owners changed roles without the workbook being updated.
- Spend and usage information had to be requested repeatedly.
- Email did not provide a reliable workflow status.
- Documents were stored under inconsistent vendor names.
- Approval evidence was separated from the contract record.
- Executed versions were occasionally mixed with drafts.
Business Effects
- Reviews started too late for an effective negotiation.
- Automatic renewals occurred without an explicit business decision.
- Procurement spent time chasing routine responses.
- Finance could not easily forecast upcoming commitments.
- Legal lacked a complete review history.
- Managers could not see how many renewals were at risk.
- The process depended heavily on one coordinator.
Manual data entry also introduced inconsistent vendor names, currencies, contract types, and dates. A supplier might appear under its legal name in the contract, a trading name in the accounting system, and an abbreviation in the renewal workbook.
The spreadsheet could show that a renewal was due, but it could not prove that all required reviews had been completed. It also did not distinguish a missing response from a deliberate decision to renew.
What the New System Needed to Do
The project team defined the requirements before configuring any automation.
| Area | Requirement | Control |
|---|---|---|
| Intake | Capture new, existing, amended, and renewal contracts through a consistent form. | Required fields, controlled choices, authenticated respondents, and attachment validation. |
| Records | Maintain one stable contract record and a separate matter for each renewal or amendment. | Unique contract, matter, cycle, task, and submission identifiers. |
| Dates | Calculate the notice deadline and review start date. | Stored dates derived from the verified end date, notice period, and review lead time. |
| Ownership | Assign procurement, business, finance, and legal owners. | Person fields, departmental assignment rules, delegation, and escalation. |
| Review | Collect usage, performance, spend, risk, and legal information. | Separate review tasks with due dates and completion evidence. |
| Decision | Record renew, renegotiate, terminate, or request-more-information decisions. | Named decision owner and approval history. |
| Approval | Apply different approval paths based on spend, risk, and contract changes. | Sequential and parallel approval stages with recorded responses. |
| Documents | Separate intake files, review evidence, drafts, signature files, and executed agreements. | Standard folder names, file metadata, versioning, and restricted access. |
| Signature | Send approved documents for signature and capture the completed envelope. | DocuSign envelope identifier, recipient validation, and completion reconciliation. |
| Reporting | Show upcoming deadlines, overdue tasks, negotiation status, and failures. | Indexed SharePoint views and scheduled reporting checks. |
| Exceptions | Prevent failed records from disappearing inside automation run histories. | Exception list, error notification, retry count, and manual recovery instructions. |
| Audit | Show who submitted, reviewed, approved, changed, and signed each agreement. | Version history, approval log, timestamps, and executed-document links. |
| Human control | Keep commercial, legal, and termination decisions with authorized staff. | Automation routes and records decisions but does not make them. |
The project also required a manual override. Procurement needed to reassign an owner, change a due date, reopen a completed review, or move a failed record into a controlled recovery queue without editing the automation itself.
Implementation Approaches Considered
| Approach | Connected tools | Effort | Customization | Main limitation |
|---|---|---|---|---|
| Improved workbook and calendar process | Excel, Outlook, shared folders | Low | Low | Weak ownership, audit evidence, and duplicate control |
| Microsoft 365 workflow with DocuSign | Forms, SharePoint, Power Automate, Outlook, DocuSign | Moderate | Moderate to high | Requires careful flow governance and data design |
| No-code contract database | No-code database, automation platform, DocuSign | Moderate | High | Adds another data platform and permission model |
| Dedicated contract lifecycle management platform | Contract management suite, e-signature, finance integrations | High | Product dependent | Implementation and licensing may exceed current needs |
| Custom application | Custom interface, database, APIs, identity platform | High | Very high | Greater development, security, and maintenance responsibility |
Improved Workbook and Calendar Process
This option would have added validation lists, a standard folder structure, and more consistent calendar reminders. It was inexpensive to start, but it did not provide dependable task ownership, approval history, document synchronization, or failure monitoring.
Microsoft 365 Workflow with DocuSign
This approach retained the company’s existing identity, collaboration, storage, and e-signature tools. It could support structured lists, version history, automated date calculations, approvals, reminders, document workspaces, and signature status updates without introducing a separate business database.
No-Code Contract Database
A no-code database would provide flexible interfaces and relationships. It was not selected because contract data would move outside the existing SharePoint governance structure, and the company would need to maintain another identity, permission, backup, and licensing model.
Dedicated Contract Lifecycle Management Platform
A dedicated platform would become attractive if the business needed clause libraries, redlining, obligation management, supplier portals, advanced legal analytics, or formal records controls. At 140 active contracts and 12 monthly renewal cycles, the initial scope did not justify replacing tools the company already used.
Custom Application
A custom application offered the greatest flexibility but would require application hosting, database administration, identity integration, security testing, support procedures, and ongoing development. The workflow did not yet require that level of engineering.
The Selected Solution
Elmbridge Facilities Partners selected a Microsoft 365 workflow connected to DocuSign. The core process uses native connectors and controlled SharePoint data rather than custom application code.
| Tool | Responsibility |
|---|---|
| Microsoft Forms | Contract intake and structured business or finance review responses |
| SharePoint | Contract master records, renewal matters, review tasks, approval logs, exceptions, and document storage |
| Power Automate | Validation, record creation, date calculation, assignment, reminders, approvals, DocuSign integration, and failure handling |
| DocuSign | Controlled electronic signature, envelope status, and executed-document retrieval |
| Microsoft 365 Outlook | Task notices, reminders, escalations, completion notices, and error alerts |
| SharePoint views | Operational reporting for upcoming renewals, overdue tasks, decisions, signatures, and failures |
| Azure AI services, optional | Contract text extraction and proposed metadata for human verification |
Existing Microsoft 365 accounts, the procurement SharePoint site, and the DocuSign account were retained. The Excel renewal tracker stopped being the system of record after validated data was migrated.
Manual copying between email, spreadsheets, folders, and DocuSign was removed. The substantive review of usage, supplier performance, legal risk, pricing, termination, and final commercial terms remained human-controlled.
SharePoint was selected as the system of record because the company already governed access through Microsoft 365 groups. Power Automate was selected because it could connect Forms, SharePoint, Outlook, approvals, and DocuSign using the same organizational identity.
System Architecture and Data Flow
- Intake: Group-owned Microsoft Forms for contract intake and review responses
- System of record: SharePoint lists for contracts, matters, tasks, approvals, and exceptions
- Automation layer: Power Automate cloud flows
- Document storage: A versioned SharePoint contract library
- Notifications: Microsoft 365 Outlook and Power Automate approvals
- Reporting: Indexed SharePoint views and exported management summaries when required
- AI layer: Optional Azure document reading and language model extraction, subject to human verification
-
Contract submission: An authenticated employee submits the Contract Intake form and uploads the current agreement or approved draft. Microsoft Forms supplies the response identifier and respondent identity.
-
Validation: Power Automate retrieves the response, confirms required dates and owners, parses the attachment metadata, and checks whether the response identifier has already been processed.
-
Contract creation: The flow creates a SharePoint Contracts item. SharePoint returns its numeric item ID, which is used to generate a stable identifier such as
CTR-2026-000142. -
Matter creation: The flow creates an Initial Intake, Renewal, Amendment, or Termination matter. SharePoint returns the matter item ID, which becomes a value such as
MAT-2026-000389. -
Workspace creation: Power Automate creates a folder named with the contract ID and vendor name. It creates subfolders for intake, evidence, drafts, signature files, and executed documents.
-
Document transfer: The submitted file is copied from the Forms upload location to the intake folder. The destination URL is written to the contract and matter records.
-
Date calculation: The flow calculates the notice deadline, renewal review start date, decision due date, and task due dates from verified contract fields.
-
Renewal opening: A scheduled flow checks active contracts daily. When the renewal start date is reached, it creates one renewal matter for the contract cycle and prevents duplicates with a unique cycle key.
-
Review assignment: Business, finance, legal, and procurement tasks are created according to spend, risk, service criticality, and data-processing rules.
-
Decision routing: When required tasks are complete, the business owner chooses whether to renew, renegotiate, terminate, or request more information. Power Automate records the response.
-
Approval: Legal approval occurs first when required. Finance and business approvals then run in parallel. High-risk or policy-exception matters receive an additional named approver.
-
Signature: Power Automate sends the approved document through DocuSign. The returned envelope ID is stored on the matter.
-
Completion: When DocuSign reports completion, the executed file is downloaded to SharePoint, linked to the matter, and promoted as the current executed contract after verification.
-
Failure path: If any critical action fails, the matter is marked as an exception, an exception record is created, and the procurement automation owner receives a recovery link.
Data Structure
The implementation uses related SharePoint lists rather than one oversized list. One Contract can have many Matters. One Matter can have many Review Tasks and Approval Log entries. Documents carry both Contract ID and Matter ID metadata.
Contracts List
| Field | Type | Required | Source | Purpose and validation |
|---|---|---|---|---|
| ContractID | Single line text | Yes | Automation | Unique stable identifier generated after item creation |
| SourceSubmissionKey | Single line text | Yes | Forms and automation | Unique value based on form and response ID |
| VendorLegalName | Single line text | Yes | Form, then human verification | Legal counterparty name; trimmed and checked for duplicate candidates |
| VendorNormalized | Single line text | Yes | Automation | Uppercase normalized name used for searching and duplicate review |
| VendorContractNumber | Single line text | No | Form or contract | Supplier or internal reference number |
| ContractType | Choice | Yes | Form | Software, subcontractor, lease, professional service, fleet, training, or other |
| Department | Choice | Yes | Form | Controls finance and business assignment rules |
| BusinessOwner | Person | Yes | Form and directory lookup | Accountable service owner |
| LegalOwner | Person | Yes | Assignment rule | Legal and compliance reviewer |
| FinanceOwner | Person | Yes | Assignment rule | Spend and budget reviewer |
| ContractStatus | Choice | Yes | Automation or procurement | Pending, Active, Terminated, Expired, or Superseded |
| EffectiveDate | Date | Yes | Form or verified contract | Must not be after the current end date |
| CurrentEndDate | Date | Yes | Form or verified contract | Drives renewal calculations |
| AutoRenew | Yes or No | Yes | Form or verified contract | Indicates whether the agreement renews without further signature |
| RenewalTermMonths | Number | No | Form or verified contract | Required when a recurring renewal term is known |
| NoticePeriodDays | Number | Yes | Form or verified contract | Integer from 0 to 730; zero requires legal confirmation |
| NoticeDeadline | Date | Yes | Automation | CurrentEndDate minus NoticePeriodDays |
| ReviewLeadDays | Number | Yes | Policy default | Normally 120 days before the notice deadline |
| RenewalStartDate | Date | Yes | Automation | NoticeDeadline minus ReviewLeadDays |
| AnnualSpend | Currency | Yes | Form, then finance verification | Must be zero or positive |
| CurrencyCode | Choice | Yes | Form | Approved currency codes used by the company |
| RiskTier | Choice | Yes | Form and legal review | Low, Medium, or High |
| ProcessesPersonalData | Yes or No | Yes | Form and legal review | Forces legal review when true |
| ServiceCriticality | Choice | Yes | Business owner | Low, Medium, High, or Critical |
| DocumentFolderUrl | Hyperlink | Yes | Automation | Link to the contract workspace |
| CurrentExecutedDocumentUrl | Hyperlink | No | Automation after verification | Link to the authoritative executed version |
| LatestMatterID | Single line text | No | Automation | Current open or most recent matter |
| ExternalSystemID | Single line text | No | Integration | Optional identifier from finance, vendor, or migration source |
| AutomationStatus | Choice | Yes | Automation | Pending, Processing, Complete, Failed, or Manual Review |
| LastAutomationRun | Date and time | No | Automation | Last attempted processing time |
| RetryCount | Number | Yes | Automation | Starts at zero and increments on controlled retries |
| ErrorMessage | Multiple lines text | No | Automation | Sanitized operational error, without credentials |
Renewal Matters List
| Field | Type | Required | Allowed values or purpose |
|---|---|---|---|
| MatterID | Single line text | Yes | Unique identifier such as MAT-2026-000389 |
| Contract | Lookup | Yes | Relationship to the Contracts list |
| MatterCycleKey | Single line text | Yes | Unique contract, matter type, and cycle combination |
| MatterType | Choice | Yes | Initial Intake, Renewal, Amendment, or Termination |
| CycleEndDate | Date | Yes | Contract end date being reviewed |
| Status | Choice | Yes | Controlled workflow status |
| Owner | Person | Yes | Procurement owner responsible for progress |
| Priority | Choice | Yes | Normal, High, or Critical |
| DecisionDueDate | Date | Yes | Normally 30 days before the notice deadline |
| Decision | Choice | No | Renew, Renegotiate, Terminate, or Undecided |
| DecisionRationale | Multiple lines text | No | Human-entered reason for the selected decision |
| NegotiationStatus | Choice | Yes | Not Required, Planned, In Progress, Final Draft Ready, or Complete |
| ApprovalReady | Yes or No | Yes | Human confirmation that the final draft is ready |
| ApprovalStarted | Yes or No | Yes | Idempotency control for approval flow |
| ApprovalStatus | Choice | Yes | Not Started, In Progress, Approved, Rejected, or More Information |
| DraftDocumentUrl | Hyperlink | No | Approved draft selected for signature |
| ExecutedDocumentUrl | Hyperlink | No | Signed document archived in SharePoint |
| DocuSignEnvelopeID | Single line text | No | Envelope identifier returned by DocuSign |
| DocuSignStatus | Choice | Yes | Not Sent, Sent, Delivered, Completed, Declined, or Voided |
| ExceptionType | Choice | No | Validation, Approval, Document, Signature, Authentication, or Other |
| AutomationStatus | Choice | Yes | Pending, Processing, Complete, Failed, or Manual Review |
| LastAutomationRun | Date and time | No | Most recent processing attempt |
| RetryCount | Number | Yes | Controlled retry counter |
| ErrorMessage | Multiple lines text | No | Sanitized failure details |
| Notes | Multiple lines text | No | Procurement notes and manual recovery explanation |
Review Tasks, Approval Log, and Exceptions
| List | Key fields | Relationship and purpose |
|---|---|---|
| Review Tasks | TaskKey, MatterID, TaskType, AssignedTo, DueDate, Status, Score, Response, EvidenceUrl | Many review tasks belong to one matter. TaskKey is unique. |
| Approval Log | ApprovalKey, MatterID, Stage, Approver, Outcome, Comments, RequestedAt, RespondedAt, ApprovalID | Stores a durable copy of approval evidence outside the approval notification. |
| Automation Exceptions | ExceptionID, MatterID, FlowName, RunID, FailureStage, ErrorSummary, RetryCount, Owner, ResolutionStatus | Provides a manual-review queue and operational recovery history. |
| Contract Documents | ContractID, MatterID, DocumentType, VersionStatus, UploadedBy, EffectiveDate | Document library containing intake, evidence, draft, signature, and executed files. |
SharePoint version history is enabled on every list and the document library. Versioning records field and document changes, but the Approval Log is still required because it provides a concise business history rather than forcing reviewers to interpret technical version records.
Workflow Statuses and Ownership
| Status | Meaning | Owner | Entry and exit conditions | Reminder and escalation |
|---|---|---|---|---|
| Intake Review | Submitted data and document are being verified. | Procurement coordinator | Entered after intake; exits when required metadata and documents are confirmed. | Reminder after two business days; procurement manager after four. |
| Active | No renewal matter is currently due. | Business owner | Entered after intake or execution; exits when RenewalStartDate is reached. | No routine reminder; daily scheduler monitors the date. |
| Renewal Review | Usage, spend, performance, and legal reviews are open. | Procurement coordinator | Entered when review tasks are created; exits when all required tasks complete. | Reminders at seven and two days before task due date; escalation one day overdue. |
| Decision Required | The evidence is complete and an authorized owner must decide. | Business owner | Entered after required tasks complete; exits when a decision is recorded. | Reminder after three days; department head after seven or when deadline risk becomes high. |
| Negotiation | Commercial or legal terms are being changed. | Procurement manager | Entered after a renegotiate decision; exits when final draft is ready. | Weekly reminder; escalate when fewer than 30 days remain before notice deadline. |
| Draft Approval | The final proposed document is awaiting approval. | Legal and compliance manager | Entered when ApprovalReady is true; exits after approval, rejection, or return. | Reminder after two business days; delegation or manager escalation after five. |
| Awaiting Signature | The approved document has been sent through DocuSign. | Procurement coordinator | Entered after envelope creation; exits on completed, declined, or voided status. | Recipient reminder follows approved signature policy; internal escalation before deadline. |
| Executed | The signed file has been archived and final terms verified. | Procurement manager | Entered after completed document retrieval; exits to Active after final record update. | Completion notice only. |
| Termination Planned | The business has approved termination or non-renewal. | Procurement manager | Entered after authorized decision; exits after notice evidence is archived. | Escalates before contractual notice deadline. |
| Exception | Automation or data failure prevents normal progress. | Automation support owner | Entered on a critical failure; exits after correction and controlled replay. | Immediate notification, daily reminder, and escalation after two business days. |
| Closed | The matter is complete with no outstanding action. | Procurement manager | Entered after final verification, execution, termination notice, or approved cancellation. | None. |
A record can move backward when a reviewer requests more information, an approver rejects the draft, a signature recipient declines, or procurement discovers that the selected document is not the approved version.
Only procurement can reopen a closed matter. Legal approval is required before a high-risk rejection or termination branch is considered complete. Automation never interprets silence as approval.
Step-by-Step Implementation
Step 1: Prepare the Accounts and Permissions
-
Create separate test and production SharePoint sites or clearly separated lists and libraries. Elmbridge used a test site named Contract Operations Test and a production site named Contract Operations.
-
Create a Microsoft 365 group for contract operations. Make the intake and review forms group-owned so continuity does not depend on one employee’s account.
-
Create security groups for Contract Administrators, Procurement Reviewers, Legal Reviewers, Finance Reviewers, and Reporting Readers. Business owners receive task or approval requests but do not automatically receive unrestricted access to all contract files.
-
Identify a Power Automate connection owner. Where organizational policy permits, use a licensed automation account such as
YOUR_AUTOMATION_ACCOUNT. Add at least two flow co-owners so the process is not dependent on one person. -
Confirm that the available Power Automate entitlement supports the required connectors, approval actions, run frequency, and environment controls. Confirm that the DocuSign account supports the selected connector or API access. Product entitlements vary, so this must be verified against current vendor documentation and the organization’s subscription.
-
Create authenticated connections for Microsoft Forms, SharePoint, Microsoft 365 Outlook, Power Automate Approvals, and DocuSign. The connection owner should have only the permissions needed to read the forms, update the contract site, send approved notifications, and create or retrieve authorized envelopes.
-
Configure the DocuSign account with an integration user or delegated connection, approved sender identity, recipient roles, standard email text, and reusable templates for standard renewal amendments. Legal must own template content and signature placement.
-
Create test users representing procurement, business, finance, legal, a delegated approver, and an unauthorized user. Use non-production email addresses or controlled test accounts.
-
If Power Platform solutions and environment variables are available, store site URLs, list names, form IDs, folder names, threshold values, and notification addresses as environment variables. Otherwise, create a restricted SharePoint Configuration list.
-
Never store API keys or passwords in a visible list, Compose action, email, or exported flow screenshot. Mark sensitive HTTP action inputs and outputs as secure when optional AI services are added.
The production account requires permission to create list items and folders, copy files, update metadata, and read completed documents. It does not need site collection administrator access for routine execution.
Step 2: Build the Intake
Create two group-owned Microsoft Forms: Contract Intake and Contract Review Response. Restrict both forms to authenticated organizational users because file-upload questions require controlled storage and because the workflow relies on verified respondent identity.
| Field | Required | Validation or choices |
|---|---|---|
| Submission Type | Yes | New Contract, Existing Contract, Amendment, Renewal, or Termination |
| Vendor Legal Name | Yes | Text, minimum three non-space characters |
| Vendor Contract Number | No | Text |
| Contract Title | Yes | Text |
| Contract Type | Yes | Controlled choice matching SharePoint |
| Department | Yes | Controlled organizational choice |
| Business Owner Email | Yes | Organizational email address |
| Effective Date | Yes | Date |
| Current End Date | Yes | Date after Effective Date |
| Automatic Renewal | Yes | Yes, No, or Uncertain |
| Renewal Term Months | Conditional | Positive whole number when known |
| Notice Period Days | Conditional | Whole number from 0 to 730; Uncertain routes to legal review |
| Estimated Annual Spend | Yes | Zero or positive number |
| Currency | Yes | Approved currency choices |
| Service Criticality | Yes | Low, Medium, High, or Critical |
| Processes Personal Data | Yes | Yes, No, or Uncertain |
| Risk Tier | Yes | Low, Medium, High, or Unknown |
| Current Agreement or Draft | Yes | File upload; approved document formats only |
| Additional Notes | No | Plain text; no credentials or unrelated personal information |
Use Forms branching so renewal-term questions appear only when automatic renewal is Yes or Uncertain. Unknown notice periods and risk tiers are valid intake answers, but they force an Intake Review status rather than being treated as zero or low risk.
The confirmation message should explain that submission does not approve a contract. It should tell the requester that procurement will verify the record and provide a matter identifier.
Add a concise privacy notice explaining that contract documents and business contact details will be stored in the controlled contract workspace. Instruct users not to upload bank credentials, authentication secrets, personal identity documents, or unrelated sensitive material.
The Contract Review Response form captures:
- Contract ID and Matter ID
- Review type: Business, Finance, Legal, or Procurement
- Is the service still required?
- Approximate utilization percentage
- Performance score from 1 to 5
- Known service issues
- Verified annual spend
- Budget availability
- Known alternative suppliers
- Recommended decision
- Comments and evidence attachment
The flow compares the authenticated respondent’s email with the task assignee or approved delegate. A valid matter ID alone is not sufficient authorization.
Forms blocks omitted required answers before submission. The flow still validates dates, numbers, ownership, and attachments because client-side validation does not protect against every configuration change or integration issue.
Step 3: Create the System of Record
Create these SharePoint objects:
- Contracts list
- Renewal Matters list
- Review Tasks list
- Approval Log list
- Automation Exceptions list
- Configuration list, if environment variables are not available
- Contract Documents library
Create SharePoint columns using stable internal names such as ContractID, CurrentEndDate, and AutomationStatus. If friendlier display labels are needed, create the concise internal name first and then change the display label.
Enable unique-value enforcement on:
- Contracts.SourceSubmissionKey
- Contracts.ContractID
- Renewal Matters.MatterID
- Renewal Matters.MatterCycleKey
- Review Tasks.TaskKey
- Approval Log.ApprovalKey
Enable version history. Index the fields used most often by filters:
- Contracts.ContractID
- Contracts.ContractStatus
- Contracts.RenewalStartDate
- Contracts.CurrentEndDate
- Contracts.BusinessOwner
- Renewal Matters.MatterCycleKey
- Renewal Matters.Status
- Renewal Matters.DecisionDueDate
- Renewal Matters.DocuSignEnvelopeID
- Review Tasks.AssignedTo
- Review Tasks.Status
- Review Tasks.DueDate
- Automation Exceptions.ResolutionStatus
Use stored date fields rather than calculating every deadline at report time. Stored values are easier to filter and allow the automation to preserve the date calculation that applied to a particular contract cycle.
When a Contracts item is first created, SharePoint assigns a numeric ID. Power Automate then updates the item with a formatted ContractID. The same pattern is used for MatterID.
Create filtered views for active contracts, renewals starting in 180 days, open matters, overdue tasks, decision required, negotiation in progress, awaiting signature, completed this month, and automation exceptions.
Step 4: Connect the Tools
| Source | Destination | Trigger and authentication | Important mapping | Returned value |
|---|---|---|---|---|
| Microsoft Forms | SharePoint Contracts | New response trigger using organizational Forms connection | Vendor, type, owner, dates, spend, risk, response ID | SharePoint item ID and ContractID |
| Microsoft Forms | SharePoint Review Tasks | New review response using authenticated respondent | Matter ID, task type, scores, comments, evidence | Updated task ID and completion timestamp |
| SharePoint Contracts | SharePoint Renewal Matters | Daily scheduled Power Automate flow | Contract lookup, cycle date, owner, notice deadline | Matter item ID and MatterID |
| SharePoint Matters | Power Automate Approvals | ApprovalReady changes to true | Approver, decision, spend, risk, draft URL, deadline | Approval ID, outcome, comments, response time |
| SharePoint Matters | DocuSign | ApprovalStatus becomes Approved | Document, recipients, roles, subject, matter ID | Envelope ID and initial status |
| DocuSign | SharePoint Documents | Envelope completed trigger or scheduled reconciliation | Completed document, envelope metadata, certificate when available | Executed file URL |
| SharePoint | Microsoft 365 Outlook | Status, due date, or failure event | Recipient, matter ID, required action, due date, record link | Message delivery attempt metadata |
The Forms connection reads the response and attachment metadata. File storage differs depending on whether a form is personally owned or group-owned. For a group-owned form, confirm the generated SharePoint upload path with a test submission, then store that base path in configuration.
The DocuSign connection uses delegated OAuth through the connector. Do not place a DocuSign password in the flow. If the connector version exposes different action labels, configure the equivalent sequence: create an envelope from an approved template or document, map recipients, send it, capture the envelope ID, monitor status, and retrieve completed documents.
For standard renewal letters, DocuSign templates define recipient roles and signature fields. For negotiated long-form documents, legal must verify that the uploaded final PDF contains or receives the correct signature tabs before it is sent.
Step 5: Build the Core Automation
Flow F01: Contract Intake and Workspace Creation
- Trigger: Microsoft Forms reports a new Contract Intake response.
- Conditions: Response has not already been processed; required values are present; dates and numeric fields are valid.
- Actions: Retrieve response, validate, create contract, generate ID, create matter, create folders, copy attachments, update links, and notify procurement.
- Fields updated: ContractID, MatterID, date fields, owners, document URLs, status, and automation timestamps.
- Notification: Confirmation to requester and intake task to procurement.
- Exception: Create an Automation Exceptions record and set AutomationStatus to Manual Review.
The exact action order is:
- Initialize
CorrelationIDwith the Power Automate run name. - Get response details.
- Build
SourceSubmissionKeyfrom the form identifier and response identifier. - Check the Contracts list for the key.
- If found, terminate as Succeeded with a duplicate-event log entry.
- Validate vendor name, owner email, effective date, end date, spend, and attachment.
- Create the Contracts item with AutomationStatus set to Processing.
- Generate and write ContractID.
- Create the Renewal Matters item with MatterType from the intake response.
- Generate and write MatterID and MatterCycleKey.
- Create the contract folder and five standard subfolders.
- Copy each submitted document to the intake folder.
- Write ContractID, MatterID, and DocumentType metadata to each copied file.
- Calculate NoticeDeadline, RenewalStartDate, and DecisionDueDate.
- Update the contract and matter records with URLs and dates.
- Set the matter to Intake Review and AutomationStatus to Complete.
- Send a confirmation containing ContractID and MatterID.
Potential business duplicates are not automatically deleted. The flow compares normalized vendor name, contract number, contract type, and end date. If a similar record exists, it flags the matter for procurement review while preserving the submitted evidence.
Flow F02: Daily Renewal Scheduler
- Trigger: Recurrence every weekday before business hours.
- Conditions: Contract is Active, RenewalStartDate is today or earlier, CurrentEndDate is in the future, and no matching MatterCycleKey exists.
- Actions: Create renewal matter, calculate priority, create required tasks, update LatestMatterID, and send assignments.
- Fields updated: MatterID, status, cycle key, priority, task due dates, and contract LatestMatterID.
- Notification: Review-opening summary to procurement and assigned reviewers.
- Exception: Mark the affected contract for Manual Review if task or matter creation is incomplete.
The cycle key uses the contract ID, matter type, and cycle end date, for example CTR-2026-000142|RENEWAL|2026-12-31. The SharePoint uniqueness constraint prevents two scheduled runs from opening the same cycle.
Task assignment rules are read from configuration rather than hard-coded into every condition. A typical matter receives Business Usage, Vendor Performance, Finance Spend, and Procurement Market Check tasks. Legal Terms Review is added when any of the following is true:
- Risk tier is Medium or High.
- The contract processes personal data.
- The service is Critical.
- The notice period is uncertain.
- The proposed terms differ from the approved template.
- Annual spend meets the legal-review threshold.
Flow F03: Review Response Processing
- Trigger: New Contract Review Response form submission.
- Conditions: Matter and task exist; respondent is assignee or approved delegate; task is not already completed.
- Actions: Validate score and spend values, save evidence, update task, and evaluate remaining tasks.
- Fields updated: Review response, score, status, completed by, completed date, and evidence URL.
- Notification: Completion acknowledgement and notice to procurement if all tasks are complete.
- Exception: Unauthorized or unmatched responses enter the manual-review queue.
If every required task is Complete, the matter moves to Decision Required. If a reviewer selects More Information Required, the task remains open and procurement receives the comments.
Flow F04: Decision and Negotiation Routing
- Trigger: Business decision is submitted through an approval response or controlled matter update.
- Conditions: All required reviews are complete and respondent is the authorized decision owner.
- Actions: Record decision, create approval log entry, and route to renewal, negotiation, or termination branch.
- Fields updated: Decision, DecisionRationale, Status, NegotiationStatus, and ApprovalStatus.
- Notification: Branch-specific notice to procurement, legal, finance, and business owner.
- Exception: Conflicting or incomplete responses return the matter to Decision Required.
A Renew decision can proceed to approval with the existing terms or a standard renewal amendment. A Renegotiate decision moves to Negotiation. A Terminate decision creates a controlled termination task and requires confirmation that contractual notice can still be delivered on time.
Flow F05: Final Draft Approval
- Trigger: ApprovalReady becomes true while ApprovalStarted is false.
- Conditions: Draft document exists, all required reviews are complete, recipients are valid, and no unresolved exception exists.
- Actions: Set ApprovalStarted, perform legal approval when required, run finance and business approvals in parallel, log responses, and calculate final outcome.
- Fields updated: ApprovalStarted, ApprovalStatus, Status, and approval timestamps.
- Notification: Approval request and final outcome notice.
- Exception: Rejection returns the matter to Negotiation; timeout or unavailable approver enters escalation.
Flow F06: DocuSign Dispatch
- Trigger: Matter ApprovalStatus becomes Approved and DocuSignEnvelopeID is empty.
- Conditions: Approved draft exists; vendor and internal signer details are verified; signature is required.
- Actions: Retrieve file, create or send envelope, map recipient roles, capture envelope ID, and update matter.
- Fields updated: DocuSignEnvelopeID, DocuSignStatus, Status, LastAutomationRun, and AutomationStatus.
- Notification: Dispatch confirmation to procurement and the business owner.
- Exception: Failed dispatch sets Signature exception and preserves the approved draft.
Before creating an envelope, the flow writes an EnvelopeRequestKey such as MAT-2026-000389|FINAL|1. If a retry occurs and an envelope ID already exists, the flow checks that envelope instead of sending a second one.
Flow F07: DocuSign Completion and Archiving
- Trigger: DocuSign envelope status changes, supplemented by scheduled reconciliation.
- Conditions: Envelope ID matches one matter and completed file has not already been archived.
- Actions: Retrieve completed document, store it in Executed, save signing evidence when available, update current terms, and close the matter.
- Fields updated: ExecutedDocumentUrl, DocuSignStatus, Status, contract dates, CurrentExecutedDocumentUrl, and AutomationStatus.
- Notification: Completion notice to procurement, legal, finance, business owner, and requester as appropriate.
- Exception: A completed envelope without a retrievable file is marked as a Document exception and reconciled later.
The flow does not update the next contract end date from an unverified AI result. Procurement confirms the final dates and notice terms from the executed document before the contract returns to Active.
Step 6: Add Approvals, Reminders, and Escalations
The approval path is driven by configurable rules:
- Low-risk renewals below the financial threshold can use parallel business and finance approval.
- Medium-risk, personal-data, nonstandard, or renegotiated agreements require legal approval first.
- After legal approval, business and finance approvals run in parallel.
- High-risk or policy-exception matters require an additional named executive or compliance approver.
- Termination and non-renewal decisions require business owner and procurement approval, plus legal confirmation when notice wording or timing is disputed.
Place approval actions inside named scopes:
- Scope: Validate Approval Package
- Scope: Legal Approval
- Scope: Parallel Business and Finance Approval
- Scope: Consolidate Outcome
- Scope: Catch Failure
- Scope: Final Status Update
Configure Catch Failure to run after failure or timeout of any critical approval scope. Configure Final Status Update to run regardless of success so LastAutomationRun and the final correlation ID are recorded.
Every approval request includes:
- Contract ID and Matter ID
- Vendor and contract title
- Current end date and notice deadline
- Verified annual spend and risk tier
- Business, finance, and legal review summaries
- Decision and rationale
- Approved draft link
- Required response date
- Clear options to approve, reject, or request more information
Reminder timing is implemented with a weekday recurrence flow. It retrieves open tasks and approvals whose NextReminderDate is today or earlier. After sending a reminder, the flow increments ReminderCount and calculates the next date.
If an approver is unavailable, procurement can set a DelegatedApprover field. The flow records both the original approver and the delegate. Delegation does not permit a user to approve their own request when segregation-of-duties policy prohibits it.
A rejection changes ApprovalStatus to Rejected and returns the matter to Negotiation. A request for more information changes ApprovalStatus to More Information and reopens the relevant review task. Neither response sends a document to DocuSign.
Step 7: Add Documents and File Management
Create one top-level folder for each contract:
CTR-2026-000142 - Blue Cedar Scheduling
01 Intake
02 Review Evidence
03 Drafts
04 Signature
05 Executed
Use file names that remain meaningful outside SharePoint:
CTR-2026-000142_MAT-2026-000389_RenewalDraft_v03_2026-08-18.pdf
CTR-2026-000142_MAT-2026-000389_Executed_2026-09-14.pdf
CTR-2026-000142_MAT-2026-000389_SigningCertificate_2026-09-14.pdf
Store ContractID, MatterID, DocumentType, VersionStatus, EffectiveDate, and VendorLegalName as library metadata. File names help people, while metadata supports views and automation.
Enable document versioning. Drafts can be replaced only by uploading a new version or a distinctly numbered file. The flow must not overwrite a file marked Executed.
The final approved draft is selected through DraftDocumentUrl. The signature flow retrieves that exact file rather than choosing the newest file in the folder.
Restrict the library to the contract operations group by default. If business owners need evidence access, grant access to the specific folder or document required for their review. Avoid organization-wide sharing links.
If an attachment exceeds the configured operational size or uses an unsupported format, the matter enters Manual Review. The configured threshold should be based on the organization’s connector, storage, email, and security constraints rather than an assumed universal platform limit.
Retention and archiving rules must align with the company’s legal and records policy. SharePoint versioning improves recoverability but is not a substitute for a formal retention policy where one is required.
Step 8: Add Reporting and Operational Views
| View | Source and filter | Owner and action |
|---|---|---|
| New Intake | Matters where Status is Intake Review | Procurement verifies data and files |
| Renewals Starting in 180 Days | Active contracts with RenewalStartDate in the next 180 days | Procurement checks capacity and ownership |
| Awaiting My Action | Review Tasks assigned to current user and not complete | Reviewer completes task |
| Overdue Reviews | Open tasks with DueDate before today | Procurement follows escalation |
| Decision Required | Matters in Decision Required | Business owner decides |
| Negotiations at Risk | Negotiation matters within 30 days of notice deadline | Procurement manager intervenes |
| Awaiting Approval | ApprovalStatus is In Progress | Legal, finance, or business approver responds |
| Awaiting Signature | DocuSignStatus is Sent or Delivered | Procurement checks recipients and timing |
| Exceptions | ResolutionStatus is Open | Automation support owner recovers flow |
| Recently Completed | Closed or Executed during the past 30 days | Management reviews completion |
| Volume by Status | Grouped Matters view | Procurement manager monitors workload |
| Processing Time | Created date compared with closed date | Process owner identifies bottlenecks |
SharePoint views refresh when list data changes. For monthly management reporting, Power Automate can create a scheduled summary email containing counts by status, overdue task count, notice deadlines at risk, signature exceptions, and matters closed during the month.
The procurement manager owns dashboard definitions. Alert thresholds are stored in configuration, including the number of days before a notice deadline that changes a matter from Normal to High or Critical priority.
Step 9: Add Security and Governance Controls
- Least privilege: Separate site owners, list contributors, reviewers, and reporting readers.
- Role-based access: Legal and procurement can access all contract records; finance receives the financial records and documents needed for review; business owners receive matter-specific requests.
- Sensitive fields: Avoid storing bank details, passwords, personal identity documents, or authentication secrets in Forms or SharePoint.
- Sharing controls: Disable anonymous links for contract workspaces and restrict external sharing to approved processes.
- Credential storage: Use connector-managed OAuth, protected environment variables, a secret-management service, or secured custom connectors where appropriate.
- Activity evidence: Retain SharePoint version history, flow run identifiers, approval logs, and DocuSign envelope IDs.
- Former employees: Remove access, reassign open tasks, and replace flow connections before disabling an account that owns integrations.
- Backups: Confirm the organization’s SharePoint recovery and retention capabilities. Periodically test restoration procedures.
- Privacy: Limit contract data to a justified purpose and apply regional or regulatory controls appropriate to the organization.
- AI restrictions: Do not send privileged, export-controlled, highly sensitive, or prohibited data to an AI service without an approved data-handling basis.
- Human approval: Require human confirmation for legal terms, spend, termination, policy exceptions, and final contract dates.
For highly confidential contracts, use a separate restricted library or site rather than relying on broad inherited permissions. Large numbers of unique item permissions can become difficult to administer and should be designed deliberately.
Step 10: Deploy and Test
- Create the lists, forms, folders, templates, and flows in the test environment.
- Load at least 20 synthetic contracts covering low, medium, and high-risk paths.
- Test dates close to notice deadlines as well as dates more than a year away.
- Use test accounts for procurement, business, finance, legal, delegation, and unauthorized access.
- Run technical tests before user acceptance testing.
- Conduct user acceptance testing with one procurement coordinator, two business owners, one finance reviewer, and one legal reviewer.
- Pilot the system with 15 to 20 active contracts and at least three live renewal cycles that can safely be handled in parallel with the old process.
- Reconcile every pilot record against source documents before making SharePoint authoritative.
- Activate scheduled flows only after idempotency and duplicate-event tests pass.
- Migrate active contract data in batches, preserving a migration source identifier.
- Keep the old workbook read-only for an agreed validation period.
- Publish a short user guide, owner guide, recovery runbook, and data dictionary.
- Assign a launch support owner and backup owner.
- Monitor all flow runs daily during the first two weeks.
- If rollback is required, disable triggers, preserve submitted records, and return to the documented contingency process. Do not delete partially processed matters.
Code and Configuration
The core implementation does not require a custom script. Microsoft Forms, SharePoint, Power Automate, Outlook, approvals, and DocuSign provide the required triggers and actions. The configuration below supplies the expressions, schemas, and controls needed to reproduce the flows.
Configuration Values
Store these values as Power Platform environment variables or in a restricted configuration list:
CONTRACT_SITE_URL=https://YOUR_TENANT.sharepoint.com/sites/YOUR_CONTRACT_SITE
CONTRACTS_LIST=Contracts
MATTERS_LIST=Renewal Matters
TASKS_LIST=Review Tasks
APPROVAL_LOG_LIST=Approval Log
EXCEPTIONS_LIST=Automation Exceptions
DOCUMENT_LIBRARY=Contract Documents
CONTRACT_INTAKE_FORM_ID=YOUR_CONTRACT_INTAKE_FORM_ID
REVIEW_FORM_ID=YOUR_REVIEW_FORM_ID
FORMS_UPLOAD_BASE_PATH=YOUR_CONFIRMED_FORMS_UPLOAD_PATH
PROCUREMENT_EMAIL=YOUR_EMAIL_ADDRESS
AUTOMATION_SUPPORT_EMAIL=YOUR_EMAIL_ADDRESS
DEFAULT_REVIEW_LEAD_DAYS=120
DEFAULT_DECISION_BUFFER_DAYS=30
FINANCE_APPROVAL_THRESHOLD=50000
HIGH_PRIORITY_NOTICE_DAYS=30
The financial threshold is an example policy assumption for this representative scenario, not a universal recommendation.
Power Automate Expressions
Use the run name as a correlation identifier:
workflow()?['run']?['name']
Create a unique source submission key:
concat('FORM|', variables('ContractIntakeFormID'), '|', string(triggerOutputs()?['body/resourceData/responseId']))
If the Forms trigger exposes the response ID through a different dynamic field, insert that field using dynamic content rather than typing an unverified property path.
Normalize the vendor name:
toUpper(trim(outputs('Get_response_details')?['body/YOUR_VENDOR_NAME_FIELD']))
Generate a contract identifier after the SharePoint item is created:
concat('CTR-', formatDateTime(utcNow(),'yyyy'), '-', formatNumber(outputs('Create_contract')?['body/ID'],'000000'))
Generate the matter identifier:
concat('MAT-', formatDateTime(utcNow(),'yyyy'), '-', formatNumber(outputs('Create_matter')?['body/ID'],'000000'))
Create a renewal cycle key:
concat(
outputs('Compose_ContractID'),
'|RENEWAL|',
formatDateTime(items('For_each_contract')?['CurrentEndDate'],'yyyy-MM-dd')
)
Calculate the notice deadline:
addDays(
items('For_each_contract')?['CurrentEndDate'],
mul(-1, int(items('For_each_contract')?['NoticePeriodDays']))
)
Calculate the renewal start date:
addDays(
outputs('Compose_NoticeDeadline'),
mul(-1, int(items('For_each_contract')?['ReviewLeadDays']))
)
Calculate the decision due date:
addDays(
outputs('Compose_NoticeDeadline'),
mul(-1, variables('DecisionBufferDays'))
)
Build a SharePoint filter for active contracts whose review date has arrived:
concat(
'ContractStatus eq ''Active'' and RenewalStartDate le ''',
formatDateTime(utcNow(),'yyyy-MM-ddTHH:mm:ssZ'),
''''
)
Use this trigger condition on the final approval flow:
@and(
equals(triggerBody()?['ApprovalReady'], true),
equals(triggerBody()?['ApprovalStarted'], false)
)
Use this condition before creating a DocuSign envelope:
@and(
equals(triggerBody()?['ApprovalStatus']?['Value'], 'Approved'),
empty(triggerBody()?['DocuSignEnvelopeID']),
not(empty(triggerBody()?['DraftDocumentUrl']))
)
SharePoint choice-field output shapes can differ between connector actions. Use the dynamic token produced by the action and inspect a test run before finalizing a property path.
Forms Attachment Parsing
The file-upload answer is commonly returned as a JSON array encoded as text. Check for an empty value before using Parse JSON. Use a schema based on an actual test response. This minimal schema accepts the fields required by the flow:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"link": {
"type": "string"
},
"id": {
"type": "string"
},
"driveId": {
"type": [
"string",
"null"
]
},
"size": {
"type": [
"integer",
"null"
]
}
},
"required": [
"name",
"id"
]
}
}
After parsing, loop through the array. Retrieve each file from the confirmed Forms upload location, create it in 01 Intake, and update its SharePoint metadata. If the form’s ownership or storage location changes, test and update the configured source path before enabling production submissions.
Try, Catch, and Finalize Scopes
Every business-critical flow uses this pattern:
- Try: Contains validation, record updates, file actions, approvals, or signature actions.
- Catch: Configured to run after Try fails or times out. It creates an exception record and updates AutomationStatus to Failed.
- Finalize: Configured to run after Try or Catch. It records LastAutomationRun and the correlation ID.
For transient connector actions, configure an exponential retry policy with a conservative number of attempts. Elmbridge used four attempts for retry-safe read, create, and update operations. Do not automatically retry an envelope-send action unless the EnvelopeRequestKey and existing envelope lookup prove that a duplicate will not be created.
Approval Result Consolidation
After the parallel business and finance branches complete, use a condition equivalent to:
@and(
equals(variables('BusinessOutcome'), 'Approve'),
equals(variables('FinanceOutcome'), 'Approve'),
or(
equals(variables('LegalRequired'), false),
equals(variables('LegalOutcome'), 'Approve')
)
)
If true, update ApprovalStatus to Approved. If any outcome is Reject, update it to Rejected. If any outcome requests more information, update it to More Information and reopen the appropriate review task.
DocuSign Native Configuration
Configure the signature flow in this order:
- Get the Renewal Matters item.
- Verify that DocuSignEnvelopeID is empty.
- Get the approved draft file content from DraftDocumentUrl.
- Resolve vendor signer name and email from verified matter fields.
- Resolve internal signer from the approval policy.
- Use the DocuSign connector action that creates an envelope from the approved template or document.
- Map the vendor and internal signers to the correct recipient roles and routing order.
- Set the email subject to include MatterID but not sensitive contract terms.
- Send the envelope.
- Capture the returned envelope ID.
- Update DocuSignEnvelopeID, DocuSignStatus, Status, and EnvelopeRequestKey.
- Write a dispatch event to the Approval Log or a dedicated integration log.
Connector labels can vary by version. The required behavior is create, map recipients, send, capture the envelope ID, monitor status, and retrieve completed files.
Use a DocuSign status-change trigger when supported. Also run a scheduled reconciliation that queries open envelope IDs. The reconciliation closes the gap if a webhook or connector event is missed.
Failure Handling and Operational Reliability
| Failure | Automated response | Manual recovery | Owner |
|---|---|---|---|
| Missing required value | Stop intake, create validation exception, notify requester | Correct form response through controlled resubmission or update | Procurement coordinator |
| Duplicate Forms event | Find SourceSubmissionKey and end without creating records | None unless the original record is incomplete | Automation support |
| Possible duplicate contract | Create matter but mark Manual Review | Merge, relate, or confirm separate agreement | Procurement manager |
| Duplicate renewal scheduler run | Unique MatterCycleKey rejects second creation | Confirm first matter is complete | Automation support |
| Invalid date or spend | Set Validation exception | Verify against source document and correct record | Procurement and finance |
| Partial folder creation | Catch failure and record completed folders | Rerun workspace action, which checks before creating each folder | Automation support |
| File copy failure | Retry safe copy; retain source attachment | Copy manually and update document link | Procurement coordinator |
| Approval timeout | Escalate and set Approval exception | Delegate or restart the approval with a new ApprovalKey | Procurement manager |
| Approver unavailable | Notify procurement when due date passes | Assign approved delegate and document reason | Department manager |
| DocuSign authentication expiry | Signature flow fails before dispatch and records exception | Reconnect OAuth, verify existing envelope, then replay | Microsoft 365 administrator |
| DocuSign rate limit or timeout | Retry status reads with delay; do not blindly resend envelope | Check envelope by request key and ID | Automation support |
| Envelope declined | Update status to Declined and notify matter owner | Resolve recipient or document issue before creating a new envelope | Procurement manager |
| Completed envelope file unavailable | Keep Awaiting Archive and retry retrieval | Download from DocuSign and upload with verified metadata | Procurement coordinator |
| Invalid email address | Do not start approval or signature; create validation exception | Verify directory or vendor contact | Procurement coordinator |
| Notification failure | Record failed notice and continue only if notification is not a control gate | Contact owner and correct address | Automation support |
| Malformed AI output | Reject output and route document to manual extraction | Enter metadata from source document | Legal or procurement reviewer |
The Automation Exceptions list acts as a dead-letter queue. It contains records that could not safely continue, including the flow name, run ID, matter ID, failed stage, retry count, sanitized message, owner, and resolution notes.
Idempotency is enforced through unique keys and state checks. A flow checks whether the expected destination record, folder, task, approval, or envelope already exists before repeating a create action.
A daily reconciliation compares:
- Active contracts whose renewal start date has passed against open renewal matters
- Open matters against required task counts
- Approved matters against DocuSign envelope IDs
- Completed envelopes against executed SharePoint files
- Closed matters against final contract dates and document links
Staff recover a failed record by opening the exception, correcting the source data or connection, setting ResolutionStatus to Ready for Retry, and running a controlled recovery flow. The recovery flow processes one identified contract or matter rather than replaying every historical event.
A Complete Example
Blue Cedar Scheduling Ltd. is a fictional software vendor used by Elmbridge Facilities Partners for workforce scheduling.
The current agreement has an annual value of $48,000, an end date of December 31, 2026, a 90-day notice period, and a 12-month automatic renewal term. The business owner is the operations systems manager. The contract processes employee scheduling information, so legal review is required.
-
An employee submits the Contract Intake form with the current PDF. Microsoft Forms returns response ID
1842. -
Power Automate creates the submission key
FORM|YOUR_CONTRACT_INTAKE_FORM_ID|1842and confirms that it is new. -
SharePoint creates contract item 142. The flow assigns
CTR-2026-000142. -
The initial matter item receives
MAT-2026-000389. The document is copied into the contract’s Intake folder. -
The notice deadline is calculated as October 2, 2026. With a 120-day review lead, the renewal start date is June 4, 2026. The decision due date is September 2, 2026.
-
On June 4, the renewal scheduler creates a renewal matter using cycle key
CTR-2026-000142|RENEWAL|2026-12-31. -
Business Usage, Vendor Performance, Finance Spend, Procurement Market Check, and Legal Terms Review tasks are created.
-
The business review reports 62 percent utilization and a performance score of 3.8 out of 5. Finance verifies $48,000 annual spend. Procurement records that two alternative products are available.
-
Legal confirms the 90-day notice clause, automatic renewal, data-processing terms, and governing-law clause.
-
After all tasks are complete, the business owner selects Renegotiate and explains that unused licenses should be removed.
-
Procurement negotiates a lower seat count and uploads the final renewal amendment to the Drafts folder. ApprovalReady is set to true.
-
Legal approves first. Business and finance approvals then run in parallel. Their approval IDs, comments, and timestamps are copied to the Approval Log.
-
Power Automate sends the approved amendment through DocuSign and stores example envelope ID
11111111-2222-4333-8444-555555555555. -
DocuSign reports Completed. The executed PDF is downloaded as
CTR-2026-000142_MAT-2026-000389_Executed_2026-09-14.pdf. -
Procurement verifies the new annual amount, term, notice period, and end date from the executed agreement. The Contracts item is updated, the matter is closed, and all participants receive the completion notice.
If the DocuSign completion event had arrived twice, the second run would have found the existing executed-document URL and ended without creating another file.
Implementation Cost
All amounts below are representative planning assumptions for this fictional scenario. They are not vendor price quotations or verified client costs. Current subscription, connector, envelope, storage, regional, and implementation prices must be confirmed directly for each deployment.
| Activity | Hours | Assumed rate | Estimated cost |
|---|---|---|---|
| Discovery and data model | 12 | $105 | $1,260 |
| SharePoint, Forms, and flow configuration | 38 | $105 | $3,990 |
| Technical testing and remediation | 16 | $105 | $1,680 |
| Data cleanup and migration | 20 | $45 | $900 |
| Business user acceptance testing | 12 | $65 | $780 |
| Training | 6 | $65 | $390 |
| Documentation and recovery runbook | 10 | $105 | $1,050 |
| Total | 114 | Blended | $10,050 |
| Item | Frequency | Planning assumption | Notes |
|---|---|---|---|
| Existing Microsoft 365 services | Monthly | $0 incremental | Assumes suitable existing entitlement; verify required features |
| Power Automate and connector contingency | Monthly | $90 | Planning reserve, not a stated vendor price |
| DocuSign envelopes | Monthly | $0 incremental in scenario | Assumes expected envelope use fits the current agreement |
| Operational maintenance labour | Monthly | 4 hours | Included as labour in the savings calculation |
| Optional AI service usage | Monthly | $45 | Representative usage allowance subject to document volume and model selection |
| Optional AI setup | One time | $2,100 | 20 hours at the assumed implementation rate |
| Alternative professional implementation | One time | $11,000 to $18,000 | Planning range that may replace specialist build lines rather than being added to them |
Estimated Time and Cost Savings
The calculation covers 12 monthly renewal cycles. It measures administrative coordination, data handling, reminders, status updates, and document transfer. It excludes substantive negotiation and legal analysis that still need to occur.
| Assumption | Value |
|---|---|
| Monthly workflow volume | 12 renewal cycles |
| Current administrative handling time | 150 minutes per renewal |
| New administrative handling time | 45 minutes per renewal |
| Exception rate | 15 percent |
| Exception review time | 25 minutes |
| Monthly maintenance | 4 hours |
| Loaded hourly labour cost | $58 |
| Recurring software cost | $90 per month |
| One-time implementation cost | $10,050 |
Current monthly labour hours: Monthly volume × current minutes per record ÷ 60
12 × 150 ÷ 60 = 30.00 hours
New monthly labour hours: Monthly volume × new minutes per record ÷ 60, plus exception handling and maintenance
Core handling: 12 × 45 ÷ 60 = 9.00 hours
Exception handling: 12 × 15% × 25 ÷ 60 = 0.75 hours
Maintenance: 4.00 hours
Total new labour: 9.00 + 0.75 + 4.00 = 13.75 hours
Monthly hours recovered: Current monthly labour hours minus new monthly labour hours
30.00 - 13.75 = 16.25 hours
Estimated monthly labour value: Monthly hours recovered × loaded hourly labour cost
16.25 × $58 = $942.50
Net estimated monthly value: Monthly labour value minus recurring tool costs
$942.50 - $90.00 = $852.50
Estimated payback period: One-time implementation cost ÷ net estimated monthly value
$10,050 ÷ $852.50 = 11.79 months
Recovered time does not automatically reduce payroll. It can represent additional capacity, quicker turnaround, less overtime, fewer administrative tasks, more time for negotiation, and lower dependency on one coordinator.
Non-financial benefits include:
- Fewer contracts reaching renewal without a recorded decision
- Clearer ownership and escalation
- Fewer repeated requests for spend and usage data
- Consistent separation of drafts and executed files
- Improved approval and signature evidence
- More reliable reporting on upcoming commitments
- Faster identification of incomplete or failed matters
- A more consistent experience for business owners and vendors
Readers should replace the monthly volume, handling times, exception rate, labour rate, maintenance effort, software allowance, and implementation cost with their own measured figures.
Adding AI to the Automation
AI is an optional enhancement added only after the rule-based contract workflow is stable. The core automation already creates records, calculates dates, assigns tasks, sends reminders, records approvals, transfers documents, and monitors signatures.
Useful AI applications for contract renewal planning include:
- Extracting candidate dates, parties, notice periods, and renewal clauses from contract text
- Summarizing long termination and renewal sections
- Identifying potentially missing metadata
- Classifying contract type for reviewer confirmation
- Highlighting conflicting dates or renewal language
- Comparing a draft against an executed version
- Suggesting search terms for similar contracts
AI should not be used for exact date arithmetic, approval thresholds, owner permissions, duplicate submission keys, status rules, or final legal decisions. Those tasks are better handled by required fields, formulas, lookups, validation, and human authority.
The Recommended AI Enhancement
The recommended enhancement extracts proposed contract metadata at intake. The output is placed in a review queue and does not overwrite verified contract fields.
- Trigger: A supported contract file is copied into the Intake folder and AI processing is permitted for the document.
- AI input: Text extracted from the contract, MatterID, ContractID, and a list of required fields.
- System instruction: Extract only evidence present in the document and return structured JSON.
- Expected output: Proposed values, confidence, exact evidence quotations, page references, conflicts, and missing fields.
- Validation: JSON schema validation, allowed field names, date format checks, confidence range checks, and evidence review.
- Record update: Write proposed values to AI-specific fields or an Extraction Review list.
- Human review: Procurement or legal accepts, corrects, or rejects every proposed value.
- Low confidence: Any value below 0.85 remains unverified and is highlighted.
- Failure behavior: Route to manual extraction without blocking the core contract intake.
Reusable System Instruction
You are a contract metadata extraction assistant.
Use only the supplied contract text. Do not infer a value that is not supported by the text. Do not provide legal advice or make a renewal, termination, risk, or approval decision.
Return only valid JSON matching the requested schema.
For every extracted field:
1. Preserve the exact meaning of the contract.
2. Use null when the value is absent or ambiguous.
3. Provide a short exact evidence quote.
4. Provide the page number when a page marker is available.
5. Provide a confidence value from 0 to 1.
6. Record conflicting clauses in the conflicts array.
Normalize dates as YYYY-MM-DD only when the date is unambiguous.
Normalize monetary values as numbers without currency symbols.
Do not calculate a final notice deadline. Extract the source end date and notice period so deterministic automation can calculate it.
Never treat silence, missing text, or a low-confidence result as confirmation.
Reusable User Prompt
Matter ID: {{MATTER_ID}}
Contract ID: {{CONTRACT_ID}}
Extract these fields:
vendor_legal_name
customer_legal_name
effective_date
expiration_date
automatic_renewal
renewal_term_months
notice_period_days
notice_method
notice_address
annual_fee
currency_code
payment_frequency
termination_for_convenience
governing_law
liability_cap
data_processing_clause_present
vendor_signer_name
customer_signer_name
Contract text begins below.
{{CONTRACT_TEXT}}
Return only the required JSON object.
Structured Output Schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"matter_id": {
"type": "string"
},
"contract_id": {
"type": "string"
},
"document_class": {
"type": [
"string",
"null"
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"field_name": {
"type": "string"
},
"value": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"normalized_value": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"evidence_quote": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"integer",
"null"
]
}
},
"required": [
"field_name",
"value",
"normalized_value",
"confidence",
"evidence_quote",
"page"
]
}
},
"conflicts": {
"type": "array",
"items": {
"type": "string"
}
},
"missing_required_fields": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"matter_id",
"contract_id",
"document_class",
"fields",
"conflicts",
"missing_required_fields"
]
}
Optional Power Automate AI Configuration
One technically coherent implementation uses Azure AI Document Intelligence for text extraction and Azure OpenAI for structured metadata extraction.
- Trigger when a file is created in the Intake folder.
- Check that AI processing is enabled for the matter and document classification.
- Get the SharePoint file content.
- Send the binary document to the provisioned document-reading service.
- Read the returned operation location.
- Poll the operation until it succeeds, fails, or reaches the configured timeout.
- Extract the returned document text.
- Reject or manually route documents beyond the project’s configured processing size.
- Send the system instruction, user prompt, and output schema to an approved language-model deployment.
- Parse the JSON response.
- Validate field names, confidence, data types, and evidence.
- Create an Extraction Review record.
- Notify the assigned human reviewer.
A representative Azure document-reading request uses this pattern. Confirm the API version supported by the provisioned resource before deployment:
Method: POST
URI: https://YOUR_DOCUMENT_INTELLIGENCE_RESOURCE.cognitiveservices.azure.com/documentintelligence/documentModels/prebuilt-layout:analyze?api-version=YOUR_SUPPORTED_API_VERSION
Headers:
Ocp-Apim-Subscription-Key: YOUR_API_KEY
Content-Type: application/pdf
Body:
SharePoint file content
The initial response is asynchronous and includes an operation URL. Poll that URL with a GET request until the status is succeeded or failed. Use a delay between requests and stop after the configured timeout.
A representative Azure OpenAI request pattern is:
Method: POST
URI: https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=YOUR_SUPPORTED_API_VERSION
Headers:
api-key: YOUR_API_KEY
Content-Type: application/json
The request body uses the approved deployment’s structured-output format. A deployment that does not support strict structured output must use JSON mode followed by the same schema validation and manual fallback.
{
"messages": [
{
"role": "system",
"content": "YOUR_SYSTEM_INSTRUCTION"
},
{
"role": "user",
"content": "Matter ID: MAT-2026-000389\nContract ID: CTR-2026-000142\n\nYOUR_CONTRACT_TEXT"
}
],
"temperature": 0,
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "contract_metadata",
"strict": true,
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"matter_id": {
"type": "string"
},
"contract_id": {
"type": "string"
},
"document_class": {
"type": [
"string",
"null"
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"field_name": {
"type": "string"
},
"value": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"normalized_value": {
"type": [
"string",
"number",
"boolean",
"null"
]
},
"confidence": {
"type": "number"
},
"evidence_quote": {
"type": [
"string",
"null"
]
},
"page": {
"type": [
"integer",
"null"
]
}
},
"required": [
"field_name",
"value",
"normalized_value",
"confidence",
"evidence_quote",
"page"
]
}
},
"conflicts": {
"type": "array",
"items": {
"type": "string"
}
},
"missing_required_fields": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"matter_id",
"contract_id",
"document_class",
"fields",
"conflicts",
"missing_required_fields"
]
}
}
}
}
Secure the inputs and outputs of actions containing contract text or API credentials. Prefer a secured custom connector, managed secret approach, or approved credential store over placing keys directly in editable flow actions.
Prohibited documents are routed directly to manual review. AI requests and responses are logged by matter ID, model deployment, timestamp, processing status, and approximate usage, but sensitive contract text is not copied into general error notifications.
Benefits of the AI Enhancement
The AI enhancement can reduce the time required to locate and transcribe renewal clauses, dates, notice periods, parties, and payment terms. Evidence quotations make verification faster than receiving a value without context.
AI-specific benefits include:
- Less manual reading for routine metadata extraction
- More consistent candidate field names
- Faster identification of missing or conflicting terms
- Better handling of unstructured contract language
- Evidence references that support human verification
- Potentially faster loading of historical contracts
These benefits are separate from the core automation. Scheduling, ownership, reminders, approval routing, status reporting, DocuSign dispatch, and document archiving do not depend on AI.
What Remains Rule-Based or Human-Controlled
| Decision | Control method | Reason |
|---|---|---|
| Final contract date | Human verification plus deterministic date calculation | A wrong date can cause a missed notice deadline |
| Renewal decision | Authorized business owner approval | Requires operational and commercial accountability |
| Termination | Business, procurement, and legal confirmation | Can create legal, service, and financial consequences |
| Legal interpretation | Legal reviewer | AI extraction is not legal advice |
| Financial approval | Finance approver and policy threshold | Budget authority must remain with authorized staff |
| Policy exception | Named executive or compliance approver | Requires explicit risk acceptance |
| Signature release | Approved workflow state and verified recipients | Prevents unauthorized or incorrect documents from being sent |
| Executed document designation | Procurement verification | Only the completed authoritative version should update the contract master |
Estimating the Additional Value of AI
Elmbridge receives approximately 20 eligible contract documents per month when 12 renewal cycles and eight new or amended agreements are combined.
| Assumption | Value |
|---|---|
| Eligible documents per month | 20 |
| Manual metadata extraction without AI | 18 minutes per document |
| Successful AI processing rate | 90 percent |
| Human verification for successful output | 6 minutes per document |
| Expected correction rate | 20 percent of successful outputs |
| Additional correction time | 4 minutes |
| AI processing failure rate | 10 percent |
| Manual fallback time | 18 minutes |
| Monthly quality sampling | 30 minutes |
| AI usage allowance | $45 per month |
Without AI:
20 × 18 minutes = 360 minutes
With AI:
18 successful documents × 6 minutes verification = 108 minutes
18 successful documents × 20% corrections × 4 minutes = 14.4 minutes
2 failed documents × 18 minutes manual fallback = 36 minutes
Monthly quality sampling = 30 minutes
Total with AI:
108 + 14.4 + 36 + 30 = 188.4 minutes
Additional capacity:
360 - 188.4 = 171.6 minutes
171.6 ÷ 60 = 2.86 hours
Estimated labour value:
2.86 × $58 = $165.88
Net after AI usage allowance:
$165.88 - $45 = $120.88 per month
These assumptions do not claim that AI eliminates errors. Every extracted term remains subject to human verification. At this volume, the financial case is modest, so the strongest reasons to add AI may be faster historical loading, evidence consistency, or future document growth.
Testing Checklist
Use synthetic sample data and test documents before processing real contract information.
| Test | Expected result |
|---|---|
| Normal intake | Contract, matter, folders, document, dates, and notification are created once |
| Missing required field | Submission is blocked or routed to validation exception |
| Invalid date | End date before effective date is rejected |
| Invalid spend value | Negative or malformed value is rejected |
| Duplicate submission | Possible business duplicate is flagged for review |
| Duplicate event | SourceSubmissionKey prevents duplicate contract creation |
| Duplicate scheduler run | MatterCycleKey prevents duplicate renewal matter |
| Failed authentication | Flow records exception without exposing credentials |
| Expired connector credential | Administrator receives a connection-recovery alert |
| Failed API or connector request | Retry policy runs and unresolved failure enters exception queue |
| Unavailable approver | Reminder, escalation, and approved delegation work |
| Approval rejection | Matter returns to Negotiation and is not sent for signature |
| Request for information | Relevant task reopens with comments |
| Reassignment | New owner receives task and audit history remains intact |
| Overdue task | Overdue view and escalation identify the matter |
| Reminder | One reminder is sent and ReminderCount updates |
| Escalation | Manager receives notice at configured threshold |
| Failed file upload | Source remains available and document exception is created |
| Failed folder creation | Recovery safely creates only missing folders |
| Failed notification | Failure is logged without duplicating the business transaction |
| Unauthorized review response | Task remains unchanged and security exception is recorded |
| Duplicate envelope trigger | Existing envelope ID prevents a second dispatch |
| Envelope declined | Status changes to Declined and procurement is notified |
| Completed envelope | Executed document is archived and linked once |
| Malformed AI output | Schema validation fails and manual extraction is assigned |
| Inaccurate AI output | Human reviewer corrects value before authoritative fields change |
| AI service failure | Core intake continues through manual extraction |
| Successful closure | Contract terms, matter status, documents, and logs agree |
| Reporting | Views show correct status, due date, owner, and exception counts |
| Audit record | Submission, task, approval, signature, and update evidence is retained |
| Retry behavior | Transient failure retries without duplicate records or envelopes |
Ongoing Maintenance
The procurement manager is the primary business owner. The Microsoft 365 administrator is the technical owner. A second administrator is designated as backup.
| Frequency | Activity | Owner |
|---|---|---|
| Daily | Review failed runs, open exceptions, overdue critical matters, and signature failures | Procurement coordinator |
| Weekly | Reconcile renewal dates, open tasks, approvals, envelopes, and executed files | Procurement manager |
| Monthly | Review connector usage, software costs, reminder effectiveness, and exception trends | Technical and business owners |
| Monthly | Sample AI output and corrections if AI is enabled | Legal and procurement |
| Quarterly | Review group membership, permissions, delegates, and former-user access | Microsoft 365 administrator |
| Quarterly | Test a controlled failure and recovery scenario | Automation support owner |
| Quarterly | Review approval thresholds, contract types, departments, and notification templates | Procurement, legal, and finance |
| Twice yearly | Review DocuSign templates, recipient roles, and completion reconciliation | Legal and procurement |
| Annually | Review retention, privacy, backup, security, and regulatory requirements | Legal, compliance, and IT |
| After platform change | Retest connectors, field mappings, API versions, and error handling | Microsoft 365 administrator |
Credential rotation and connection renewal follow the organization’s security policy. Any account scheduled for deactivation must first have its flow ownership, connections, open approvals, and assigned tasks reviewed.
Documentation should include the data dictionary, list configuration, environment variables, assignment rules, flow inventory, connection owners, approval matrix, test evidence, recovery steps, and change history.
When to Move to Dedicated Software
The SharePoint and Power Automate implementation does not need to be replaced simply because it has been operating for several years. It should be reassessed when business requirements materially exceed the design.
Possible upgrade indicators include:
- Contract volume or workflow concurrency causes recurring processing or reporting constraints
- Multiple subsidiaries require separate legal entities, currencies, policies, and permissions
- Unique folder or item permissions become difficult to administer
- Formal clause libraries and automated redlining become essential
- Regulatory requirements demand specialized records controls or validated systems
- Supplier self-service portals are required
- Complex obligation, milestone, rebate, or service-credit tracking is needed
- Contract data must synchronize deeply with procurement, ERP, finance, CRM, or risk platforms
- Exception rates and manual maintenance continue to increase
- Mobile or offline contract workflows become necessary
- Advanced legal analytics and semantic contract search become core requirements
- Formal vendor support and service commitments are required for the contract platform itself
- Security risk increases because too many users or integrations require broad access
At that stage, the company can evaluate contract lifecycle management, procurement, vendor management, or legal operations platforms. The structured SharePoint records, identifiers, document metadata, and approval history provide a cleaner migration source than the original workbook and email process.
Implementation Checklist
- Confirm renewal, notice, approval, signature, and retention requirements.
- Document current monthly volume and exception types.
- Select Forms, SharePoint, Power Automate, DocuSign, and notification tools.
- Confirm subscriptions, connector entitlement, and DocuSign envelope requirements.
- Create test and production accounts, sites, groups, and connection owners.
- Define least-privilege permissions and sensitive-data restrictions.
- Create Contracts, Renewal Matters, Review Tasks, Approval Log, and Exceptions lists.
- Enable unique keys, indexes, version history, and document metadata.
- Build the Contract Intake and Review Response forms.
- Create the contract document library and standard folder structure.
- Configure field mappings between Forms, SharePoint, approvals, Outlook, and DocuSign.
- Build intake validation and duplicate-event prevention.
- Build contract and matter ID generation.
- Build notice deadline and renewal start calculations.
- Build the daily renewal scheduler.
- Build review task assignment and response processing.
- Build approval thresholds, sequential approvals, and parallel approvals.
- Configure reminders, escalation, delegation, rejection, and return-for-information paths.
- Configure DocuSign dispatch, envelope ID storage, completion handling, and reconciliation.
- Build operational views for intake, overdue work, decisions, negotiations, signatures, and exceptions.
- Implement Try, Catch, Finalize, retry, idempotency, and manual recovery controls.
- Test permissions, duplicates, failures, approvals, signatures, reporting, and audit evidence.
- Pilot with sample data and a controlled group before production rollout.
- Document one-time cost, recurring cost, maintenance, and savings assumptions.
- Add optional AI extraction only after the core workflow is reliable.
- Require human verification of every AI-extracted contract term.
- Assign primary and backup maintenance owners.
- Schedule permission, credential, template, integration, cost, and exception reviews.
- Define the transaction, security, compliance, integration, and maintenance conditions that would justify dedicated software.
Department/Function: Finance & AccountingLegal & Compliance
Get a FREE
Proof of Concept
& Consultation
No Cost, No Commitment!


