Back to Vendor & Subscription Renewal Tracking

Process Runbook / SOP

How the automation works day-to-day: what is automatic, what needs a human, how exceptions are handled, and who to contact.

4 pagesPDF · Operations
FS-DOC-03Operations

Process Runbook / SOP

Vendor & Subscription Renewal Tracking

[YourCompany.com] · IT Department · Prepared by FullSpec · [Today's Date]

This runbook is your day-to-day operating guide for the Vendor and Subscription Renewal Tracking automation. It tells you exactly what the system does on its own, where your team needs to act, how to handle problems when they arise, and how to keep the process healthy over time. FullSpec has built and configured everything described here. Your responsibility is limited to logging renewal decisions when prompted and approving Xero bills before payment.

01Process overview

Every day at 7:00 AM the automation reads your live subscription register in Google Sheets and checks every active contract row against the current date. Any contract falling inside the 60, 30, or 7-day alert windows is flagged by the Renewal Triage Agent, which categorises each renewal by urgency and checks whether a decision has already been recorded. If action is needed, the Stakeholder Notification Agent sends a Slack message directly to the contract owner and a Gmail summary to your finance contact listing all charges expected in the next 30 days. Once the contract owner logs a renew or cancel decision in the register, the Finance Record Agent creates a draft bill in Xero ready for finance approval. The register and the relevant Notion vendor page are updated automatically after each decision. Nothing is paid or cancelled without a human confirming it first.

Process name
Vendor & Subscription Renewal Tracking
Trigger
Scheduled daily run at 7:00 AM; also fires when a new subscription row is added to the Google Sheets register
Final output
Renewal decisions recorded in Google Sheets, Notion vendor pages updated, draft bills created in Xero for finance approval
Agents running
Renewal Triage Agent, Stakeholder Notification Agent, Finance Record Agent
Tools involved
Google Sheets, Slack, Gmail, Xero, Notion
Weekly volume
Approximately 35 active contracts monitored daily; roughly 280 automation runs per month
Human checkpoint
Contract owner logs renew or cancel decision in Google Sheets; Finance Officer approves draft bill in Xero before payment
Process owner
IT Manager (Jordan Wells)
Process Runbook / SOPPage 1 of 4
FS-DOC-03Operations

02Step-by-step: what happens and who acts

What you actually need to do: There is one human step in this entire process. When you receive a Slack alert for a contract renewal, open the Google Sheets register and log your decision as either 'Renew' or 'Cancel' in the Decision column for that row. The automation handles everything before and after that single entry. The Finance Officer has one separate step: reviewing and approving the draft bill that appears in Xero before any payment is processed.
Step
What happens
Who acts
Type
1
The automation platform fires its daily scheduled trigger at 7:00 AM and initiates the workflow.
Automation platform
Automated
2
The system reads every active row from the subscription register in Google Sheets, pulling renewal dates, contract owners, costs, and auto-renewal flags for every vendor tracked.
Automation platform
Automated
3
The Renewal Triage Agent reviews each contract record, identifies which contracts fall inside the 60, 30, or 7-day alert windows, checks whether a decision has already been logged for each, and categorises every flagged contract by urgency. It also raises an immediate flag if a notice period is shorter than the remaining time before the renewal date.
Renewal Triage Agent
Automated
4
If no contracts are within an active alert window, the workflow ends and restarts the following day. If contracts are flagged, the workflow continues to the notification step.
Automation platform
Automated
5
The Stakeholder Notification Agent sends a structured Slack message to the assigned contract owner for each flagged renewal. The message includes the vendor name, renewal date, annual cost, notice deadline, and a prompt to log a decision in the register.
Stakeholder Notification Agent
Automated
6
A formatted Gmail summary is sent to the finance contact listing every renewal due in the next 30 days, the expected charge for each, and a direct link to the live Google Sheets register for reference.
Stakeholder Notification Agent
Automated
7
The contract owner reviews the Slack alert, considers whether the tool or service should be kept, and enters 'Renew' or 'Cancel' in the Decision column for that contract row in Google Sheets. This is the only action your team takes in the normal flow. Target: within 2 business days of receiving the alert.
Contract owner (you or your team)
Human
8
Once a decision is written to the register, the automation reads the updated row and writes the decision, the decision date, and the actioning owner back to Google Sheets to confirm the record is complete.
Automation platform
Automated
9
The Notion vendor page for the contract is updated automatically with the new renewal date, the confirmed cost, and the decision taken, keeping your document store aligned with the live register.
Automation platform
Automated
10
For every confirmed renewal, the Finance Record Agent creates a draft bill in Xero pre-populated with the vendor name, amount, and due date. The bill is not submitted or paid. The Finance Officer reviews and approves it manually before any payment is processed.
Finance Record Agent, then Finance Officer
Human
Process Runbook / SOPPage 2 of 4
FS-DOC-03Operations

03Handling exceptions

Situation
What the system does
What you do
A contract row in Google Sheets is missing a renewal date, owner name, or cost
The Renewal Triage Agent skips the incomplete row and logs it in a separate 'Needs Review' tab in the register with a note explaining which field is missing. It does not send an alert for incomplete rows.
Open the Needs Review tab, find the flagged row, and fill in the missing information. Once the row is complete, the next daily run will pick it up automatically. Aim to clear incomplete rows within 24 hours of them appearing.
The same vendor appears as a duplicate row in the register (two rows for the same subscription)
The Renewal Triage Agent detects matching vendor names and renewal dates and flags both rows with a 'Duplicate Check' label in the Status column. It sends one alert, not two, and holds the Xero bill step until the duplicate is resolved.
Delete or merge the duplicate row in Google Sheets and update the remaining row with the correct details. Remove the 'Duplicate Check' label from the Status column. The automation will resume at the next daily run.
A vendor does not yet exist as a supplier contact in Xero when a renewal is confirmed
The Finance Record Agent attempts to create the draft bill and, if the supplier is not found in Xero, logs a 'Supplier Not Found' error in the register's Status column and sends a Slack message to the finance contact. The bill is not created until the supplier record exists.
Create the vendor as a new supplier contact in Xero manually, then update the Status cell in the register to 'Ready'. The Finance Record Agent will retry bill creation at the next daily run.
The contract owner does not log a decision within 5 business days of receiving the Slack alert
The Stakeholder Notification Agent sends a second Slack reminder to the contract owner and a copy to the IT Manager on day 5. If no decision is logged by day 7, an escalation message is sent to the Operations Lead (Chris Okafor) flagging the contract as overdue.
Log your decision in the register as soon as possible. If the delay is intentional (for example, waiting on a vendor call), add a note to the Notes column so the system does not escalate unnecessarily. You can suppress the escalation by entering 'Pending - [reason]' in the Decision column temporarily.
A vendor does not respond to a cancellation request before the notice deadline
The system has no visibility into vendor-side communications. It records the decision in the register and creates the Xero bill only for renewals. For cancellations, the Notion vendor page is updated with the decision date and a 'Cancellation Submitted' status.
Follow up directly with the vendor by email or phone. Document the contact attempt in the Notes column of the register row. If the vendor charges the card despite a submitted cancellation, flag this to finance so a dispute can be raised. Update the Status column to 'Disputed' so the row is visible in the next review.
Google Sheets, Xero, Slack, Gmail, or Notion is unavailable due to an outage
The automation platform retries the failed step automatically at 15-minute intervals for up to 2 hours. If the tool is still unavailable after 2 hours, the run is paused and a Slack message (or, if Slack is the affected tool, a Gmail alert) is sent to the IT Manager noting which step failed and which tool is down.
Check the status page of the affected tool for an outage update. No manual action is needed during a short outage as the system will resume automatically once the tool is back. For outages lasting more than 4 hours during a critical renewal window, log the decision directly in the register so it is not delayed. Contact FullSpec support at support@gofullspec.com if the automation does not resume within 1 business day of the tool recovering.
Process Runbook / SOPPage 3 of 4
FS-DOC-03Operations

04Who to contact and when

Fill in the rows marked with placeholders once your team is confirmed. Keep this table updated whenever a role changes hands, especially the contract owner and finance contact, as the automation routes Slack and Gmail alerts to the names and addresses stored in the register. If a contact changes and the register is not updated, alerts will go to the wrong person.

Role
Name
How to reach them
IT Manager (Process owner)
Jordan Wells
[Rep email]
Finance Officer (Xero approvals)
Priya Santos
[Rep email]
Operations Lead (Escalation contact)
Chris Okafor
[Rep email]
Additional contract owner (if applicable)
[Your name]
[Rep email]
FullSpec builder (build and configuration questions)
FullSpec Team
support@gofullspec.com
FullSpec support (errors, outages, unexpected behaviour)
FullSpec Support
support@gofullspec.com

05Ongoing maintenance

When
What to do
Who
Whenever a new subscription or vendor contract is added
Add the new contract as a row in the Google Sheets register immediately, including vendor name, renewal date, annual cost, contract owner, auto-renewal flag, and notice period. Do not wait until the renewal window approaches. Rows added without a renewal date will be skipped by the automation and logged in the Needs Review tab.
IT Manager
Whenever a Slack message template or Gmail summary format needs updating
Contact FullSpec at support@gofullspec.com with the requested change. Do not edit the automation workflow directly. Template changes affect how alerts are routed and formatted for all contracts, and an untested change can cause alerts to fail silently.
IT Manager, then FullSpec
Monthly spot-check (first Monday of each month)
Open the Google Sheets register and review the previous month's entries. Confirm that all renewals and cancellations actioned in the period have a logged decision, a decision date, and a completed Status. Check the Needs Review tab for any rows that have been sitting unresolved for more than 7 days.
IT Manager
Monthly error-log review (first Monday of each month)
The automation platform produces a daily run log. FullSpec will send a brief monthly summary of any failed runs, skipped steps, or repeated retries to the IT Manager's email. Review this report and flag anything unexpected to FullSpec support. Normal operation shows zero or near-zero failures per month.
IT Manager reviews; FullSpec investigates flagged items
Whenever a team member changes role or leaves
Update the contract owner field in every affected register row immediately. If the departing person was the named owner for multiple contracts, reassign each row before their last day. Update the contact table in this runbook. Notify FullSpec if the finance contact email address changes, as Gmail alerts are configured at the workflow level.
IT Manager, then FullSpec (if finance email changes)
Quarterly volume review (every 3 months)
Review the total number of active contracts in the register against the automation platform's usage logs. If the volume grows significantly beyond 35 active contracts, confirm that the current automation plan covers the additional run volume. Also review whether any alert thresholds (60, 30, or 7 days) need adjusting based on how the business has handled renewals in the quarter.
IT Manager and Operations Lead; contact FullSpec to adjust thresholds or plan limits
The most common maintenance issue for this process is a contract row being added to Google Sheets with an inconsistent column format, such as a date entered as text rather than a date value, or the owner name not matching the name used elsewhere in the register. When this happens the Renewal Triage Agent cannot read the row correctly and moves it to the Needs Review tab. Always use the register's data-validation dropdowns and date pickers when adding new rows rather than typing values freehand. If you are unsure of the correct format, contact FullSpec at support@gofullspec.com before adding the row.
Process Runbook / SOPPage 4 of 4

More documents for this process

Every document generated for Vendor & Subscription Renewal Tracking.

Launch Plan
Operations · Owner
View
ROI and Business Case
Finance · Owner
View
Developer Handover Pack
Technical · Developer
View
Integration and API Spec
Technical · Developer
View
Test and QA Plan
Quality · Developer
View