FS-DOC-03Operations
Process Runbook / SOP
Software Licence Management
[YourCompany.com] · IT Department · Prepared by FullSpec · [Today's Date]
This runbook is your plain-English operating guide for the automated Software Licence Management process. It covers what happens each day without your involvement, where your one human decision point sits, how to handle exceptions when the system flags something unusual, and what routine maintenance keeps the process healthy. FullSpec has built and configured everything described here. Your team's role is limited to reviewing the daily Slack digest, responding to renewal alerts, and acting on any exception items the system cannot resolve on its own.
01Process overview
Every day at 7 AM the automation connects to Microsoft 365 and your Notion licence register, compares active user accounts against assigned seats, and surfaces anything that needs attention. Licences approaching renewal within 60 days trigger a structured Slack alert to the nominated tool owner. Responses are logged back to Notion automatically and a finance note is posted to Xero. The IT manager receives a daily digest in Slack summarising everything actioned and any items still awaiting a human response. The only step that remains manual is the actual removal of a user from a platform, which is retained as a deliberate human confirmation step for security reasons.
Process name
Software Licence Management
Trigger
Daily schedule at 7 AM, or immediately when a user account is deactivated in Microsoft 365
Final output
Updated Notion licence register, Xero finance note, and a Slack daily digest sent to the IT manager
Agents running
Licence Discovery Agent and Renewal Coordination Agent
Tools involved
Microsoft 365, Notion, Slack, Xero
Weekly volume
Approximately 35 licences tracked; 4 to 8 renewals per month
Human checkpoint
IT manager reviews exception items and carries out any user deprovisioning confirmed by the system
Process owner
IT Manager (Jordan Blake)
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations
02Step-by-step: what happens and who acts
What you actually need to do: your single required action in this process is to review the daily Slack digest each morning and act on any exception items flagged for manual review, including carrying out user deprovisioning where the system has identified an inactive seat that needs to be removed from a platform.
Step
What happens
Who acts
Type
1
The workflow runs on its daily schedule at 7 AM. This triggers the Licence Discovery Agent to begin a fresh audit of all connected accounts and licence records.
Automation
Automated
2
The Licence Discovery Agent queries Microsoft 365 via its admin API and retrieves the current list of active and disabled user accounts along with all assigned licence seats.
Licence Discovery Agent
Automated
3
The agent compares the live Microsoft 365 user list against the Notion licence register. It identifies any seat assigned to a deactivated user and any licence whose renewal falls within the next 60 days. Both categories are flagged as anomalies in Notion.
Licence Discovery Agent
Automated
4
If anomalies or upcoming renewals are found, the Renewal Coordination Agent takes over. If nothing is flagged, the process skips to step 8 and the digest is still sent to confirm a clean run.
Automation
Automated
5
For each flagged renewal, the Renewal Coordination Agent sends a structured Slack message to the nominated tool owner asking them to confirm whether the licence should be renewed at its current seat count, reduced, or cancelled.
Renewal Coordination Agent
Automated
6
Responses from tool owners are received via Slack or a linked response form. The Renewal Coordination Agent captures each decision and writes it back to the relevant subscription record in the Notion licence register.
Renewal Coordination Agent
Automated
7
The Notion licence register is updated with each confirmed decision, including the new seat count, the confirmed renewal or cancellation status, and the next scheduled review date.
Renewal Coordination Agent
Automated
8
A consolidated finance note listing every licence to cancel or resize is posted to the relevant Xero contact or bill record so the finance team can adjust recurring payments without needing a separate email from the IT manager.
Renewal Coordination Agent
Automated
9
A daily digest is sent to the IT manager in Slack. It lists every renewal actioned, any tool owner alerts that have not yet received a response, and any user-licence mismatches identified that require manual deprovisioning.
Renewal Coordination Agent
Automated
10
The IT manager reviews the digest, acts on any exception items requiring a human decision, and manually removes confirmed inactive users from platforms where automated write access is not enabled. This is the only step that requires your direct involvement.
IT Manager
Human
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations
03Handling exceptions
Situation
What the system does
What you do
A licence record in Notion is missing a renewal date or tool owner field
The Licence Discovery Agent flags the record as incomplete in Notion and includes it in the daily digest under a separate incomplete records section. The record is not sent for owner outreach until the gap is filled.
Open the flagged Notion record and add the missing renewal date or assign an owner. The system will pick it up on the next daily run.
A duplicate subscription entry appears in the Notion register for the same tool
The agent detects matching tool names with overlapping seat counts and flags both records in Notion as a possible duplicate. Both appear in the digest with a note asking for confirmation before any action is taken.
Review both records in Notion and delete or merge the duplicate. If the duplication reflects two real contracts for the same tool, add a distinguishing label so the system can treat them separately.
A tool owner cannot be found or does not exist in the Slack workspace
The Renewal Coordination Agent cannot deliver the Slack alert to an unrecognised user. The renewal is escalated directly to the IT manager in the digest and flagged as uncontactable owner.
Confirm the correct owner and update the tool record in Notion with a valid Slack handle. You will need to reach the owner directly for this renewal cycle and record their decision manually in Notion.
A tool owner does not respond to the renewal alert within the configured response window
The system does not send automated chaser messages on its own. The unresponded alert remains visible in each daily digest as a pending item so it stays on your radar without the system acting unilaterally.
Follow up with the tool owner directly via Slack or email. Once a decision is reached, log it in the Notion record yourself. The system will pick up the updated status on the next run.
Microsoft 365 or Notion is temporarily unavailable when the daily trigger fires
The automation platform retries the connection up to three times with a short delay between attempts. If all retries fail, a failure alert is sent to the IT manager via Slack and the day's audit is skipped rather than run on partial data.
Check the tool status pages for Microsoft 365 and Notion. If both are back online, you can trigger a manual re-run or wait for the next scheduled run at 7 AM the following day. No action is needed in Notion or Xero for a single missed run.
Xero is unavailable when the finance note is due to be posted
The Renewal Coordination Agent retries the Xero connection twice. If posting fails, the finance summary is held in a pending state and the IT manager is notified in the daily digest that the Xero update did not complete.
Forward the pending finance summary from your digest to the finance manager directly so they can update Xero manually. Once Xero is back online, the next successful run will post any new changes, but the manual summary covers the gap for this cycle.
04Who to contact and when
Fill in the team rows below once your contacts are confirmed. Keep this table updated whenever roles change so the right person is reached immediately if an issue arises outside normal digest hours.
Role
Name
How to reach them
IT Manager (process owner)
Jordan Blake
[Rep email]
Operations Lead
Priya Mehta
[Rep email]
Finance Manager
Sam Okafor
[Rep email]
Tool owner contacts
[Your name]
Via Slack (primary) or email as fallback
FullSpec builder
FullSpec team
support@gofullspec.com
FullSpec support
FullSpec support desk
support@gofullspec.com
Contact FullSpec at support@gofullspec.com if the automation stops producing daily digests, if a Slack alert is being sent to the wrong person, or if you need to add a new tool to the register that requires a configuration change rather than just a Notion entry.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations
05Ongoing maintenance
Whenever a new SaaS tool is added to the business
Add a new record to the Notion licence register with the tool name, owner, renewal date, seat count, and billing contact. Tools with accessible APIs can be flagged for FullSpec to connect; tools without APIs are tracked manually in the register.
IT Manager
Whenever a Slack alert template needs updating (wording, response options, or escalation path)
Contact FullSpec at support@gofullspec.com with the change required. Do not edit the alert template directly in the automation platform as this can break the response capture logic.
IT Manager, with FullSpec
Monthly spot-check
Open the Notion licence register and confirm that the seat counts and renewal dates visible there match what you see in the Microsoft 365 admin portal and any manually tracked tools. Flag any discrepancies to FullSpec if the source of the mismatch is not obvious.
IT Manager
Monthly error-log review
Check the automation platform error log or the failed-run section of the Slack digest for any runs that did not complete successfully in the past month. A pattern of retries on the same tool usually indicates a credential or API limit issue.
IT Manager
Whenever a team member leaves or changes role
Update the tool owner field in any Notion records assigned to the departing person. If the departing person is the IT manager or process owner, notify FullSpec so the Slack digest recipient and escalation routing can be updated.
IT Manager or Operations Lead
Quarterly volume review
Review the number of licences tracked and the renewal volume over the past quarter. If the business has grown significantly, confirm that the automation platform plan in use supports the increased run volume without hitting rate limits or usage caps.
IT Manager, with FullSpec if needed
The most common maintenance issue for this process is a stale tool owner field in the Notion register. When someone leaves or changes role and their Notion records are not updated, renewal alerts are routed to an inactive Slack user and sit unactioned until the IT manager spots the pending item in the digest. Review and update owner assignments whenever there is a team change, not just at the quarterly review.
Process Runbook / SOPPage 4 of 4