> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/software-management/managing-software-applications.md).

# Managing Software Applications

{% hint style="info" %}
**Path:** `/software`
{% endhint %}

### Understanding Software Management

The Software area shows applications discovered from your integrations (e.g., Okta, Microsoft Entra, NinjaOne) as well as applications you add manually. Open **Software** from the sidebar to view the list at `/software`. Applications are synced from your identity provider or MDM; you manage their status, licenses, user access, contracts, and custom fields in Harmony.

#### Navigating the Software List

The Software page displays a data table with sortable columns. Click a row to open that application's detail page. Use the toolbar for search, filters, refresh, export, and bulk actions. The table supports pagination with configurable page size.

At the top of the Applications page, a row of insight widgets gives you an at-a-glance summary of your SaaS portfolio's health. See [Application Insight Widgets](#application-insight-widgets) for details.

The **Users** column has been renamed to **Connected Users**. Where a direct integration exists, it displays the format `connected/licensed users` with an info icon tooltip for context.

![Software list with toolbar and filters](/files/IKRa0DGJskptunl59BfV)

#### Adding New Software

Software applications are discovered automatically from your integrations (Okta, Microsoft Entra, NinjaOne, and other MDM providers). You can also manually create applications that are not auto-detected. Click the **Add manual application** button on the Applications page to create one. Manually added applications are visually distinguished from discovered apps with a clear badge, and you can filter by source to view only manual applications.

#### Viewing Software Details

Click an application row to open its detail page at `/software/$appId` (or `/software/v2/$appId`). The page shows the header (name, icon, status, monthly cost, detected logins, end of contract), overview (description, category, vendor, source, stakeholders), licenses table, users table, contracts, compliance certifications, custom fields, and activity history.

![Application detail page with Licenses and users](/files/ydW3m64rBAsiRLu38ZHI)

#### Understanding Application Types

Applications have a **category** (e.g., Communication, Productivity, Security) from your integration. Use the category filter in the list to narrow results. Applications also have a **source** (Okta, Microsoft Entra, NinjaOne, etc.) and **vendor**.

#### Updating Software Status

On the application detail page, use the status dropdown in the header to change status. In the list, select one or more applications and use **Change status** in the bulk actions toolbar. Available statuses: Discovered, Under review, Approved, Rejected, Ignored, Retired.

#### Filtering Software by Status

Use the filter popover to filter by status. By default, the view may show Discovered and Approved. Select one or more statuses; filters combine with AND logic.

#### Searching for Software

Use the **Search** input in the toolbar. Search matches application names. Results update as you type (debounced). Search is combined with active filters.

#### Sorting Software Lists

Click column headers to sort. Supported sort fields include total users, monthly cost, end of contract, application name, custom field columns, and others. Toggle between ascending and descending.

#### Understanding Software Status

| Status           | Description                      |
| ---------------- | -------------------------------- |
| **Discovered**   | Newly detected, not yet reviewed |
| **Under review** | Pending approval decision        |
| **Approved**     | Approved for use                 |
| **Rejected**     | Rejected for use                 |
| **Ignored**      | Excluded from tracking           |
| **Retired**      | No longer in use                 |

#### Application Insight Widgets

A row of insight widgets appears at the top of the Applications, Instances, and Users pages, giving you an immediate summary of your SaaS portfolio's health. Available widgets include:

* **Inactive Apps / Instances** - apps or instances with no logins from any user in the last 90 days (requires at least 1 week of data; partial-data periods are labelled accordingly)
* **Shadow Apps** - apps detected on endpoints that have no corresponding identity provider login activity
* Additional health and hygiene indicators surfaced automatically based on your connected data

Click any widget to filter the list to the relevant applications, so you can act on problem areas without manual filtering.

#### Live Application Health Status

You can see real-time health status for applications directly in your app catalog, powered by each app's public status page. Harmony automatically monitors over 600 supported applications and surfaces their current operational state so your team can instantly spot outages, degraded services, or maintenance windows without leaving the platform.

* **Color-coded health indicators** are displayed on each supported application: Operational (green), Under Maintenance (blue), Degraded Performance (yellow), Partial Outage (orange), and Major Outage (red)
* **Status page URL** is available on each application's detail page for quick reference
* **Filter by status** in the app catalog to quickly identify which applications are currently experiencing issues
* No manual configuration is required - Harmony polls status pages automatically

#### Multi-Instance App Visibility

When an application has more than one instance - such as separate Production and Development environments - it expands into a detailed list showing each instance individually. For each instance you can see:

* **Instance name and custom label** (e.g., "Slack Production" tagged as Production, or "Slack Development" tagged as Staging/Development/Test)
* **Source identity provider** (Okta, Entra ID, etc.) and last sync date
* **Login URL** specific to that instance
* **User count** with a full breakdown available on the instance detail page

The Instances page also includes insight widgets at the top, consistent with the Applications page.

***

### Managing Software Licenses

#### Understanding Software Licenses

Licenses track seat counts, cost, billing cycle, and renewal dates for an application. Add licenses on the application detail page to record contract information. Monthly cost is derived from active licenses.

#### Adding Software Licenses

1. Open an application detail page.
2. In the **Licenses** section, click **Add license**.
3. Fill in: License type, Status, Seats (or Unlimited), Cost, Currency, Billing cycle, PO number (optional), Start date, Renewal date.

![Add license form with seats, cost, billing cycle](/files/Oje7erGLwaJHZ4XOS0UK)

4. Click **Add license** or **Save**.

#### Editing License Details

In the Licenses table, use the row actions menu and select **Edit**. Update any field and save. You can also delete licenses from the row actions menu.

#### Tracking License Expiration

The **Renewal date** and **Start date** are stored per license. Use the Licenses table to see expiration. Licenses can have status Active, Expired, Suspended, or Cancelled.

#### Viewing License Usage

The Licenses table shows **Seats** as used/total (e.g., 45/50 or 45/Unlimited). Usage data comes from your integration when available.

#### Understanding License Types

License type is a custom label (e.g., Enterprise, Professional, Standard). Enter the type that matches your contract. Billing cycle options include Monthly, Quarterly, and Yearly. Seats can be a fixed number or **Unlimited**.

***

### Managing App Permissions and User Access

#### Understanding App Permissions

App permissions control who has access to an application. User access is managed through your identity provider (e.g., Okta). Harmony shows users per application and, for Okta test tenants, supports provisioning and revoking access via workflows.

#### Assigning App Permissions to Users

For Okta test tenants: On the application detail page, in the **Users** section, click **Add** to open the Assign App Permissions dialog. Select an employee and confirm. The "Provision Application Access" workflow provisions access for that user across Okta instances. Refresh the page to see the updated user list.

#### Managing User Access to Applications

User access is controlled in your IdP (Okta, Microsoft Entra). Harmony displays detected users and their roles. For Okta test tenants, you can provision new access or revoke existing access from the application detail page.

#### Viewing Users Per Application

The **Users** section on the application detail page lists employees with access to the application. Columns include name, email, role, source, department, last login, license tier, and a 90-day usage trend sparkline. Use the toolbar to search, filter by source, role, status, employment status, license tier, or insight, and export users.

Usage trend sparklines render immediately for each user row, showing login activity over the past 90 days. Sorting by last login correctly places users who have never logged in at the bottom when sorting descending, and at the top when sorting ascending.

#### Richer Usage Insights Per User

Harmony automatically maps each user to a license tier (Paid, Free, or Unknown) based on data from your application inventory, sourced directly from the provider (e.g., Zoom's "licensed" or "basic" plan). You can filter and sort users by license tier to understand how seats are actually being used.

#### Revoking Access

For Okta test tenants: In the Users table, use the row actions menu and select **Revoke access**. Confirm the action. The "Revoke Application Access" workflow revokes access for that user. Refresh the page to see the updated list.

***

### Viewing Application Usage and Activity Trends

#### Active Users and Usage Trends in the Application Overview

The Application Overview surfaces the following usage breakdowns:

* **Active users by application** - the total number of distinct active users across all instances of an application
* **Active users by user in instance** - which individual users are active within a specific application instance
* **Usage trend by application** - login activity over time across all instances of an application
* **Usage trend by user in instance** - how individual users' activity has changed over time

This data is available directly within the Application Overview without navigating to a separate report.

#### Google SSO and SAML Login Data

Harmony unifies login data across both Google SSO and Google SAML authentication methods. All login activity, user counts, and trends account for both authentication types, with users deduplicated so no one is counted twice. The login trend column in the application table reflects activity across both SAML and SSO.

***

### Managing Contracts for Applications

#### Contracts Tab on Application Detail Pages

Each application detail page includes a dedicated **Contracts** tab. From here you can create, view, and manage all contracts associated with that application. Contracts support a rich set of attributes including:

* **Contract types** to categorize the nature of each agreement
* **Contract status** to track where each contract is in its lifecycle
* **Payment method** and **billing cycle** settings to reflect how and when payments are structured
* **Line items** for detailed cost breakdowns
* Additional structured fields with built-in validation

Use the sortable, filterable, paginated contracts table to browse contracts. Filters and sort order are synced to the URL so your view persists when you share a link or return to the page.

#### Cross-Application Contracts List

A cross-application contracts view shows enriched contract data across your entire software portfolio in one place, making it easy to review agreements without opening each application individually.

#### Renewal Management Tab

Within the Contracts section, a dedicated **Renewal Management** tab gives you a complete view of upcoming software contract renewals and their associated costs. The tab includes:

* **Summary Widgets** - aggregated annual spend broken down by category and by vendor, plus a count of total contracts split by auto-renewal vs. manual renewal
* **12-Month Renewals Calendar** - a forward-looking calendar grouped by month, showing each month's renewal count and total value; expand any month to see individual contract details including contract name, vendor, and renewal date

***

### Managing Compliance Certifications

On each application's overview page, you can view and manage compliance certifications. Harmony pre-populates compliance data using an AI scan of each vendor's official website, giving you a head start without manual entry. You have full control to add, edit, or delete records to reflect your organization's actual posture.

Each compliance record supports:

* **Framework** - standard certifications such as ISO 27001, SOC 2, GDPR, HIPAA, PCI DSS, and more, each with its own identifying icon
* **Status** - Active or Expired, with color-coded card borders for quick visual identification

***

### Using Custom Fields for Applications

#### Understanding Custom Fields

You can add custom fields to applications to track any additional information that matters to your organization, keeping everything in one place. Custom fields for applications work the same way as they do for Employees and Assets.

#### Managing Custom Fields on Application Detail Pages

The application detail page includes a dedicated **Custom Fields** section where you can view, edit, add, and remove fields. Custom fields can be shared across all applications or specific to a single one.

#### Custom Fields in the Applications Table

Custom field columns appear alongside standard columns in the applications table, with full support for sorting and filtering - so you can slice your software inventory by any field you define.

***

### Viewing Application Activity History

A dedicated activity history is available for every application from its detail view. Click the history or activity option to open a slide-out timeline panel showing every change made to the application. Each entry displays:

* The exact UTC date and time of the change
* The actor who made the change (a user, integration, or Harmony automation)
* A plain-language summary of what happened
* The old and new values where applicable

The activity log tracks a wide range of change types including stakeholder additions and removals, status changes, field edits, contract updates, and more.

***

### Using Bulk Actions on Software

#### Selecting Multiple Software Items

In the Software list, use the checkboxes in the first column to select rows. Select individual applications or use the header checkbox to select all on the current page. Bulk actions apply only to the currently selected applications.

#### Bulk Updating Software Status

1. Select one or more applications.
2. Use the **Change status** combobox in the bulk actions toolbar.
3. Choose a status (Discovered, Under review, Approved, Rejected, Ignored, Retired).
4. The update applies to all selected applications.

#### Using Bulk Actions Toolbar

The bulk actions toolbar appears when you have selected applications. Available actions:

* **Change status** - Set application status for all selected apps.
* **Set owner** - Assign application owner(s) to selected apps. Supports partial selection (applies to apps that don't already have the owner).
* **Set budget approver** - Assign budget approver(s) to selected apps.
* **Set IT approver** - Assign IT approver(s) to selected apps.

![Software bulk actions toolbar with Change status](/files/d0mY62MtJgNNHXrDmugP)

***

### Exporting Software Data

#### Exporting Software to CSV

Click **Export** in the Software toolbar. The export uses the current filters, search, and sort settings. A CSV file downloads with a name like `harmony-software-export-YYYY-MM-DD.csv`. Export includes all applications that match the filters.

#### Exporting Application Users

On an application detail page, in the **Users** section, click **Export** (the download button) in the toolbar. A CSV downloads with users for that application. The export uses your currently active filters - including search, role, status, employment status, license tier, and insight - and sort order. For instance-level pages, the exported filename includes the instance name for easy identification.

#### Understanding Software Export Fields

The software CSV includes columns such as Application Name, Status, Source, Connected Users, Licenses, Monthly Cost, Category, Vendor, Application owner, Budget approver, IT approver, and others. Column visibility and order from the table are respected. Extra fields include Application ID, Total Seats, Used Seats, and Contract End Date when available. Custom field columns are also included where applicable.

#### Unauthorized Applications Report - Direct App Links

The Unauthorized Applications report CSV includes a **Link** column on each row. Clicking the link takes you directly to that application's page in your Harmony portal, replacing the previous workflow of copying an app name and searching for it manually.

#### Filtering Software for Export

Apply filters before exporting to limit which applications are included. Supported export filters: search, status, source, category, vendor. Sort order is also applied to the export.

***

### NinjaOne Application Data

Software and application data from NinjaOne is now fully supported as an application source in Harmony. Installed apps across your NinjaOne-managed devices are ingested, processed, and available in your application inventory alongside data from other MDM integrations. NinjaOne appears as a selectable source in filters, the same as other supported providers.

***

### Software Catalog Quality and Coverage

Harmony's software catalog is continuously improved to give you a cleaner, more accurate picture of the applications in use across your organization:

* **Expanded vendor coverage** - the catalog includes a broader set of recognized applications, vendor entries, and application icons, so more of the tools your team uses are automatically identified with accurate vendor attribution and up-to-date branding
* **Improved catalog matching** - approximately 70 low-quality entries (test apps, demo submissions, browser extensions, personal/consumer websites, and garbled display names) have been removed, and around 150 duplicate and variant entries for major vendors - including Adobe, Okta, Atlassian, Microsoft, Google, and others - have been consolidated
* **Contract continuity** - contracts associated with an application are correctly carried over when catalog entries are updated or reassigned, ensuring your contract data stays linked to the right application at all times

***

### Related Resources

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Managing People</strong></td><td>View employees and their assigned software</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/managing-people/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/managing-people/README.md</a></td></tr><tr><td><strong>Asset Views &#x26; Details</strong></td><td>View software on assets and related applications</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/managing-asset-views-and-details/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/managing-asset-views-and-details/README.md</a></td></tr><tr><td><strong>Asset &#x26; Automation Metrics</strong></td><td>Analyze software and automation metrics</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/analyzing-asset-and-automation-metrics/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/analyzing-asset-and-automation-metrics/README.md</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/software-management/managing-software-applications.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
