Back to Software Asset Management

SAM Automation Examples

Enterprise-grade automation patterns for software asset management workflows. Compliance monitoring, license harvesting, renewal management, and discovery integration designed for organizations managing significant software portfolios.

📖 35 min read ⚡ Automations v1.0 💎 Pro Tier

Automation Philosophy

  • Compliance first - every automation protects against audit exposure
  • Proactive alerts - notify before problems become critical
  • Cost optimization - identify savings opportunities continuously
  • Discovery integration - automate data flow from discovery tools

Compliance Position Calculation

Weekly Compliance Calculation

📅 Weekly - Sunday 02:00 🎯 Critical

Calculate compliance position for each tracked product on a scheduled basis.

Processing Logic:

For each tracked Software Product:

  1. Sum Entitlements:
objectType = "Entitlement" AND Product = "{ProductKey}" AND Status = "Active"

Calculate: SUM(Quantity) grouped by Metric

  1. Count Deployed (Per User):
objectType = "Installation" AND Product = "{ProductKey}" AND Status = "Active"

Count unique Device.Primary User

  1. Calculate Gap:
Gap = Deployed Quantity - Entitled Quantity
  1. Determine Status:
If Gap <= 0: "Compliant"
If Gap < 0 AND Gap < -20% of Entitled: "Over-Licensed"
If Gap > 0: "Under-Licensed"
If Cannot Calculate: "Unknown"

Under-Licensing Alert

Under-Licensing Detection

⚡ Real-time Trigger 🎯 Critical

Alert when compliance position changes to under-licensed.

Trigger:

Object updated - Compliance Position

Condition: "Compliance Status" = "Under-Licensed" AND Status = "Current"

Notification Tiers:

Exposure Recipients
< $10,000 SAM Analyst
$10,000 - $100,000 SAM Manager, Procurement Lead
> $100,000 SAM Manager, Procurement Lead, Finance Controller

Email Template:

License Harvesting

Unused Installation Detection

📅 Weekly - Monday 06:00 🎯 High

Identify installations with no recent usage for license reclamation.

Query:

objectType = "Installation" AND Status = "Active" AND "Last Used" < now(-90d) AND "Last Used" IS NOT EMPTY

Actions:

  1. Update Installation Status from "Active" to "Unused"
  2. Group results by Product, count harvesting candidates
  3. Calculate potential savings (count x Unit Cost)
  4. Send harvesting report to SAM Manager

Email Template:

Renewal Management

Agreement Expiration Tracking

📅 Daily - 08:00 🎯 High

Track agreement expirations and trigger renewal workflows.

Query - Agreements expiring in 180 days:

objectType = "License Agreement" AND Status = "Active" AND "End Date" < now(180d) AND "End Date" > now()

Processing Logic:

  1. Check if Renewal record exists for agreement
  2. If no Renewal exists, create one with Due Date = End Date - 90 days
  3. Update Agreement Status to "Expiring" when <= 90 days

Notification Schedule:

Days Before Due Recipients Message
120 days Renewal Owner Initial renewal planning notice
90 days Renewal Owner, SAM Manager Renewal analysis should begin
60 days + Procurement Lead Active negotiation should start
30 days + Finance Controller Escalation - decision imminent
14 days All + CFO Critical - decision required

User Termination Reclamation

Automatic License Reclamation

⚡ Real-time Trigger 🎯 High

Automatically reclaim licenses when users are terminated.

Trigger:

Object updated - User - Status changed to "Terminated"

Actions:

  1. Query user's assigned licenses:
objectType = "Installation" AND Device."Primary User" = "{{object.Key}}" AND Status = "Active"
  1. Update each Installation Status to "Uninstalled"
  2. Add Notes: "Auto-reclaimed due to user termination"
  3. Recalculate compliance positions for affected products
  4. Send reclamation summary

Email Template:

Over-Licensing Optimization

Monthly Optimization Report

📅 Monthly - First Monday 08:00 🎯 Medium

Identify cost optimization opportunities from over-licensing.

Query:

objectType = "Compliance Position" AND "Compliance Status" = "Over-Licensed" AND Status = "Current"

Actions:

  1. For each over-licensed position, calculate waste: |Gap| x Unit Cost
  2. Total annual waste potential
  3. Generate optimization report
  4. Send to SAM Manager and Procurement Lead

Email Template:

Automation Schedule Summary

Daily Automations

Automation Time Priority
Agreement Expiration Tracking 08:00 High
Discovery Import Monitoring 06:00 Medium

Weekly Automations

Automation Day/Time Priority
Compliance Position Calculation Sunday 02:00 Critical
Unused Installation Detection Monday 06:00 High
Product Normalization Review Monday 08:00 Medium

Real-Time Automations

Automation Trigger Priority
Under-Licensing Alert Compliance Status = Under-Licensed Critical
User Termination Reclamation User Status = Terminated High
Device Retirement Cleanup Device Status = Retired Medium