SharePoint agreement tracking for extensions and signatures
SharePoint agreement tracking breaks with extensions. Use a Placements list + Agreements list (one per version) plus Power Automate to log sent/signed dates.
The simplest way to set up SharePoint agreement tracking for signatures and multiple extensions: don’t overwrite a single row. Instead, keep your Placements list as the “one row per placement” source of truth, and create a separate Agreements (or Agreement Events) list where each agreement version/extension becomes its own record linked back to the placement. Then use Power Automate to capture key dates (sent, signed by consultant, signed by client) and surface “awaiting signature” and “expiring soon” views.
SharePoint agreement tracking workflow — Photo by Romain Dancre on Unsplash
Why SharePoint agreement tracking gets messy with extensions
Most agreement tracking setups break down because they assume there’s only one lifecycle per placement:
Agreement sent → signed → completed
But extensions repeat the same process (sometimes multiple times) for the same placement ID. When that happens, you either:
overwrite the original agreement dates (and lose history), or
keep adding “Agreement 2 / Agreement 3” columns until your list becomes unmanageable
A related-list approach fixes both problems.
Recommended data model (simple + scalable)
List 1: Placements (one row per placement)
Use this list as your master record. Common columns:
Placement ID (unique identifier)
Consultant name (optional)
Client name (optional)
Start date / end date
Status
Folder link (optional)
Agreement records (lookup/relationship to Agreements list)
List 2: Agreements (one row per agreement version/extension)
Each record represents a “version” of the agreement process for a placement.
Suggested columns:
Agreement Title (e.g., “Placement 5379 — Extension 2”)
Placement (lookup to Placements)
Version / Extension # (number)
Effective start date
Effective end date
Consultant agreement sent (date/time)
Consultant signed (date/time)
Client agreement sent (date/time)
Client signed (date/time)
Status (choice): Draft / Sent / Partially signed / Fully executed
Notes (optional)
How to link the lists in SharePoint (lookup relationships)
Create the Placements list first.
Create the Agreements list.
In the Agreements list, add a Lookup column called “Placement” that points to Placements (usually the Placement ID or Title field).
(Optional but helpful) In Placements, add a column that surfaces related agreements, so anyone can click into the agreement history for a placement.
Power Automate: capture agreement events from email
Most teams already receive the “agreement sent” and “agreement signed” notifications via email (Adobe Sign, DocuSign, etc.). Power Automate can:
watch a mailbox
parse key fields from the subject/body (Placement ID, agreement type, who signed)
create/update the appropriate record in Agreements
Pattern A: One flow per event type (recommended)
Create separate flows like:
When consultant agreement sent → create/update agreement record
When consultant signs → update that same agreement record
When client agreement sent → update
When client signs → mark Fully executed
This is easier to test than one huge flow.
Pattern B: One flow that routes based on email content
If your vendor’s email templates are consistent, you can use a single flow that:
identifies event type (sent vs signed)
extracts Placement ID
finds the most recent “open” agreement record for that placement
updates the right date field
Handling multiple extensions cleanly
Here are two approaches—choose based on what your emails contain.
Option 1 (best): Use an agreement/version identifier
If your agreement process includes a unique agreement ID or change request number, store that on the Agreement record and use it as the primary match.
Option 2: Use “most recent open agreement” logic
If you only have Placement ID, your flow can:
Find Agreements where Placement = [Placement ID]
Sort by Created date descending
Pick the most recent Agreement where Status isn’t Fully executed
Update that record
When a new extension starts, you create a new Agreement record instead of reusing the closed one.
Views that make this feel like a dashboard
Create views on the Agreements list:
Awaiting consultant signature (consultant sent is not empty AND consultant signed is empty)
Awaiting client signature (client sent is not empty AND client signed is empty)
Fully executed (last 30 days)
Recently extended (Version/Extension # > 1 AND Created date within last 30 days)
You can still build flows that monitor that mailbox, but make sure the connection/account running the flow has the right permissions (and, depending on your setup, a licensed service account may be required).
A quick proof-of-concept flow that triggers on new emails in the shared mailbox and logs them to SharePoint is the fastest way to validate access.
Checklist: implement in 60–90 minutes
Create Agreements list with lookup to Placements
Add version/extension number column
Add sent/signed date columns (consultant + client)
Build 1–2 Power Automate flows to log “sent” and “signed” events
Create “Awaiting signature” views
Test with a real extension scenario (same Placement ID, new end date)
Get help building this
Setting up SharePoint agreement tracking with Power Automate usually breaks at the email-parsing step — matching inbound notifications to the right agreement record is trickier than it looks, especially with multiple active extensions per placement. If you’ve hit that wall, book a ZoomFlow session — one of our consultants will map your agreement lifecycle, build the lookup structure, and wire up the flows with you live on a single call.
How to set up Zapier client access for solution partners: Pro vs Team/Enterprise, email constraints, and connection ownership after the June security update.
OpenTable integration for multi-location restaurants — connect guest data to email, CRM, and reviews to automate welcomes, birthdays, and lapsed-guest reactivation.