Scanning
Run scans to discover and inventory your Power Platform assets.
Scans discover and inventory your Power Platform assets. When you run a scan, Velnoro queries your platform APIs, catalogs every app, flow, and agent, and calculates health scores for governance insights.
Prerequisites
- Account role: Owner or Admin (members with the "Manage" permission)
- At least one active connection (see Platform Connections)
- Connection must show "Connected" or "Authorized" status. See the Permissions Reference if you need to verify your access.
- Your tenant must be within your plan's asset limit (200 assets for Free/Trial, 2,000 for Business)
Getting Started
- Navigate to Connections in the Manage section of the sidebar
- Find the connection you want to scan
- Click Run Scan on the connection card
- The scan starts in the background. You'll see a progress banner on the dashboard.
- When complete, your dashboard populates with the discovered assets
A first scan typically takes 1-3 minutes depending on the size of your tenant. Larger tenants with thousands of assets may take longer due to API pagination.
Key Concepts
- Scan: A point-in-time snapshot of your platform's assets. Each scan creates a new inventory record with timestamps, asset counts, and metadata.
- Asset: Any Power Platform resource: canvas apps, model-driven apps, cloud flows, agent flows, and Copilot Studio agents.
- Metadata only: Velnoro collects asset names, types, owners, creation dates, environments, and status. It never reads flow definitions, app source code, business data, or chat content.
- Health scoring: After a scan completes, Velnoro calculates a health score for each asset based on maintenance patterns, ownership status, and risk indicators.
- Owner enrichment: If your Microsoft connection has
User.Read.Allpermission, Velnoro enriches asset owner data with department, job title, and manager information from Entra ID after the scan completes.
What Gets Scanned
Microsoft Power Platform
| Resource Type | What Velnoro Sees |
|---|---|
| Canvas Apps | Name, owner, environment, creation date, last modified |
| Model-Driven Apps | Name, owner, environment, creation date |
| Code Apps | Name, owner, environment, creation date |
| Cloud Flows | Name, owner, environment, creation date, last modified |
| Agent Flows | Name, owner, environment, creation date |
| Copilot Studio Agents | Name, owner, environment, creation date |
| Environments | Name, type (Production/Sandbox/Developer/Default), region, managed status |
Common Tasks
Viewing Scan History
Navigate to Scans in the Manage section to see a table of all past scans with:
- Status: Pending, Running, Completed, or Failed
- Platform: Which connection was scanned
- Started/Completed: Timestamps
- Asset Count: Number of assets discovered
Click any completed or failed scan row to open the Scan Detail page, which shows full metadata, asset breakdown by type, and a diff summary comparing changes from the previous scan.
Scan Detail View
The scan detail page provides a deep dive into a single scan:
- Metadata card: Platform, trigger type (manual or scheduled), start time, duration, and status
- Summary cards: Environment count, total assets discovered, and asset type breakdown
- Diff summary: If a previous scan exists, shows how many assets were added, modified, or removed since the last scan
- Asset table: Searchable and filterable table of all discovered assets, with health scores and environment context
Exporting Scan Data
You can export scan results as a CSV file from two places:
- From a scan detail page: Click Export CSV above the asset table to download all assets from that scan
- From the Governance Assets page: Click Export CSV in the toolbar to download the current governance review data
Exported CSVs include asset name, type, environment, owner, health score, and other governance fields.
Understanding Scan Statuses
| Status | Meaning |
|---|---|
| Pending | Scan is queued and will start shortly |
| Running | Scan is actively querying your platform APIs |
| Completed | Scan finished successfully; dashboard is updated |
| Failed | Scan encountered an error; see the error details for the cause |
What Happens After a Scan
- Dashboard updates with the latest asset inventory, charts, and metrics
- Health scores are calculated for each discovered asset
- Owner enrichment runs (if Graph
User.Read.Allis configured) to pull department and role data - Governance flags are computed: orphaned assets (no active owner), stale assets (no recent modifications), and AI-enabled assets
Scheduled Scans
You can set up automatic scanning on a schedule:
- Navigate to Connections
- Find the connection card for the connection you want to schedule
- Toggle the Scheduled Scan switch to enable it
- Choose a cadence: Daily, Weekly, Biweekly, or Monthly
Scheduled scans run automatically at the configured interval. The dashboard always shows data from the most recent completed scan.
You can also see a summary of all scheduled connections on the Scans page, including cadence and estimated next scan time.
Running Manual Scans
You can also trigger scans manually at any time by clicking Run Scan on a connection card. Each scan captures the current state of your platform.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Scan stays in "Pending" for more than 5 minutes | Background job queue delay | Wait a few more minutes. If it persists, check the connection status and try again. |
| Scan fails with "Needs Reauth" | Power Platform refresh token expired | Re-authorize the connection (see Connectors guide) |
| Scan fails with "Tenant size exceeds plan limit" | Your tenant has more assets than your plan allows | Upgrade to Business tier for up to 2,000 assets |
| Scan shows 0 assets | Admin who authorized lacks Power Platform Admin role | Verify the authorizing admin has the Power Platform Administrator role |
| Scan completed but dashboard is empty | Browser cache showing stale data | Refresh the page. The dashboard loads from the latest completed scan. |
| "Rate limit exceeded" error | Too many scan requests in a short period | Wait 60 seconds and try again. Scans are rate-limited to 5 per minute. |
| Scan stuck in "Running" for over 60 minutes | Rare pipeline issue; automatic recovery should resolve it | Stale scans are automatically recovered. If it persists for over an hour, contact support. |
FAQ
Q: How often should I scan? It depends on how frequently your organization creates and modifies Power Platform assets. Weekly scans are a good starting point. Organizations with active citizen development programs may benefit from daily scans. Use scheduled scans to automate this - toggle the schedule on any connection card.
Q: Does scanning affect my Microsoft tenant performance? No. Velnoro uses the Power Platform Inventory API, which is designed for admin reporting. A typical scan makes only a few API calls and is well within normal API usage.
Q: What data does Velnoro store from a scan? Asset metadata only: names, types, owners, environments, creation dates, and status. Velnoro never stores flow definitions, app source code, connector configurations, business data, or chat content.
Q: Can I scan a specific environment instead of the whole tenant? Not currently. Scans cover all environments visible to the authorized admin. Environment-level filtering is on the roadmap.
Q: How long is scan data retained? Scan data is retained for 30 days on the free tier and 365 days on the Business tier. A daily background job automatically removes expired scans. Credential data is retained as long as the connection exists. You can delete your account (and all associated data) from Team Settings at any time.
Q: Can two scans run at the same time for the same connection? No. Velnoro prevents duplicate scans. If a scan is already running or pending for a connection, a new scan request will be blocked until the current one completes or fails.