How License Genie works

This page explains how the License Genie approval and downgrade processes work, and describes the project's folder structure.

How approvals work

The scheduler creates entries in the License Optimization Events data table on a cadence you configure. The approval workflow triggers for each new entry. The workflow includes two skills: single user approval for individual requests, and bulk approval for processing multiple escalated requests at once. Both skills require explicit user confirmation before an action is taken.

Flowchart showing the License Genie approval escalation path from user to manager to admin, with outcomes for approvals, rejections, timeouts, and disabled tiersLicense Genie approval workflow

Single user approval

Single user approval handles individual license optimization requests for a given user:

  • If the user rejects, the request escalates to their manager if enabled, or to an admin otherwise.
  • If admin approval is also disabled, the user's decision is final.
  • If user approval is also disabled, the default action is applied.

Bulk approval

Bulk approval lets managers or admins handle all escalated requests in a single interaction rather than one at a time. A manager receives all pending approvals for their direct reports at once.

Both skills use the License Optimization Approvals data table as a shared audit trail, tracking status, assignee, event ID, and rejection reasons across every decision.

How downgrades work

The downgrade process follows four stages: detection, recommendation, approval, and execution.

Detection

License Genie periodically analyzes usage data for licensed users in an application. It compares each user's activity against their current license tier to identify underutilizing users.

Recommendation

License Genie evaluates each detected user against the Application License Inventory and License Optimization Events data tables, which together provide available tiers, their hierarchy, and SSO group IDs. License Genie produces a list of eligible downgrade options for each user, showing the applicable lower tier than the tier currently assigned to them. FUNC | License Downgrade Recommendation Engine determines the appropriate target tier based on the configured hierarchy and rank.

Approval

Each recommendation enters the approval workflow described in How approvals work. Execution begins after an approver confirms the downgrade.

Execution

License Genie updates the user's license assignment after approval by modifying their SSO group membership. It removes the user from the current tier group and adds them to the approved target tier group. Both group IDs are sourced from the Application License Inventory data table. Apps that support provisioning through their own API without requiring SSO use that path instead.

Folder structure

The License Genie project is organized into four top-level folders that separate platform-managed assets from customer-owned customizations:

  • Config: Connections and metadata required to run License Genie.
  • Core: Foundational skills maintained by Workato. These cannot be modified or cloned.
  • Extensions: Additional app skills maintained by Workato and updated during release cycles. You can use these as-is or as a reference when building custom integrations.
  • Custom Extensions: Your customizations. Any cloned or newly developed skills belong here and are preserved across updates and upgrades.
View folder structure
text
Agentic | License Genie
├── Config
│   ├── Connections
│   └── Metadata
├── Core
│   ├── Agent Orchestration
│   ├── Approval Workflow
│   │   └── Functions
│   ├── Apps to Optimize
│   │   ├── Gong
│   │   ├── Microsoft Entra ID
│   │   ├── Okta
│   │   ├── Salesforce
│   │   └── Zoom
│   ├── Functions
│   ├── Reports
│   ├── Scheduler
│   └── User Feedback
├── Custom Extensions
│   ├── App Events
│   ├── Apps to Optimize Custom
│   │   └── [App Name]
│   └── Functions Custom
└── Extensions
    ├── Apps to Optimize Extensions
    │   ├── Concur
    │   ├── Coupa
    │   ├── Manual
    │   └── Outreach
    ├── Contract License Data
    ├── Entra ID License Data
    ├── Knowledge Ingestion
    ├── Runtime Data
    └── Salesforce License Data

Working with Extensions and Custom Extensions

You can activate Extension skills and add them to your Genie configuration as-is, or clone them into Custom Extensions to customize them or build support for apps not already in the Extensions folder.

Customizations you make in Custom Extensions are isolated from platform updates and remain intact across upgrades. Core skills are not available for cloning or modification.

Last updated: