Flowgrammer

SharePoint Document Processing

Design one SharePoint library as the system of record for intake, metadata, versioning, and named approval. Power Automate orchestrates. Extraction stays separate.

— Craig Major

What SharePoint document processing is

SharePoint document processing is the work of making one library the system of record for incoming files. The library holds content types, metadata, identity, versions, permissions, and the controlled record. Power Automate orchestrates triggers, approvals, and retries. AI Builder or Azure AI Document Intelligence extracts fields. A named person still approves before any downstream draft exists.

Start with Document Processing Automation if you still need to decide what to automate first.

Who this is for

Use this when files already land in Microsoft 365 and the next failure is identity, not capture. You can name one library, one owner role, and the object a later system would create after approval.

Prerequisites:

  • One team site or hub-connected site you are willing to pilot
  • Content types enabled on that library
  • Named approvers with Approve Items, not a shared inbox alias
  • A duplicate key you can test
  • Fictional or approved samples before any live write

Leave these out of the first library: org-wide information architecture, enterprise records-management certification, anonymous approval, high-confidence auto-release, payment, final accounting posts, and supplier bank-detail changes.

If the pain is still "we cannot read the PDF," start with intelligent document processing. Extraction is not a library schema.

What each layer owns

Layer Owns Does not replace
SharePoint library Content types, columns, views, versioning, checkout, permissions, classic content approval, the durable item id Flow steps or OCR accuracy
Power Automate File-created triggers, conditions, Approvals, Set content approval status, retries, one draft write Library information architecture
Microsoft 365 document processing Library-applied classify and extract models, formerly sold as Syntex pay-as-you-go services The Power Automate Process documents action
AI Builder in a flow Process documents action, confidence 0-1 A SharePoint content type
Azure AI Document Intelligence Pro-code API extraction The default SMB path

Microsoft now calls the former Syntex pay-as-you-go services document processing for Microsoft 365. Structured and freeform library models are built with AI Builder and applied in the library Classify and extract surface. Unstructured models live in a content center. Those four surfaces are related. They are not one feature.

Worked example

Cedar & Quay Fabrication Ltd is a fictional Toronto buyer. Ridgemont Industrial Supply Co sends invoice INV-TP-2401 dated 8 September 2026. Safety vests, clipboards, and fastener bins. Subtotal CAD 400.00, HST CAD 52.00, total CAD 452.00. That is the same fictional invoice used in invoice processing automation. It is a library example here, not an accounts payable payment path. The HST 13% label is fixture vocabulary, not tax advice.

The library should:

  1. Store the file in content type CQ Supplier Invoice, not as a loose PDF in a folder.
  2. Require DocId, VendorName, InvoiceNumber, DuplicateKey, Owner, ReceivedDate, and business Status.
  3. Keep business Status separate from SharePoint ModerationStatus.
  4. Optionally run a Microsoft 365 invoice model or a Power Automate extraction step. Confidence fills ConfidenceMin. It does not approve.
  5. Freeze the current ETag and version before a named approver decides.
  6. After Approve, write one DownstreamRef to a draft destination. Do not create a payment.

That clean path is case 1 in the SharePoint Library Schema. The other six cases reuse the same companies.

The library workflow

  1. Decide the library. One purpose. Metadata and views first. Thin folder roots only if people or an app still need a folder.
  2. Enable content types. Add CQ Intake Document, then CQ Supplier Invoice, CQ Client Form Packet, CQ Policy Controlled, and CQ Exception Packet.
  3. Add columns. Required business identity first. Index DuplicateKey, DocId, Status, and ReceivedDate. Hide ModerationStatus from casual views unless content approval is on.
  4. Turn on versioning. New Microsoft 365 libraries default to keeping about the last 500 versions. Use major and minor versions when drafts must stay hidden. Require checkout only when co-authoring is not needed.
  5. Set permissions. Members upload and edit metadata. Approvers have Approve Items. Owners are not the routine business approver. Guests do not approve controlled documents.
  6. Intake. A person or a flow drops the file. Capture driveItem id, FileLeafRef, ContentType, Created, and ETag.
  7. Validate. Required columns, duplicate key, optional math on invoice totals, optional confidence floor. Failures go to Exception.
  8. Approve. Classic content approval sets ModerationStatus to Pending, then Approved or Rejected. Power Automate Approvals can run beside that and may write custom columns instead. For documents, Set content approval status needs the ETag from Get file metadata.
  9. Handoff. After Approve, write one draft destination and store DownstreamRef. Retry with the same DuplicateKey. Write count stays 1.
  10. Keep evidence. Version history, item history, approval comments, and flow run history are the audit trail. Screenshots from a live tenant are needs_tenant_proof.

Invoice processing is a domain example of steps 6 through 9. It still stops at a reviewed draft.

Content types, columns, and views

Content types are reusable metadata plus behavior. Enable management of content types on the library, then add columns to the type, not only to one view.

Minimum business columns: DocId, DocType, Status, Owner, Approver, ReceivedDate, SourceChannel, DuplicateKey, SourceHash, VersionLabel, ConfidenceMin, ExceptionCode, DownstreamRef, RetentionQuestionFlag. System columns still matter: FileLeafRef, ContentType, ModerationStatus when content approval is on, and ETag.

Views do the browsing that folders used to do:

  • All active
  • My drafts
  • Pending approval
  • Exceptions
  • By content type
  • Optional flat view with folders hidden

Hiding a column in a view does not delete the data. New content-type columns often need a manual add to existing views.

Folder versus metadata

Default for automation: metadata and views first. A deep folder tree gives Power Automate brittle paths and hides the same vendor invoice under two names.

Thin folder roots are fine when a scanner or a person still needs a drop location. Record that decision. Do not use the file name as the only duplicate key. Graph conflictBehavior can fail, replace, or rename a driveItem. That is a file-name collision rule, not a business duplicate rule.

Permissions, versioning, and checkout

Default SharePoint levels include Full Control, Design, Edit, Contribute, Read, and Approve. Approve Items is the permission that approves minor versions and content approval. Override Check-Out is powerful. Keep it off the routine approver.

Prefer Microsoft 365 group inheritance. Unique permissions work until they do not: you cannot break or re-inherit permissions on a list, library, or folder with more than 100,000 items.

Version history limits exist at organization, site, and library scope. Retention or eDiscovery can ignore those limits until the hold is released. Trim jobs are permanent. Recheck the current limits page on publish day.

Checkout stops a second editor, including a flow, from writing metadata. If a file is checked out, treat it as checkout_lock until check-in or a policy-controlled Override Check-Out.

Classic content approval versus modern Approvals

These are not the same control.

Classic content approval uses ModerationStatus: Draft, Pending, Approved, Rejected. Pending documents stay hidden from general readers when draft-item security is configured that way. Power Automate Set content approval status writes that system field. Microsoft's document-approval guidance says documents and pages need the ETag even when the action help text looks optional.

Modern Approvals (Start and wait for an approval, or Automate → Configure Approvals on some libraries) can record a decision in custom columns and in the Approvals history. They do not automatically become ModerationStatus. Whether a modern library still exposes classic Require content approval is tenant-variable. Mark that gap needs_tenant_proof.

Neither control is an e-signature. Microsoft also sells eSignature as a separate document processing service. Neither control is payment approval.

Anonymous or unnamed approval is not an acceptable control. A shared mailbox is not an approver.

What can run automatically, and what cannot

Situation Automatic action Person required
File lands and id plus ETag are stored Yes No
Required metadata present Move to ReadyForReview Yes if a required column is empty
DuplicateKey already InApproval or DownstreamDone Status Duplicate. No second write Only a documented reopen
Extraction confidence below policy Fill ConfidenceMin and ExceptionCode Yes. No auto-release
Named approver chooses Approve on the frozen ETag Set Approved and allow one draft handoff The approve decision itself
Approval package ETag does not match the item Reject or restart Yes
Actor lacks Approve Items Block. Keep the audit Process owner reassigns
Destination timeout after a write Retry the same DuplicateKey Confirm the existing DownstreamRef
Retention label or record lock blocks delete or move Flag retention_conflict Compliance contact. No bypass
Payment or bank-detail change Never in this library Entirely outside

Human gates

A person keeps these decisions:

  • Approve or reject every controlled item before a downstream draft
  • Missing DocType, Owner, DuplicateKey, or invoice identity fields
  • Duplicate reopen
  • Stale version or ETag mismatch
  • Unauthorized approval attempt
  • Low-confidence or conflicting extracted fields
  • Retention conflict
  • Payment release and any supplier bank-detail change

A confidence score can send a document to review. It cannot approve the library item. It cannot pay a vendor.

Failure paths

Failure Expected status Downstream Payment
Required column empty missing_metadata / Exception No write Blocked
DuplicateKey already used duplicate_key No second write Blocked
Approval ETag ≠ current ETag stale_version No write Blocked
Actor not in the matrix unauthorized_approval No write Blocked
ConfidenceMin below policy low_confidence_extraction No write until review Blocked
Destination error after Approve failed_downstream_retry Write count stays 1 Blocked
Label or record lock blocks the action retention_conflict No bypass Blocked
Any payment or bank-detail change Forbidden Forbidden Forbidden

Microsoft Graph exposes driveItem eTag and conflictBehavior values fail, replace, and rename. Use them for file identity and name collisions. Do not treat a renamed file as a new business document if DuplicateKey already exists.

Test cases

The seven Cedar & Quay cases are library-control fixtures. They do not measure OCR.

Case Input Without a named approver After the library control
Clean INV-TP-2401, complete metadata, current ETag ReadyForReview, 0 writes Approve → one DownstreamRef. Payment entities = 0
Duplicate Second file, same ridgemont industrial supply co|inv-tp-2401 Duplicate No review. No second write
Missing metadata InvoiceNumber blank Exception missing_metadata No write
Stale version Approver acts on an old ETag Exception stale_version Restart on the current version
Unauthorized Member without Approve Items Exception unauthorized_approval Blocked. Audit kept
Downstream retry Destination timeout after Approve DownstreamQueued Two attempts, one stored DownstreamRef
Retention conflict Delete blocked by a label Exception retention_conflict Compliance owner. No bypass steps

The SharePoint Library Schema walks each case on its own sheet.

What to measure

Record files received by channel, required-field exceptions, duplicate stops, stale-version restarts, unauthorized attempts, approvals, destination attempts, destination writes, and open exception age. Put your numbers in the schema workbook. Keep them as operational counts, not as a savings, cycle-time, or compliance-percentage result.

There is no live tenant metric here, and no Flowgrammer customer SharePoint case.

Microsoft's pay-as-you-go table (accessed 8 September 2026) lists USD meters such as prebuilt $0.01 per page and structured or freeform $0.05 per page, charged per model applied on upload and on updates. Recheck that page on publish day. Do not convert those figures to CAD here.

How to use the library schema

The paired asset is an editable workbook, not a Microsoft template and not an e-sign kit.

  1. Open ReadMe and read the layer boundary.
  2. Fill DecisionRecord: folder versus metadata, major/minor, content approval, checkout.
  3. Confirm the five content types and the column dictionary.
  4. Separate business Status from ModerationStatus.
  5. Map roles to SharePoint groups. Named approvers only.
  6. Walk Case01 through Case07 and record expected writes.
  7. Answer the retention questions. Labels alone are not a compliant records program.

For extraction evaluation depth, use the IDP Requirements Worksheet.

Realistic limitations

  • A library schema does not prove goods were received or that a supplier is genuine.
  • Labeled-text and checklist cases do not measure OCR accuracy.
  • Classic versus modern Approvals behavior can differ by tenant. That gap is needs_tenant_proof.
  • Retention policies and labels can retain files and can lock records. They do not certify compliance.
  • Connector file-size limits and service file-size limits can differ. Recheck both on publish day.
  • This system does not pay anyone and does not change supplier bank details.
  • This guide does not rank vendors, and it is not a Power Automate, Azure, or e-sign product walkthrough.

Next step

Download the SharePoint Library Schema and fill the decision record, columns, and seven cases.

If the library purpose, named approvers, or the draft destination are still unclear, start with an AI Success Audit. If those pieces are already named, book a fit call to scope an AI Automation Systems build.

Sources

Frequently asked questions

What is SharePoint document processing?

It is the work of making one SharePoint library the system of record for intake, metadata, versioning, permissions, and named approval. Power Automate orchestrates. AI Builder or Azure Document Intelligence extracts.

Is this the same as Syntex or AI Builder?

No. Former Syntex pay-as-you-go services are now called document processing for Microsoft 365 and apply models in the library. AI Builder also powers structured and freeform library models, and it appears separately as the Process documents action in Power Automate. Azure Document Intelligence is the pro-code API.

Is SharePoint content approval an e-signature?

No. Content approval changes visibility and ModerationStatus. It is not a legally binding signature and it is not payment approval.

Can high-confidence extraction auto-approve a file?

Not as default advice. Confidence can route a file to a person. A named approver still releases the controlled record.

Do retention labels make the library compliant?

No. Labels and policies are tools with documented limits. They are not a records-management certification.

Who builds the Power Automate steps?

Power Automate owns triggers, Approvals, retries, and the draft write. The library contract in this guide is what those steps read and write.