The Business Situation

Harborline Managed Services is a fictional 85-person provider of recurring technology support and managed infrastructure services. It maintains approximately 420 active customer contracts and processes about 45 new agreements, renewals, amendments, or termination decisions each month.

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 renewal process involves eight account owners, five customer engagement managers, a revenue operations manager, a sales director, a contract coordinator, a legal reviewer, and a marketing operations analyst. Account owners are responsible for customer conversations. Revenue operations owns the renewal tracker. Business and legal reviewers approve contract terms. Marketing and customer engagement teams use the forecast to plan account communications and retention activity.

The company already uses Microsoft 365, SharePoint, email, Microsoft Teams, and DocuSign. However, these tools were not operating as one controlled process. Renewal dates were held in several spreadsheets, executed contracts were stored in different SharePoint folders, signature status was checked in DocuSign, and open customer issues were summarized manually before renewal meetings.

Renewal conversations frequently started after the ideal planning date. Some began close to the contractual notice deadline, when Harborline had less time to resolve service concerns, prepare revised commercial terms, or obtain internal approval.

The business needed a central system that could answer practical questions without searching email or opening multiple files:

  • Which contracts enter their renewal planning period during the next 30, 60, 90, or 180 days?
  • What is the contractual notice deadline?
  • Who owns the next action?
  • Which accounts have weak product usage, unresolved issues, or elevated renewal risk?
  • Which commercial and legal reviews are incomplete?
  • Has the renewal agreement been sent, viewed, completed, declined, or voided?
  • Where is the current executed contract?
  • What value is forecast as likely, committed, at risk, or non-renewing?
  • Which automation failures require intervention?

The Existing Process

The original process followed a recognizable sequence, but each step depended on manual updates.

  1. An account owner received a contract or renewal request by email.
  2. The owner copied selected details into a departmental spreadsheet.
  3. A revenue operations employee searched SharePoint for the current contract and confirmed the renewal date and notice clause.
  4. The employee calculated the notice deadline and added a calendar reminder.
  5. Usage concerns and open support issues were collected through email or meetings.
  6. The account owner emailed revised terms to the sales director and legal reviewer.
  7. Review comments were exchanged through email attachments and document copies.
  8. An approved document was uploaded or selected in DocuSign.
  9. The sender checked DocuSign periodically and notified the account owner when the envelope was completed.
  10. The executed document was downloaded, renamed, and copied into SharePoint.
  11. The spreadsheet was updated with the result and the next renewal date.
  12. Marketing operations created monthly renewal reports by filtering and reconciling spreadsheets.

Process weaknesses

  • Renewal dates were duplicated across spreadsheets.
  • Notice deadlines were calculated inconsistently.
  • Contract ownership was sometimes unclear.
  • Review decisions remained in email threads.
  • Executed documents were not always linked to tracker rows.
  • DocuSign status was checked manually.
  • Account risks were described using inconsistent language.

Business effects

  • Renewal work started later than intended.
  • Managers spent time reconciling conflicting records.
  • Approvals could pause without an escalation.
  • Forecast reports contained stale information.
  • Staff depended on one employee who knew the folder structure.
  • Customer issues were identified too late in the renewal cycle.
  • Audit evidence required searches across several systems.

The spreadsheet itself was not the only problem. The larger issue was that it did not control the surrounding workflow. Updating a row did not create a contract workspace, initiate approvals, send reminders, create a signature envelope, archive the completed agreement, or record failures.

What the New System Needed to Do

The implementation team defined the business rules before selecting specific automation actions.

Business and technical requirements
Requirement Required behavior Control
Intake Collect consistent contract and renewal information through one internal form. Required fields, controlled choices, and conditional questions.
Validation Check dates, owner, signer details, value, notice period, and document references. Invalid records enter a validation queue rather than continuing.
Unique identity Create one stable matter ID for each contract workflow. Use the SharePoint item ID and a unique form-response key.
System of record Centralize renewal dates, risks, ownership, forecast, review, and signature status. SharePoint list versioning and controlled permissions.
Document workspace Create a standard folder structure for intake, review, signature, and executed files. Consistent names, metadata, version history, and restricted sharing.
Reviews Route business, financial, legal, and conditional privacy reviews. Recorded decision, reviewer, comments, timestamp, and approval round.
Signature Create and track a DocuSign envelope after required approvals. Store the returned envelope ID and process status events idempotently.
Renewal monitoring Calculate notice and planning dates, then send reminders and escalations. Daily scheduled flow with duplicate-notification controls.
Forecasting Track likely, commit, upside, at-risk, and non-renewal outcomes. Forecast remains an account-owner and manager decision.
Reporting Show value, volume, due dates, risks, approvals, and failures. SharePoint operational views and a Power BI management dashboard.
Exceptions Prevent silent partial completion. Exception list, flow run link, retry count, owner, and recovery action.
Audit evidence Retain source response, decisions, document links, envelope ID, and timestamps. Review log, automation log, file history, and DocuSign completion evidence.
Human control Keep contractual, legal, forecast, and customer communication decisions with people. Automation moves information and requests decisions but does not approve terms.

The system also needed a manual override. Revenue operations had to be able to correct a date, reassign ownership, restart a failed stage, record an envelope created manually, and close an invalid request without editing a flow.

Implementation Approaches Considered

Comparison of implementation approaches
Approach Connected tools Effort Recurring cost Strength Main limitation
Improve the existing spreadsheet Excel, SharePoint, Outlook Low Low incremental cost Familiar and quick to introduce Weak workflow control, concurrency, audit history, and document relationships
Airtable workflow Airtable, automation platform, DocuSign Medium Additional subscriptions Flexible relational views and approachable interfaces Adds another data platform and requires new permission governance
CRM-centered renewal object CRM, workflow tools, DocuSign, document repository Medium to high Depends on CRM automation and storage features Strong connection to opportunities and account ownership Contract review, file control, and legal access may require customization
Microsoft 365 workflow Forms, SharePoint, Power Automate, DocuSign, Teams, Power BI Medium Licensing and connector capacity must be confirmed Uses the existing identity, document, collaboration, and reporting environment Requires careful flow design and ongoing ownership
Dedicated contract lifecycle management platform CLM, CRM, e-signature, finance, support systems High Higher specialist software cost Advanced clauses, obligation tracking, templates, permissions, and audit controls Greater implementation effort than the current volume justified

Improving the spreadsheet

A structured spreadsheet could have standardized columns and added basic reminders. It would not adequately control concurrent editing, related review records, file permissions, status transitions, or duplicate automation events. Harborline would still need significant manual reconciliation.

Using Airtable

Airtable could represent accounts, contracts, review events, and tasks effectively. It was not selected because the company already governed identities and documents in Microsoft 365. Introducing another repository would require additional access reviews, retention decisions, and integration support.

Using the CRM

A CRM renewal object was attractive for sales visibility. However, Harborline’s existing CRM configuration did not manage legal document workspaces or detailed review evidence. The company reserved an external account ID field so a later CRM integration could be added without redesigning the SharePoint record.

Purchasing dedicated contract software

A contract lifecycle management platform would be appropriate if clause libraries, obligation extraction, complex legal workflows, or formal enterprise controls became necessary. It was considered disproportionate for a representative portfolio of 420 active contracts and 45 monthly matters.

Using the Microsoft 365 environment

The selected approach connected the company’s existing productivity suite to DocuSign. It provided a controlled system of record without attempting to build a full legal application. It also kept account ownership, forecast decisions, legal judgment, and customer communications human-controlled.

The Selected Solution

The selected system used Microsoft Forms for internal intake, SharePoint Lists for structured records, SharePoint document libraries for files, Power Automate for workflow orchestration, DocuSign for electronic signatures, Microsoft Teams and Outlook for notifications, and Power BI for management reporting.

Selected tools and responsibilities
Tool Responsibility Reason selected
Microsoft Forms Internal contract and renewal intake Simple access for authenticated employees and direct Power Automate triggering
SharePoint Renewal Matters list Primary system of record Structured fields, views, versioning, permissions, and Power Automate connectivity
SharePoint document libraries Working documents and executed-contract archive Version history, Microsoft 365 permissions, metadata, and stable links
Power Automate Validation, record creation, reviews, reminders, synchronization, and exception handling Connects the selected systems using managed connections and native actions
DocuSign Signature envelopes and completion evidence Existing electronic-signature platform with template and status integration
Microsoft Teams and Outlook Internal alerts, assignments, reminders, and failure notifications Existing communication channels for the participating teams
Power BI Renewal pipeline, value, risk, aging, and processing-time reporting Provides management reporting from the SharePoint system of record
AI Builder or an approved Azure OpenAI connection Optional account-history summarization Produces a reviewable draft from approved account data after the core workflow is stable

The existing Microsoft 365 environment and DocuSign account were retained. Separate departmental spreadsheets, manual calendar reminders, repeated status-check emails, manual folder creation, and manual copying of completed contracts were removed.

The system did not automatically accept legal terms, select a final renewal forecast, decide whether to renew a customer, or send retention messaging. Those decisions remained with the sales, customer engagement, legal, and management teams.

System Architecture and Data Flow

A renewal matter is the controlled record for one contract event. It can represent a new managed-services agreement, a renewal, an amendment, or a termination decision. Each matter has one parent SharePoint record, related review and automation logs, and a document workspace.

  1. Submission: An authenticated employee submits Microsoft Forms data. Power Automate receives the response ID and retrieves the complete response. If required information is missing, the flow creates a validation exception and notifies the requester.
  2. Duplicate check: The flow constructs a source response key from the form identifier and response identifier. It searches SharePoint before creating a record. A unique SharePoint column provides a second duplicate barrier.
  3. Record creation: Power Automate creates the Renewal Matters item. SharePoint returns its numeric item ID, which is transformed into a matter ID such as REN-2026-638.
  4. Workspace creation: The flow creates standard folders for intake, review, signature, and executed files. Uploaded reference documents are copied into the workspace, and the folder link is written to the parent record.
  5. Review routing: Business review occurs first. High-value or exceptional terms receive an additional financial approval. Legal review and any required privacy review then run according to configured rules. Every decision creates a Review Log row.
  6. Signature submission: After all required reviews are approved, Power Automate creates or sends a DocuSign envelope using the approved template or signature draft. DocuSign returns an envelope ID, which is stored in SharePoint.
  7. Status synchronization: DocuSign status events update the matter. Duplicate events are ignored when the stored status and event key already match. Declined, voided, and ambiguous outcomes enter an exception or human-review path.
  8. Archiving: On completion, Power Automate retrieves the executed document and completion evidence, saves them in the executed-contract library, updates the document link, and records the next contractual dates.
  9. Monitoring and reporting: A scheduled flow evaluates planning dates, notice deadlines, overdue actions, approvals, and automation failures. SharePoint views support daily work, while Power BI summarizes value, risk, volume, and processing time.
  • Intake: Microsoft Forms
  • System of record: SharePoint Renewal Matters list with related Review Log and Automation Exceptions lists
  • Automation layer: Microsoft Power Automate
  • Document storage: SharePoint working and executed-contract libraries
  • Notifications: Microsoft Teams and Outlook
  • Reporting: SharePoint views and Power BI
  • AI layer: Optional AI Builder prompt or approved Azure OpenAI connection, always followed by human review

Data Structure

The principal entity is the Renewal Matters SharePoint list. Columns with stable internal names are created before flows are built. Display names can later be made more readable without breaking references.

Renewal Matters fields
Field Type Required Source Validation and purpose
ID SharePoint number System SharePoint Immutable numeric key returned after item creation
MatterId Single line text Yes after creation Power Automate Unique value such as REN-2026-638
SourceResponseKey Single line text Yes Power Automate Unique form and response combination used for idempotency
MatterType Choice Yes Form New Agreement, Renewal, Amendment, Termination Review
AccountName Single line text Yes Form Trimmed; minimum meaningful length enforced by the flow
ExternalAccountId Single line text No Form or future CRM Stable account identifier for later integration
Requester Person Yes Forms identity Employee who submitted the request
AccountOwner Person Yes Form Owns commercial next actions and forecast updates
EngagementOwner Person No Form Customer engagement or marketing coordination owner
RenewalDate Date only Yes for renewals Form Must be a valid contractual date
NoticePeriodDays Number Yes Form Whole number from 0 through 730
NoticeDeadline Date only Calculated by flow Power Automate Renewal date minus notice period
PlanningLeadDays Number Yes Configuration Default 60 days before notice deadline
PlanningStartDate Date only Calculated by flow Power Automate Notice deadline minus planning lead days
AnnualContractValue Currency Yes Form Nonnegative amount used for approval and forecast reporting
ProductUsageStatus Choice Yes Form or owner update Unknown, Healthy, Watch, Critical
OpenIssueCount Number Yes Form or owner update Whole number greater than or equal to zero
AccountRisk Choice Yes Account owner Low, Medium, High, Critical
RiskNotes Multiple lines Conditional Account owner Required when risk is High or Critical
NextAction Multiple lines Conditional Account owner Required during Renewal Planning and later active stages
NextActionDueDate Date only Conditional Account owner Required when NextAction is populated
ForecastStatus Choice Yes Account owner Unassessed, Likely, Commit, Upside, At Risk, Non-renewal
Status Choice Yes Automation and authorized users Controls the contract workflow stage
BusinessApprovalStatus Choice Yes Power Automate Not Started, Pending, Approved, Returned, Rejected
LegalApprovalStatus Choice Yes Power Automate Not Started, Pending, Approved, Returned, Rejected
PrivacyApprovalStatus Choice Yes Power Automate Not Required, Pending, Approved, Returned, Rejected
ApprovalRound Number Yes Power Automate Increments after a returned matter is resubmitted
CustomerSignerName Single line text Before signature Form or owner update Validated before an envelope is created
CustomerSignerEmail Single line text Before signature Form or owner update Validated email format and human-confirmed recipient
WorkspaceLink Hyperlink Yes after creation Power Automate Points to the controlled working folder
ApprovedDraftLink Hyperlink Before signature Reviewer or automation Points to the document or approved template reference
ExecutedDocumentLink Hyperlink After completion Power Automate Points to the archived executed agreement
DocuSignTemplateKey Single line text For standard path Configuration Maps the matter to an approved DocuSign template
EnvelopeId Single line text After submission DocuSign External identifier used for status and document retrieval
EnvelopeStatus Choice No DocuSign Created, Sent, Delivered, Completed, Declined, Voided, Error
LastReminderDate Date and time No Power Automate Prevents repeated daily reminders
EscalationLevel Number Yes Power Automate Starts at zero and increases as deadlines are missed
AutomationStatus Choice Yes Power Automate Ready, Running, Completed, Retry Pending, Manual Review, Failed
LastAutomationRun Date and time No Power Automate Timestamp of the most recent controlled update
RetryCount Number Yes Power Automate Counts controlled retry attempts
ErrorMessage Multiple lines No Power Automate Sanitized failure summary without credentials or contract content
AIReviewStatus Choice No Optional AI flow Not Requested, Draft Ready, Low Confidence, Approved, Rejected
AISummaryDraft Multiple lines No Optional AI flow Draft summary that cannot overwrite human-approved notes
AIConfidence Number No Optional AI flow Validated range from 0 through 1
Created Date and time System SharePoint Creation timestamp
Modified Date and time System SharePoint Last updated timestamp
Supporting SharePoint lists and libraries
Entity Relationship Important fields
Review Log Many review rows to one MatterId ReviewId, MatterId, ApprovalRound, ReviewType, Reviewer, ApprovalId, Decision, Comments, RequestedDate, DecisionDate
Automation Log Many events to one MatterId EventKey, MatterId, FlowName, Stage, Result, ExternalEventId, RunUrl, EventDate
Automation Exceptions Zero or more exceptions to one MatterId ExceptionId, MatterId, FlowName, FailedStage, ErrorSummary, RetryCount, Owner, Status, RunUrl, Resolution
Configuration Shared reference values ConfigKey, ConfigValue, Environment, EffectiveDate, Active
Renewal Working Documents Many files to one MatterId MatterId, DocumentType, CurrentVersion, ReviewStatus, UploadedBy, UploadedDate
Executed Contracts One or more completed files to one MatterId MatterId, EnvelopeId, EffectiveDate, RenewalDate, DocumentType, RetentionCategory

MatterId, SourceResponseKey, EnvelopeId, and log EventKey columns are indexed. SourceResponseKey and EventKey enforce unique values. SharePoint list versioning is enabled so changes to dates, ownership, forecast, and status remain traceable.

Workflow Statuses and Ownership

Renewal workflow stages
Status Meaning and owner Entry and exit conditions Reminder and escalation
Validation Required Revenue operations checks missing or inconsistent intake information. Entered after failed validation. Exits when corrected and resubmitted. Requester at creation; revenue operations after two business days.
Business Review Sales director or configured business approver reviews value, scope, and commercial position. Entered after valid intake. Exits on approve, return, or reject. Reminder after 24 hours; escalation after 72 hours.
Financial Review Finance or executive approver reviews high-value or exceptional terms. Required when value meets the threshold or a commercial exception is selected. Reminder after 24 hours; escalation after 72 hours.
Legal Review Legal reviewer confirms the approved document or template path. Entered after business and conditional financial approval. Exits after all legal and conditional privacy reviews resolve. Reminder after 24 hours; escalation after 72 hours.
Returned Account owner corrects or supplements the submission. Entered when a reviewer requests information. Exits through controlled resubmission. Owner reminder after two days; manager escalation after five days.
Awaiting Signature Account owner monitors the customer signature request. Entered when DocuSign returns an envelope ID. Exits on completion, decline, void, or cancellation. Owner reminders use signature due date; urgent escalation before notice deadline.
Executed Revenue operations verifies the archived completed agreement. Entered after the completed file is stored and linked. Exception alert if archival is incomplete.
Monitoring Account owner maintains account health until the next planning date. Entered after execution or validated migration. Exits when PlanningStartDate arrives. No routine reminders unless required data becomes incomplete.
Renewal Planning Account owner and engagement owner manage the next renewal action and forecast. Entered on or after PlanningStartDate. Exits through a new contract workflow or final disposition. Weekly owner reminder; escalation for overdue actions and approaching notice deadlines.
Rejected Reviewer has rejected the proposed transaction. Entered after a formal rejection. Reopening requires manager authorization and a new approval round. One confirmation to requester, owner, and revenue operations.
Exception Revenue operations owns a technical or data problem. Entered after nonrecoverable automation failure or ambiguous external result. Immediate operations alert and daily review until resolved.
Closed No further action remains for the matter. Entered after cancellation, supersession, non-renewal, or verified completion of all tasks. No reminders.

A returned record moves backward only through a controlled resubmission. The flow increments ApprovalRound and creates new review records rather than overwriting prior decisions. A rejected matter cannot be changed directly to approved. It must be reopened by revenue operations with an explanatory note and a new approval round.

Step-by-Step Implementation

Step 1: Prepare the Accounts and Permissions

  1. Create separate development and production SharePoint sites or clearly separated development and production lists. Test flows must never point to the production document library.
  2. Move the Microsoft Form into a Microsoft 365 group owned by revenue operations. Group ownership prevents the process from depending on one employee’s personal account.
  3. Create the Renewal Matters, Review Log, Automation Log, Automation Exceptions, and Configuration lists.
  4. Create the Renewal Working Documents and Executed Contracts libraries. Enable version history. Apply the organization’s approved retention settings to executed files.
  5. Create SharePoint groups for Renewal Operations, Account Owners, Reviewers, Report Readers, and Contract Archive Administrators.
  6. Assign edit rights to revenue operations, contribute rights where account owners need updates, review access to designated reviewers, and read-only archive access to approved users.
  7. Create or designate a managed Power Automate connection owner. The account must be licensed for the required connectors and protected with multifactor authentication. It should not be a generic password shared among employees.
  8. Confirm that the Power Automate subscription supports the required DocuSign connector capabilities. Connector classification and licensing can change, so the company should verify current tenant and vendor terms rather than rely on an old plan description.
  9. Create a DocuSign integration user or designated sender with permission to use approved templates, create envelopes, read envelope status, and retrieve completed documents.
  10. Authenticate the DocuSign connector through OAuth. No DocuSign password or access token is stored in a SharePoint list.
  11. Prepare at least two DocuSign templates: a safe test template with nonproduction terms and the approved production template. Recipient role names must be stable, such as CustomerSigner.
  12. Create a restricted Power BI workspace. Report access is managed separately because SharePoint permissions do not automatically become Power BI row-level security.
  13. Create test users representing an account owner, business approver, legal reviewer, delegate approver, revenue operations administrator, and unauthorized employee.

The Configuration list contains nonsecret operational values. Representative keys include PlanningLeadDays, HighValueThreshold, ApprovalReminderHours, ApprovalEscalationHours, BusinessApproverUPN, LegalApproverUPN, PrivacyApproverUPN, DocuSignTemplateStandard, and OperationsTeamAddress.

Secrets are not stored in Configuration. OAuth tokens remain in managed Power Platform connections. If an optional API-based AI service is introduced, its credentials must be held in an approved connection, custom connector, or secret-management service.

Step 2: Build the Intake

Create an internal group-owned Microsoft Form named Contract and Renewal Intake. Restrict responses to authenticated employees. If external submitters must eventually use the process, create a separate external intake design because organizational identity and file-upload behavior differ.

Microsoft Forms intake fields
Question Type Required Validation or branching
Matter type Choice Yes New Agreement, Renewal, Amendment, Termination Review
Account name Text Yes Flow trims whitespace and rejects blank values
External account ID Text No Use the existing account identifier when available
Account owner email Text Yes Must resolve to an active internal user
Engagement owner email Text No Must resolve to an active internal user when supplied
Current renewal date Date Conditional Required for Renewal and Termination Review
Notice period in days Number Conditional Required for existing contracts; 0 through 730
Annual contract value Number Yes Nonnegative; currency fixed by company policy
Product usage status Choice Yes Unknown, Healthy, Watch, Critical
Open issue count Number Yes Whole number greater than or equal to zero
Account risk Choice Yes Low, Medium, High, Critical
Risk details Long text Conditional Required through branching for High or Critical risk
Commercial exception Choice Yes Yes or No; Yes requires an explanation
Material terms change Choice Yes Controls legal review information
Data-handling change Choice Yes Controls conditional privacy review
Customer signer name Text Conditional Required before signature, but may be completed later
Customer signer email Text Conditional Flow validates format and requires human confirmation
Requested completion date Date No Cannot replace the contractual notice deadline
Supporting documents File upload Conditional Allowed document types and current connector limits are tested in the tenant
Additional notes Long text No Users are instructed not to include passwords or unnecessary personal data

The form confirmation tells the requester that submission does not mean approval. It also explains that a matter ID and workspace will be created, and that the requester may be contacted if validation fails.

For file uploads, use a group-owned form so uploaded files are stored in the group’s SharePoint environment rather than a personal drive. Run one test upload and record the actual source folder in the Configuration list. Folder names can be affected by the form name, question name, localization, and ownership model.

Power Automate reads the attachment metadata returned by Forms, copies each permitted file to the matter workspace, and records the source link. If a file exceeds the currently supported connector limit, the matter moves to Validation Required and the requester receives a secure workspace link for manual upload.

Forms provides the response ID used for event deduplication. A second potential duplicate test compares ExternalAccountId, MatterType, and RenewalDate. This comparison does not automatically reject a submission because one account can legitimately have multiple services renewing on the same date. It flags the matter for human confirmation.

Step 3: Create the System of Record

  1. Create the Renewal Matters columns listed in the data structure section.
  2. Set SourceResponseKey to enforce unique values.
  3. Index MatterId, SourceResponseKey, RenewalDate, PlanningStartDate, NoticeDeadline, Status, AccountOwner, EnvelopeId, and AutomationStatus.
  4. Enable list version history and retain the number of versions required by the organization’s policy.
  5. Set default values: Status to Validation Required, ForecastStatus to Unassessed, Approval statuses to Not Started, ApprovalRound to 1, EscalationLevel to 0, AutomationStatus to Ready, and RetryCount to 0.
  6. Do not use free-text status values. Every flow and view must reference the same controlled choices.
  7. Create Review Log with a MatterId lookup or indexed text relationship. Text is simpler for large automation volumes, while a SharePoint lookup provides user navigation. The selected design uses indexed MatterId text to reduce lookup constraints.
  8. Create Automation Log with EventKey enforcing unique values. EventKey combines the matter, external event, and event type.
  9. Create Automation Exceptions as the operational dead-letter queue. Failed items remain visible until an owner records a resolution.
  10. Create the Configuration list for thresholds, approver addresses, template mappings, and reminder settings.

The SharePoint numeric ID is generated only after item creation. Power Automate therefore creates the initial item, obtains the returned ID, constructs MatterId, creates folders using that MatterId, and then updates the record.

NoticeDeadline and PlanningStartDate are calculated by Power Automate rather than by a SharePoint calculated column. This keeps date logic in one place and allows the flow to recalculate dates whenever RenewalDate, NoticePeriodDays, or PlanningLeadDays changes.

Create these operational views:

  • Validation Queue
  • My Renewal Matters
  • Planning in the Next 90 Days
  • Notice Deadline in the Next 30 Days
  • Pending Business Review
  • Pending Legal Review
  • Awaiting Signature
  • At-Risk Accounts
  • Overdue Next Actions
  • Automation Failures
  • Recently Executed
  • Closed Matters

Views are not security boundaries. A filtered view that shows only an owner’s records does not prevent that user from accessing other records when list permissions allow it.

Step 4: Connect the Tools

Core connection and field mapping
Source and trigger Destination Authentication Mapping and returned value Failure behavior
Microsoft Forms new response SharePoint Renewal Matters Microsoft 365 group and managed Power Automate connection Response values map to matter fields; SharePoint returns item ID Create an exception if response details cannot be retrieved
Forms upload storage SharePoint working library SharePoint connection with source and destination access File name, content, matter ID, and document type are copied Keep matter in Validation Required if a required file is unavailable
SharePoint status change Power Automate Approvals Managed Microsoft 365 connection Matter ID, summary, links, value, risks, and due date; approval ID returned Set Manual Review if approver cannot be resolved
Approved SharePoint matter DocuSign DocuSign OAuth connection Template key, recipient role, signer name, signer email, subject, and matter custom field; envelope ID returned Do not blindly create a second envelope after an ambiguous timeout
DocuSign status event SharePoint matter and Automation Log DocuSign OAuth connection Envelope ID, status, event time, and event identifier Unmatched envelope events enter the exception queue
Completed DocuSign envelope SharePoint Executed Contracts DocuSign and SharePoint connections Executed PDF, completion evidence, envelope ID, matter ID, and dates Envelope remains Completed but matter enters Exception if archive creation fails
SharePoint Renewal Matters Teams and Outlook Microsoft 365 connection Owner, status, deadline, action, risk, and matter link Notification failure is logged without rolling back a valid approval decision
SharePoint Renewal Matters Power BI SharePoint Online List connector Renewal, value, status, risk, processing dates, owner, and forecast fields Refresh failures alert the report owner

Connection names should identify environment and purpose, such as PROD-SharePoint-Renewals and PROD-DocuSign-Sender. Flow owners should use connection references where the Power Platform environment supports solution packaging.

DocuSign connector action labels vary by connector version. The required operations are: create an envelope from an approved template or draft, assign the CustomerSigner role, send the envelope, receive or poll envelope status, and retrieve completed documents. The implementation team must confirm that the installed connector exposes each operation before production deployment.

Step 5: Build the Core Automation

Flow RN-01: Intake and Workspace Creation

  • Trigger: Microsoft Forms reports a new response.
  • Conditions: The form is the production intake form and the SourceResponseKey does not already exist.
  • Actions: Retrieve response details, normalize values, validate fields, create the SharePoint item, generate MatterId, calculate dates, create folders, copy uploads, update links, and initiate business review.
  • Fields updated: MatterId, dates, owner, value, status, workspace link, automation status, and timestamps.
  • Notification: Send the requester a matter link or a validation notice.
  • Exception: Create an Automation Exceptions row and set AutomationStatus to Manual Review when a required step fails.

The exact action order is:

  1. Get response details.
  2. Compose SourceResponseKey from a fixed form key and response ID.
  3. Query Renewal Matters for SourceResponseKey.
  4. Terminate successfully if the response was already processed.
  5. Resolve the requester and account owner as active Microsoft 365 users.
  6. Trim text, convert numeric values, and normalize date values.
  7. Validate conditional requirements.
  8. Create the initial SharePoint item with AutomationStatus set to Running.
  9. Create MatterId from the returned SharePoint ID.
  10. Read PlanningLeadDays from Configuration.
  11. Calculate NoticeDeadline and PlanningStartDate.
  12. Create the root matter folder and four child folders.
  13. Copy each valid supporting file and assign MatterId metadata.
  14. Update the matter with MatterId, calculated dates, workspace link, and Status set to Business Review.
  15. Write a successful Intake event to Automation Log.
  16. Notify the requester and owner.

Flow RN-02: Business and Conditional Financial Review

  • Trigger: A matter enters Business Review with BusinessApprovalStatus equal to Not Started.
  • Conditions: AutomationStatus is not Failed, the matter has a valid owner, and no approval already exists for the current round.
  • Actions: Mark approval pending, create the approval, wait for the response, log the result, and evaluate the financial threshold.
  • Fields updated: BusinessApprovalStatus, status, approval timestamps, approval round, and automation status.
  • Notification: Approver receives an approval card; owner receives the outcome.
  • Exception: Missing approver or approval-service failure creates an exception.

For an approved matter below the configured value threshold with no commercial exception, the flow proceeds to Legal Review. If AnnualContractValue is at least the representative $100,000 threshold, or CommercialException is Yes, a financial approval is created before legal review.

A returned decision changes Status to Returned and assigns the next action to the account owner. A rejection changes Status to Rejected. Approval comments and identifiers are written to Review Log in both cases.

  • Trigger: Business and any required financial approval are complete, and LegalApprovalStatus is Not Started.
  • Conditions: The workspace exists and the contract reference or approved template path is available.
  • Actions: Create legal approval and, when DataHandlingChange is Yes, create a privacy review in a parallel branch. Aggregate both outcomes after the branches finish.
  • Fields updated: LegalApprovalStatus, PrivacyApprovalStatus, ApprovedDraftLink, DocuSignTemplateKey, status, and automation timestamps.
  • Notification: Reviewers receive links to the matter and controlled workspace.
  • Exception: Conflicting or incomplete outcomes move the record to Manual Review.

The parallel branches write only to Review Log while they run. They do not update the same parent fields concurrently. After both branches finish, the parent flow evaluates the outcomes and performs one parent-item update.

If either reviewer returns the matter, Status becomes Returned. If either rejects it, Status becomes Rejected. Only when all required reviews are approved does the record continue to signature.

Flow RN-04: Create and Send the DocuSign Envelope

  • Trigger: All required approval statuses are Approved or Not Required, and EnvelopeId is empty.
  • Conditions: Signer name, signer email, approved template or draft, and matter ID are present.
  • Actions: Set SignatureSubmissionPending, select the approved DocuSign template, create the envelope, assign the CustomerSigner role, send it, capture EnvelopeId, and write the external ID to SharePoint.
  • Fields updated: EnvelopeId, EnvelopeStatus, Status, signature sent date, automation status, and last automation run.
  • Notification: Notify the account owner that the envelope was sent.
  • Exception: An ambiguous timeout does not create a second envelope automatically. Revenue operations reconciles DocuSign by MatterId first.

MatterId is also stored as a DocuSign envelope custom field when the account and connector configuration support it. This makes reconciliation possible if Power Automate receives an uncertain response after envelope creation.

Standard agreements use approved DocuSign templates with stable recipient roles and signing fields. Nonstandard agreements may require a contract coordinator to prepare the envelope manually. In that branch, the coordinator enters the resulting EnvelopeId into SharePoint, and the status and archive flows continue automatically.

Flow RN-05: Process DocuSign Status Events

  • Trigger: DocuSign reports an envelope status change through the available connector event, or a scheduled fallback detects a changed status.
  • Conditions: EnvelopeId matches exactly one matter and the event key has not already been logged.
  • Actions: Normalize the status, create the unique event log, update the matter, and route Completed, Declined, or Voided outcomes.
  • Fields updated: EnvelopeStatus, status, event timestamps, automation status, and error fields.
  • Notification: Relevant status notifications go to the owner and revenue operations.
  • Exception: Unknown statuses and unmatched envelope IDs enter Automation Exceptions.

Delivered is informational and leaves the matter in Awaiting Signature. Completed initiates archive retrieval. Declined moves the matter to Returned or Rejected according to the business rule and requires human follow-up. Voided enters Manual Review unless the owner had already recorded a cancellation.

Flow RN-06: Archive the Executed Contract

  • Trigger: EnvelopeStatus becomes Completed and ExecutedDocumentLink is empty.
  • Conditions: EnvelopeId and MatterId are present, and no successful archive event exists.
  • Actions: Retrieve completed documents, save the executed PDF and available completion evidence, assign metadata, update links, and create an archive event.
  • Fields updated: ExecutedDocumentLink, Status, execution date, AutomationStatus, and next renewal data.
  • Notification: Notify the owner, requester, engagement owner, and revenue operations.
  • Exception: If retrieval or file creation fails, retain the DocuSign Completed status and put the matter in Exception.

The archive flow is idempotent. Before creating a file, it checks Automation Log for an event key formed from MatterId, EnvelopeId, and ARCHIVED. It also checks for an existing archive file with matching metadata.

Flow RN-07: Daily Renewal Monitoring

  • Trigger: Scheduled recurrence each business day at 7:30 a.m. in the company’s operating time zone.
  • Conditions: Matter is active and has a planning date, notice deadline, pending review, pending signature, or overdue next action.
  • Actions: Move eligible records to Renewal Planning, calculate reminder type, check the daily event key, notify the owner, and increase escalation level where required.
  • Fields updated: Status, LastReminderDate, EscalationLevel, AutomationStatus, and LastAutomationRun.
  • Notification: Teams and email reminders go to owners, managers, or revenue operations according to severity.
  • Exception: Invalid dates or missing owners enter the exception queue.

The flow does not send an external customer message. It creates internal visibility and leaves customer contact with the account owner and engagement team.

Flow RN-08: Reconciliation and Controlled Retry

  • Trigger: Nightly recurrence and an optional SharePoint selected-item action for revenue operations.
  • Conditions: AutomationStatus is Retry Pending, Manual Review, or Failed, or a DocuSign matter has not received an event within the expected period.
  • Actions: Recheck source and destination records, compare envelope status, retry safe operations, update the exception row, and close reconciled exceptions.
  • Fields updated: RetryCount, ErrorMessage, AutomationStatus, LastAutomationRun, and exception resolution.
  • Notification: Revenue operations receives a daily unresolved-exception digest.
  • Exception: Stop automated retries after the configured limit and require manual resolution.

Step 6: Add Approvals, Reminders, and Escalations

The approval sequence is deterministic:

  1. Business approval is always required.
  2. Financial approval follows business approval when value meets the configured threshold or a commercial exception exists.
  3. Legal review follows the commercial approvals.
  4. Privacy review runs in parallel with legal review only when data-handling terms change.
  5. Signature submission occurs only after all required outcomes are Approved or Not Required.

Use approval responses of Approve, Return for Information, and Reject where the tenant’s approval action supports custom responses. If the installed action exposes only Approve and Reject, use Reject for a final rejection and a separate reviewer form or list action for returning information. Do not represent a rejected decision as an approval.

Each approval request includes:

  • Matter ID and account name
  • Matter type and annual contract value
  • Renewal date, notice deadline, and requested completion date
  • Usage status, risk, and open issue count
  • Commercial exception and data-handling indicators
  • Link to the SharePoint record
  • Link to the controlled document workspace
  • Instruction not to approve from an email attachment

The scheduled monitoring flow sends a reminder after 24 hours and escalates after 72 hours. These are representative settings stored in Configuration, not hard-coded throughout multiple flows.

Planned absences are handled through a configuration entry that identifies the active delegate and effective dates. For unexpected absence, revenue operations can supersede the pending approval, create a replacement approval for the delegate, and mark the old ApprovalId inactive in Review Log. If the connector supports approval cancellation, the old approval is canceled. Otherwise, any late response is ignored because it does not match the active ApprovalId for the current round.

Returned records preserve the original review evidence. The owner supplies the missing information, selects a controlled Resubmit action, and starts a new round. Final approval confirmation includes all reviewer decisions, approval IDs, timestamps, and links.

Step 7: Add Documents and File Management

The working library uses a consistent folder structure:

Renewal Working Documents
  REN-2026-638
    01 Intake
    02 Review
    03 Signature
    04 Executed Staging

The executed archive is a separate library:

Executed Contracts
  2026
    REN-2026-638

Working-file names use the matter ID and document type, for example:

REN-2026-638_CurrentAgreement_20261102.pdf
REN-2026-638_RenewalDraft_20261105.docx
REN-2026-638_ExecutedAgreement_20261112.pdf
REN-2026-638_CompletionEvidence_20261112.pdf

SharePoint version history remains the authoritative version record. Users should not create repeated files named Final, Final2, or Latest. The library metadata identifies DocumentType, ReviewStatus, and CurrentVersion.

Only contract coordinators and reviewers can mark a draft as approved for signature. Account owners may upload support material but cannot replace an approved signature document after legal approval without restarting the review round.

The Executed Contracts library restricts modification to archive administrators. Account owners and reporting users receive read access only when business policy permits. Anonymous and unrestricted organization-wide sharing links are disabled.

When an upload has the same intended file name, the flow does not silently overwrite it. It checks existing metadata, adds a timestamp when the file is a legitimate new version, or creates a duplicate-document exception.

Connector file-size limits and blocked file types can vary. Production testing must cover the largest expected contract package. Oversized files use a manual secure-upload procedure, after which revenue operations resumes the workflow.

Retention and deletion follow the organization’s contract, privacy, and legal-hold policies. The automation does not invent a retention period. It applies the approved SharePoint retention label or archive process configured by the organization.

Step 8: Add Reporting and Operational Views

SharePoint views support daily work. Power BI supports management analysis. The report connects to Renewal Matters, Review Log, and Automation Exceptions through the SharePoint Online List connector.

Recommended operational views and reports
View or report Filter or calculation Owner
New and validation required Status equals Validation Required or created during the last seven days Revenue operations
Awaiting action Active status with NextActionDueDate today or earlier Account owners
Upcoming planning dates PlanningStartDate within 30, 60, 90, and 180 days Sales and customer engagement
Notice deadline risk NoticeDeadline within 30 days and forecast unassessed or next action missing Sales director
Approval aging Pending review grouped by reviewer and age Revenue operations
Awaiting signature Status equals Awaiting Signature, grouped by days since sent Account owners
Risk by value Contract value grouped by AccountRisk and ForecastStatus Sales leadership
Usage and issues Watch or Critical usage, or open issue count greater than zero Customer engagement
Recently completed Executed during the last 30 days Revenue operations and marketing operations
Automation failures AutomationStatus is Manual Review or Failed System owner
Processing time Days from creation to execution, plus time in each review stage Operations leadership

The Power BI dataset refreshes on an approved schedule appropriate to the reporting license and operational need. Daily management reporting does not require real-time refresh. Revenue operations owns field definitions, while marketing operations owns report presentation and scheduled distribution.

Suggested alert thresholds include notice deadlines within 30 days without a committed next action, pending approvals older than 72 hours, signatures outstanding past their due date, and automation failures unresolved for one business day.

Step 9: Add Security and Governance Controls

  • Apply least-privilege permissions to lists, libraries, flows, reports, and DocuSign templates.
  • Use Microsoft 365 groups and role-based SharePoint groups instead of granting access individually wherever practical.
  • Do not treat filtered views as access controls.
  • Restrict legal notes, pricing details, signer information, and executed contracts to approved roles.
  • Disable anonymous sharing for contract libraries.
  • Store OAuth credentials in managed connections, not lists, flow variables, email, or code.
  • Use Power Platform data-loss-prevention policies to prevent contract data from moving to unapproved consumer connectors.
  • Review flow owners and connection owners when employees change roles or leave.
  • Enable SharePoint version history and retain approval and automation logs according to policy.
  • Back up configuration definitions and export documented flow versions before material changes.
  • Limit Power BI workspace access. Configure row-level security if owners must see only assigned accounts.
  • Record who manually overrides a status, why it was changed, and which previous automation stage was superseded.
  • Keep final legal approval, commercial exceptions, forecast commitments, and customer communications human-controlled.
  • Do not send privileged legal correspondence, authentication secrets, payment card data, or unnecessary personal data to an AI service.

Industry and jurisdiction determine whether additional privacy, records-management, financial, or electronic-signature controls apply. Legal and compliance owners must approve those requirements before production use.

Step 10: Deploy and Test

  1. Build lists, libraries, forms, templates, and flows in the test environment.
  2. Use fictional sample account names and nonproduction contract documents.
  3. Test each flow independently before running an end-to-end test.
  4. Test with separate users for requester, owner, reviewer, delegate, administrator, and unauthorized employee.
  5. Complete user acceptance testing with two account owners, one engagement manager, revenue operations, the sales director, and the legal reviewer.
  6. Run a pilot with 10 to 15 representative matters, including standard renewals, high-value renewals, returned reviews, and a declined test envelope.
  7. Reconcile pilot records against the previous tracker rather than immediately removing the old process.
  8. Document every field, choice value, threshold, flow owner, connection owner, and recovery procedure.
  9. Train users on submission, ownership updates, document handling, review responses, exception recovery, and reporting.
  10. Freeze structural changes during the first production week unless a defect creates material risk.
  11. Activate production flows in sequence: intake, reviews, signature, status synchronization, archive, reminders, reconciliation, and reporting.
  12. Monitor every production run during the initial rollout period.
  13. Keep an exported flow version and deployment record for rollback.
  14. Communicate one support route, owned by revenue operations with an IT automation specialist as backup.

If rollout fails, disable new intake routing, preserve already-created matters, process urgent signatures manually in DocuSign, and restore the prior tracker temporarily. Do not delete partially processed records because they contain reconciliation evidence.

Code and Configuration

No custom JavaScript, Python, or server application is required for the core implementation. Microsoft Forms, SharePoint, Power Automate, and DocuSign provide the required triggers and actions. The flows still require precise expressions, conditions, mappings, scopes, and retry settings.

Power Automate flow structure

Each production flow uses three named scopes:

  • TRY: Performs validation and business operations.
  • CATCH: Runs after TRY has failed, timed out, or been skipped unexpectedly. It updates the matter and creates an Automation Exceptions record.
  • FINALLY: Records the run result and LastAutomationRun where a matter ID is available.

Configure run-after behavior on CATCH for failure and timeout. Configure FINALLY to run after success, failure, timeout, or skip. Connector operations that are safe to repeat use an exponential retry policy, such as four attempts with bounded delays. Envelope creation does not use an uncontrolled retry after an ambiguous timeout because that could send duplicate contracts.

Representative expressions

Place the MatterId expression in a Compose action immediately after the SharePoint Create item action named Create_matter:

concat(
  'REN-',
  formatDateTime(utcNow(), 'yyyy'),
  '-',
  string(outputs('Create_matter')?['body/ID'])
)

Calculate NoticeDeadline after composing normalized RenewalDate and NoticePeriodDays:

formatDateTime(
  addDays(
    outputs('Compose_RenewalDate'),
    mul(-1, int(outputs('Compose_NoticePeriodDays')))
  ),
  'yyyy-MM-dd'
)

Calculate PlanningStartDate using the result from NoticeDeadline:

formatDateTime(
  addDays(
    outputs('Compose_NoticeDeadline'),
    mul(-1, int(outputs('Compose_PlanningLeadDays')))
  ),
  'yyyy-MM-dd'
)

Use a trigger condition on the business-review flow to reduce unnecessary runs. Internal column paths can differ, so confirm the generated SharePoint property names in a test run:

@and(
  equals(triggerOutputs()?['body/Status/Value'], 'Business Review'),
  equals(triggerOutputs()?['body/BusinessApprovalStatus/Value'], 'Not Started')
)

Create a daily reminder event key so rerunning the monitoring flow does not send the same reminder twice:

concat(
  items('Apply_to_each_matter')?['MatterId'],
  '|',
  formatDateTime(utcNow(), 'yyyy-MM-dd'),
  '|',
  outputs('Compose_ReminderType')
)

Before sending the reminder, query Automation Log for the event key. If it exists, skip the notification. If it does not exist, create the log row first and then send the message. Creating the unique log row first prevents two overlapping flow runs from both sending the notification.

Representative configuration values

PlanningLeadDays = 60
HighValueThreshold = 100000
ApprovalReminderHours = 24
ApprovalEscalationHours = 72
OwnerActionEscalationDays = 7
MaximumAutomaticRetries = 3
BusinessApproverUPN = YOUR_EMAIL_ADDRESS
LegalApproverUPN = YOUR_EMAIL_ADDRESS
PrivacyApproverUPN = YOUR_EMAIL_ADDRESS
OperationsTeamAddress = YOUR_EMAIL_ADDRESS
DocuSignTemplateStandard = YOUR_TEMPLATE_ID
FormUploadRoot = YOUR_SHAREPOINT_FORM_UPLOAD_PATH

Store these values as rows in the Configuration list. Do not store passwords, API keys, refresh tokens, or client secrets in that list.

DocuSign native configuration

  1. Authenticate the DocuSign connection through OAuth using the designated integration sender.
  2. Use a nonproduction DocuSign account or test template during implementation.
  3. Create a stable template role named CustomerSigner.
  4. Configure required signature and date fields in the DocuSign template.
  5. Map CustomerSigner name and email from SharePoint.
  6. Set the envelope email subject to include MatterId and the account name.
  7. Set MatterId as an envelope custom field when supported by the account and connector configuration.
  8. Create the envelope and capture the returned EnvelopeId before updating Status to Awaiting Signature.
  9. Configure the status trigger or scheduled status check for Sent, Delivered, Completed, Declined, and Voided outcomes.
  10. On Completed, retrieve the executed document and available completion evidence, then save both with EnvelopeId metadata.

If the connector version cannot populate a required template field, keep that preparation step with the contract coordinator. The coordinator creates the envelope in DocuSign and records EnvelopeId in SharePoint. Status synchronization and archiving can still remain automated.

Power BI calculations

Add calculated fields or equivalent Power Query transformations after loading the SharePoint data. These representative DAX expressions assume a table named Renewal Matters:

DaysToRenewal =
DATEDIFF(
    TODAY(),
    'Renewal Matters'[RenewalDate],
    DAY
)

DaysToNoticeDeadline =
DATEDIFF(
    TODAY(),
    'Renewal Matters'[NoticeDeadline],
    DAY
)

ActiveContractValue =
CALCULATE(
    SUM('Renewal Matters'[AnnualContractValue]),
    'Renewal Matters'[Status] <> "Closed"
)

AtRiskContractValue =
CALCULATE(
    SUM('Renewal Matters'[AnnualContractValue]),
    'Renewal Matters'[ForecastStatus] = "At Risk"
)

These formulas belong in the Power BI semantic model, not in SharePoint. Test date behavior after scheduled refresh and confirm the report’s time zone.

Testing and troubleshooting the configuration

Run each flow using a known sample response. Inspect Power Automate run history, expand inputs and outputs for each action, and confirm that dynamic-content properties match the production column internal names.

Common configuration errors include renamed SharePoint columns, deleted choice values, inactive approver accounts, incorrect form-upload paths, expired DocuSign connections, changed DocuSign role names, missing Power BI permissions, and date values interpreted in the wrong time zone.

After changing a SharePoint schema, refresh the SharePoint action in the flow and retest every mapping. After changing a DocuSign template, retest recipient roles and completed-document retrieval before using it for a production agreement.

Failure Handling and Operational Reliability

Failure scenarios and recovery
Failure Automated response Manual recovery Owner
Missing required field Set Validation Required and notify requester Correct the record and use controlled resubmission Requester and revenue operations
Duplicate Forms event SourceResponseKey lookup and unique constraint prevent a second item Confirm the existing matter and close any duplicate exception Revenue operations
Possible duplicate business matter Flag matching account, type, and renewal date Confirm legitimate separate service or close duplicate Revenue operations
Invalid date or number Stop before review and record validation details Correct value and recalculate dates Revenue operations
Folder creation fails Keep matter in Validation Required and create exception Correct permission or path, then run selected-item retry Automation owner
File upload or copy fails Record failed file and continue only if it is optional Upload securely to workspace and resume Requester and revenue operations
Approver cannot be resolved Set Manual Review and notify operations Update configuration or assign delegate Revenue operations
Approver unavailable Send reminders and escalate after configured timeout Supersede approval and create one for delegate Approval administrator
Approval service timeout Retry safe lookup operations and preserve ApprovalId Check approval history before recreating request Automation owner
DocuSign authentication expires Stop signature or status action and create urgent exception Reconnect OAuth connection and reconcile pending matters DocuSign connection owner
Envelope creation returns an ambiguous timeout Do not automatically create a second envelope Search DocuSign using MatterId and record the existing EnvelopeId Contract coordinator
Duplicate DocuSign event Unique Automation Log EventKey prevents repeated processing No action unless statuses conflict Automation owner
Unknown DocuSign status Record raw status and set Manual Review Map the status after confirming its meaning Contract coordinator
Completed envelope cannot be archived Preserve Completed status and create archive exception Download from DocuSign, upload to archive, and record resolution Revenue operations
Notification fails Log the failure without reversing a valid business transaction Contact owner through alternate channel and repair connection Automation owner
Rate limit or transient connector error Use bounded exponential retry for safe actions Resume after service recovery Automation owner
Repeated technical failure Stop after maximum retry count and enter dead-letter queue Correct root cause and use controlled retry action Automation owner
Power BI refresh fails Alert report owner and retain last successful dataset Repair credentials, schema, or service issue and refresh Marketing operations

Every Automation Exceptions record contains the matter ID, failed flow and stage, sanitized error summary, run URL, retry count, assigned owner, and resolution status. It does not copy full contract content or credentials into error messages.

Idempotency is applied at three levels:

  • SourceResponseKey prevents duplicate intake records.
  • Automation Log EventKey prevents duplicate reminders, status processing, and archival.
  • EnvelopeId and DocuSign MatterId custom fields support signature reconciliation.

The nightly reconciliation flow compares Awaiting Signature matters with DocuSign, checks Completed matters for an archive link, checks executed files for a parent matter, and identifies records that have remained AutomationStatus Running beyond the expected duration.

A Complete Example

On November 2, 2026, an account owner submits a renewal intake for the internally labeled customer account ACCT-047.

Example intake values
Field Example value
Matter type Renewal
Renewal date March 31, 2027
Notice period 90 days
Annual contract value $84,000
Product usage Watch
Open issues 3
Account risk Medium
Commercial exception No
Material terms change No
Data-handling change No

Microsoft Forms returns response ID 184. Power Automate creates SourceResponseKey RENEWAL-FORM:184 and confirms that it does not exist.

SharePoint creates item 638. The flow generates MatterId REN-2026-638. It calculates the notice deadline as December 31, 2026 and the planning start date as November 1, 2026, using the configured 60-day planning lead.

Because the planning date has already arrived, the matter enters Business Review immediately rather than remaining in Monitoring. The flow creates the workspace and copies the current agreement into 01 Intake.

The sales director approves the business review. The $84,000 value is below the representative $100,000 financial-review threshold and no commercial exception exists, so financial approval is not required.

Legal review begins. No privacy review is required because the data-handling terms are unchanged. The legal reviewer confirms the approved standard template and records an approval. Review Log now contains business and legal decisions with separate ApprovalIds and timestamps.

Power Automate creates a DocuSign envelope from the approved standard template, maps the CustomerSigner role, stores MatterId as a custom reference, and receives the illustrative envelope identifier ENV-EXAMPLE-7F31. SharePoint Status changes to Awaiting Signature.

A Delivered event updates EnvelopeStatus but does not complete the matter. A later Completed event produces a unique Automation Log event. The archive flow downloads the executed PDF and completion evidence, stores them under the matter ID, and writes the archive link to SharePoint.

Revenue operations confirms the next renewal date of March 31, 2028. Status becomes Monitoring. The account owner changes ForecastStatus to Commit only after reviewing the customer’s position. The customer engagement owner sees the executed renewal in the approved reporting view and plans follow-up activity.

If the optional AI summary is enabled, the system also produces a draft noting Watch usage and three unresolved issues. The account owner verifies the evidence and edits the summary before marking it approved. The AI does not change the forecast or send a customer message.

Implementation Cost

All figures below are representative planning assumptions, not vendor quotes or verified client costs. Licensing must be confirmed for the organization’s tenant, region, connector requirements, user count, envelope volume, and reporting model.

Representative implementation and operating costs
Category Assumption One-time cost Monthly cost
Existing Microsoft 365 environment Forms, SharePoint, Teams, and baseline identity already licensed Not assigned incrementally Existing agreement excluded from incremental calculation
Power Automate connector capacity Representative allowance for required premium or per-user capability $0 $60
DocuSign allocation Representative internal allocation for sender and envelope capacity $0 $90
Power BI reporting Representative allowance for report publishing and access $0 $30
Internal discovery and data cleanup 30 hours at a loaded internal rate of $65 $1,950 $0
Internal testing, training, and governance review 26 hours at $65 $1,690 $0
Professional implementation 88 hours at a representative $145 per hour; optional if equivalent internal skills exist $12,760 $0
Monthly administration Three hours at $65 for monitoring and maintenance $0 $195 in internal labor
Optional AI consumption Representative metered usage allowance, excluding any required platform capacity Separate setup may apply $20
Core implementation total Professional and internal implementation $16,400 $180 software plus $195 maintenance labor

The 88 professional hours include approximately 12 hours of solution design, 48 hours of configuration and flow development, 16 hours of testing and remediation, and 12 hours of documentation and training delivery.

An internal team could perform more of the work, but the labor would not become costless. It would still require design, permissions, build, testing, documentation, deployment, and ongoing support time.

Estimated Time and Cost Savings

The estimate covers administrative handling around each matter, including intake, tracker updates, folder creation, reminders, status reconciliation, and archival. It excludes time spent making substantive sales, legal, and customer decisions because those activities remain necessary.

Representative savings assumptions
Assumption Value
Monthly workflow volume 45 matters
Current administrative handling time 38 minutes per matter
New base handling time 9 minutes per matter
Exception rate 15 percent
Manual exception review time 12 minutes
Monthly maintenance time 3 hours
Loaded hourly labor cost $52
Recurring core software cost $180 per month
One-time implementation cost $16,400

Current monthly labour hours: Monthly volume × current minutes per record ÷ 60

45 × 38 ÷ 60 = 28.50 hours

New monthly labour hours: Monthly volume × new minutes per record ÷ 60, plus exception handling and maintenance

(45 × 9 ÷ 60) + (45 × 15% × 12 ÷ 60) + 3 = 6.75 + 1.35 + 3 = 11.10 hours

Monthly hours recovered: Current monthly labour hours minus new monthly labour hours

28.50 - 11.10 = 17.40 hours

Estimated monthly labour value: Monthly hours recovered × loaded hourly labour cost

17.40 × $52 = $904.80

Net estimated monthly value: Monthly labour value minus recurring tool costs

$904.80 - $180 = $724.80

Estimated payback period: One-time implementation cost ÷ net estimated monthly value

$16,400 ÷ $724.80 = approximately 22.6 months

Recovered time does not automatically reduce payroll. It can instead provide additional capacity, quicker turnaround, reduced overtime, fewer administrative tasks, and less dependency on an employee who understands the previous spreadsheet and folder structure.

Non-financial benefits include:

  • Earlier identification of renewal planning dates and notice deadlines
  • Clear ownership of next actions
  • Fewer manual status-check messages
  • More consistent approval evidence
  • Direct links between records and executed documents
  • Better visibility into account risk and product usage
  • More consistent renewal forecasting
  • A measurable queue for technical exceptions
  • Improved coordination between sales, customer engagement, legal, and marketing operations

Readers should replace the monthly volume, handling times, exception rate, loaded labor cost, licensing allocation, implementation cost, and maintenance time with their own measured figures. A two-week time study is preferable to relying entirely on estimates.

Adding AI to the Automation

AI is introduced only after the deterministic intake, review, signature, archive, reminder, and reporting processes operate reliably.

Normal automation already provides record creation, date calculation, routing, notifications, document links, signature status, and reporting. These tasks do not need AI. Required fields, exact matching, lookup tables, thresholds, permissions, and workflow rules are more reliable and easier to audit.

AI becomes useful when an account owner must review unstructured notes before a renewal conversation. A model can prepare a concise draft from approved account history, usage commentary, issue summaries, prior review notes, and customer-engagement notes.

Other possible AI applications include document extraction, request categorization, semantic search, duplicate suggestions, and missing-information detection. These should be evaluated separately and should not replace contractual validation or human approval.

The recommended enhancement is an account-history summary generated when a matter enters Renewal Planning or when an account owner requests a refresh.

  • Trigger: Status changes to Renewal Planning and AIReviewStatus is Not Requested, or an authorized user runs a selected-item summary action.
  • AI input: Structured renewal fields plus approved, sanitized usage, issue, and account-history notes.
  • System instruction: Summarize only supplied evidence, identify uncertainty, and return valid JSON.
  • User prompt: Supplies the account data and defines the required output.
  • Expected output: Concise summary, evidence-based risks, missing information, suggested next actions, and confidence.
  • Validation: Parse JSON, enforce required fields and ranges, and reject unrecognized properties.
  • Record update: Write only to AI draft fields.
  • Human review: Account owner approves, edits, or rejects the draft.
  • Low-confidence handling: Confidence below 0.75 sets AIReviewStatus to Low Confidence.
  • Prohibited data: Credentials, payment card data, privileged legal advice, unnecessary personal data, and unrestricted ticket content.
  • Logging: Record prompt version, model or prompt action identifier, timestamp, result status, and usage where available.
  • Failure behavior: Leave existing human notes unchanged and notify the owner that manual review is required.

Use the following reusable prompt in an approved AI Builder prompt action or equivalent tenant-approved Azure OpenAI connection:

SYSTEM INSTRUCTION

You are an account-renewal summarization assistant.
Use only the information supplied in the user message.
Do not infer legal conclusions, customer intent, or a final renewal forecast.
Do not recommend accepting contract terms.
Treat missing information as missing rather than guessing.
Every risk must include evidence that appears in the supplied input.
Return only valid JSON matching the requested structure.
Keep the summary under 140 words.
Provide no customer-facing message.

USER PROMPT

Prepare a draft renewal briefing from this approved account information.

Matter ID: {{MatterId}}
Account name: {{AccountName}}
Renewal date: {{RenewalDate}}
Notice deadline: {{NoticeDeadline}}
Annual contract value: {{AnnualContractValue}}
Product usage status: {{ProductUsageStatus}}
Approved usage notes: {{ApprovedUsageNotes}}
Open issue count: {{OpenIssueCount}}
Approved issue summary: {{ApprovedIssueSummary}}
Current human risk rating: {{AccountRisk}}
Approved account history: {{ApprovedAccountHistory}}
Current next action: {{NextAction}}
Forecast status: {{ForecastStatus}}

Return JSON with:
summary: concise factual briefing
renewal_risks: up to five objects containing category, severity, evidence
missing_information: array of missing facts
next_action_suggestions: up to three suggestions for human review
confidence: number from 0.0 through 1.0

Do not change the forecast or make a final renewal decision.

Configure a Parse JSON action with this schema:

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "summary",
    "renewal_risks",
    "missing_information",
    "next_action_suggestions",
    "confidence"
  ],
  "properties": {
    "summary": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1200
    },
    "renewal_risks": {
      "type": "array",
      "maxItems": 5,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "category",
          "severity",
          "evidence"
        ],
        "properties": {
          "category": {
            "type": "string"
          },
          "severity": {
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high"
            ]
          },
          "evidence": {
            "type": "string"
          }
        }
      }
    },
    "missing_information": {
      "type": "array",
      "maxItems": 10,
      "items": {
        "type": "string"
      }
    },
    "next_action_suggestions": {
      "type": "array",
      "maxItems": 3,
      "items": {
        "type": "string"
      }
    },
    "confidence": {
      "type": "number",
      "minimum": 0,
      "maximum": 1
    }
  }
}

A valid representative response is:

{
  "summary": "The account renews on 2027-03-31 and has a 2026-12-31 notice deadline. Product usage is marked Watch, with three open issues. The current human risk rating is Medium. The next action is to confirm an issue-resolution plan before the commercial renewal discussion.",
  "renewal_risks": [
    {
      "category": "usage",
      "severity": "medium",
      "evidence": "Product usage status is Watch."
    },
    {
      "category": "open issues",
      "severity": "medium",
      "evidence": "The account has three open issues."
    }
  ],
  "missing_information": [
    "No approved customer sentiment note was supplied."
  ],
  "next_action_suggestions": [
    "Confirm owners and target dates for the open issues.",
    "Review recent usage changes with the account owner."
  ],
  "confidence": 0.84
}

Power Automate validates the JSON and confidence range. It writes the summary to AISummaryDraft, stores the risk JSON in a restricted multiline field or related record, sets AIConfidence, and updates AIReviewStatus to Draft Ready or Low Confidence.

The owner must open the source links, confirm the evidence, and either approve, edit, or reject the draft. Approved text is copied into a separate human-approved summary field. The model is never permitted to overwrite that field directly.

Benefits of the AI Enhancement

  • Less time spent reading repeated account-history notes
  • More consistent presentation of usage and issue information
  • Faster identification of missing account context
  • Evidence-linked risk suggestions for human consideration
  • More consistent internal renewal briefings
  • Improved handling of unstructured notes that do not fit simple choice fields

These benefits are specific to summarization. AI does not create the matter, calculate dates, prevent duplicate events, route approvals, send the envelope, archive the contract, or generate the operational dashboard. Those benefits come from normal workflow automation.

What Remains Rule-Based or Human-Controlled

Decisions excluded from AI control
Decision Control method Reason
Notice deadline calculation Rule-based date arithmetic Contractual dates require deterministic calculation and verification
High-value approval threshold Configured numeric rule A fixed policy should not depend on model interpretation
Final legal approval Named legal reviewer Requires professional judgment and accountability
Commercial exception approval Sales and financial approvers Creates financial and contractual commitments
Customer signer selection Account owner confirmation Sending to the wrong recipient can create legal and privacy risk
Envelope release Approval rules and designated sender AI must not send an unapproved agreement
Forecast status Account owner and manager Forecast reflects accountable business judgment
Customer communication Account and engagement owners High-risk messages require context and relationship judgment
Renewal or non-renewal decision Authorized management It is a high-impact commercial decision

Estimating the Additional Value of AI

The following assumptions are illustrative and should be replaced with pilot measurements:

  • Core automation handling time: 9 minutes per matter
  • Handling time with AI-assisted summary: 6 minutes before corrections and failures
  • Monthly volume: 45 matters
  • Human review remains mandatory
  • Correction rate: 15 percent
  • Additional correction time: 3 minutes
  • AI service failure rate: 3 percent
  • Manual fallback time after failure: 5 minutes
  • AI usage allowance: $20 per month

Gross additional time recovered:

45 × (9 - 6) ÷ 60 = 2.25 hours

Correction time:

45 × 15% × 3 ÷ 60 = 0.34 hours

Failure fallback time:

45 × 3% × 5 ÷ 60 = 0.11 hours

Net additional capacity:

2.25 - 0.34 - 0.11 = 1.80 hours per month

Additional monthly labor value:

1.80 × $52 = $93.60

Net additional monthly value after usage allowance:

$93.60 - $20 = $73.60

The estimate does not claim that AI eliminates errors. Every summary is reviewed, and malformed, inaccurate, or low-confidence output falls back to the existing human process.

Testing Checklist

Use fictional sample data and nonproduction documents before processing real contract information.

End-to-end test cases
Test Expected result
Normal submission One matter, one workspace, correct dates, and one business approval are created
Missing required field Matter enters Validation Required and does not reach approval
Invalid number or date Validation error is recorded with correction instructions
Duplicate submission Potential business duplicate is flagged for review
Duplicate Forms event SourceResponseKey prevents a second matter
Duplicate DocuSign event EventKey prevents repeated updates and notifications
Failed authentication Flow creates an exception without exposing credentials
Expired credential Connection owner receives an urgent reconnection alert
Failed API or connector request Safe operations retry within limits; unsafe duplicate-prone operations stop
Unavailable approver Reminder, escalation, and delegate procedure work
Approval rejection Status becomes Rejected and evidence is logged
Return for information Status becomes Returned and new approval round is required after correction
Reassignment New owner receives access and reminders; prior ownership remains in history
Overdue next action Owner reminder and configured escalation are sent once per period
Approval reminder Reminder is sent after the configured interval
Approval escalation Manager or backup owner receives escalation at the threshold
Failed folder creation Matter enters exception and selected-item retry can recover it
Failed file upload Required-document failure blocks progression
Failed completed-document retrieval DocuSign status remains Completed while archive exception is created
Failed notification Business transaction remains valid and notification failure is logged
Unauthorized user User cannot access restricted contract files or administrative actions
Malformed AI output Parse JSON fails safely and human notes remain unchanged
Inaccurate AI output Reviewer rejects or edits the draft and the correction is logged
Low-confidence AI output AIReviewStatus becomes Low Confidence
AI service failure Owner receives a manual-summary instruction
Successful signature completion Executed file and evidence are archived and linked
Correct report totals Dashboard values reconcile with SharePoint source records
Correct audit record Source, review, envelope, archive, and automation events are traceable
Correct retry behavior Safe operations retry within limits and duplicate-prone operations require reconciliation

Ongoing Maintenance

The revenue operations manager is the primary business owner. An IT automation specialist is the technical backup. Marketing operations owns report presentation, while contract operations owns DocuSign templates and archive quality.

Maintenance schedule
Frequency Task Owner
Daily Review failed runs, unresolved exceptions, archive failures, and approaching notice deadlines Revenue operations
Weekly Reconcile Awaiting Signature matters with DocuSign and sample archived documents Contract operations
Monthly Review reminder effectiveness, approval aging, exception causes, and connector consumption Business and automation owners
Monthly Sample AI summaries for unsupported claims, missing evidence, and correction rate Account owner lead
Quarterly Review permissions, flow owners, connection owners, delegates, and former employee access IT and revenue operations
Quarterly Test duplicate handling, approval timeout, archive recovery, and selected-item retry Automation owner
Quarterly Review report definitions and reconcile totals against SharePoint Marketing operations
Semiannually Review DocuSign templates, recipient roles, contract paths, and signature tests Legal and contract operations
Annually Review retention, privacy controls, business thresholds, savings assumptions, and upgrade criteria Process owner and governance stakeholders
After any schema change Retest field mappings, triggers, expressions, reports, and exception recovery Automation owner

Credential rotation and reauthentication follow organizational policy and connector requirements. The owner should monitor vendor service notices, connector deprecations, API changes, licensing changes, and flow run consumption.

Documentation must include the current architecture, field dictionary, status definitions, configuration values, approver rules, connection owners, deployment history, testing evidence, and recovery instructions.

When to Move to Dedicated Software

The SharePoint and Power Automate implementation can remain appropriate while the workflow is understandable, supportable, and within platform limits. Replacement is not automatic merely because volume grows.

Dedicated contract lifecycle management, customer-success, or revenue-operations software should be evaluated when several of these conditions appear:

  • Transaction volume creates frequent flow throttling or long processing queues.
  • The company needs clause libraries, redlining controls, obligation extraction, or advanced template assembly.
  • Permissions must vary by customer, region, legal entity, contract type, or confidential clause.
  • Formal regulatory or audit requirements exceed SharePoint list and workflow controls.
  • Multiple locations require complex local approval and data-residency rules.
  • CRM, billing, support, usage, finance, and identity systems all require bidirectional integration.
  • Exception rates remain high despite process improvements.
  • Automation maintenance consumes excessive specialist time.
  • Large lists or libraries approach operational performance limits.
  • Vendor-backed support and contractual service levels become mandatory.
  • Users require a customer-facing contract portal.
  • Mobile or offline contract work becomes a material requirement.
  • Advanced revenue recognition, pricing, or entitlement workflows must be connected.
  • Security risks from extensive item-level permissions become difficult to manage.
  • Management needs advanced forecasting and account-health models beyond the current reporting structure.

Before replacing the implementation, the company should determine whether the problem is a platform limitation, a poorly defined business process, incomplete ownership, or accumulated configuration debt. Dedicated software will not correct unclear renewal responsibilities by itself.

Implementation Checklist

  • Confirm renewal, notice, review, signature, archive, and reporting requirements.
  • Document the selected Microsoft Forms, SharePoint, Power Automate, DocuSign, Teams, and Power BI roles.
  • Confirm required subscriptions, connector capabilities, envelope capacity, and report access.
  • Create development and production environments or separated resources.
  • Assign business owner, technical owner, backup owner, and connection owners.
  • Create Microsoft 365 groups and least-privilege permissions.
  • Build the group-owned intake form and conditional validation.
  • Create Renewal Matters and supporting SharePoint lists.
  • Create working and executed-contract document libraries.
  • Enable versioning, indexing, unique constraints, retention, and audit settings.
  • Define field names, data types, choices, defaults, and relationships.
  • Define statuses, ownership, entry conditions, and exit conditions.
  • Create configuration values for thresholds, approvers, reminders, and templates.
  • Map every Forms field to SharePoint.
  • Map SharePoint data to approval requests and DocuSign roles.
  • Capture SharePoint item IDs, approval IDs, envelope IDs, document links, and event keys.
  • Build intake, review, signature, status, archive, reminder, and reconciliation flows.
  • Add TRY, CATCH, and FINALLY scopes with run-after configuration.
  • Configure safe retries and manual reconciliation for duplicate-prone operations.
  • Build approval reminders, escalations, delegation, rejection, and return paths.
  • Create operational views and the Power BI reporting model.
  • Implement exception logging, selected-item retry, and daily reconciliation.
  • Restrict credentials, sensitive fields, document links, reports, and AI inputs.
  • Test normal, invalid, duplicate, rejected, unavailable, failed, and recovery scenarios.
  • Run user acceptance testing with sample data and nonproduction documents.
  • Complete pilot deployment, launch communication, training, and support documentation.
  • Validate representative implementation cost and recurring software assumptions.
  • Replace savings estimates with measured volume, handling time, exception rate, and labor cost.
  • Add AI summarization only after the core workflow is reliable.
  • Require human review for all AI output and retain deterministic business controls.
  • Schedule ongoing permission, credential, template, report, exception, and AI-output reviews.
  • Document volume, security, integration, reporting, and maintenance thresholds for future software evaluation.

Get a FREE
Proof of Concept
& Consultation

No Cost, No Commitment!