# uip insights filter-processes

> Syntax and options for `uip insights filter-processes`, which discovers processes with recent Insights activity for use with --process-name filters.

`uip insights filter-processes` discovers processes that have had Insights activity recently, restricted to folders the current caller can access. Use it to find the `--process-name` values that [jobs](./uip-insights-jobs.md) accepts.

:::note
"Recent" is a fixed **30-day** window set by the backend — it cannot be changed with a flag. This route is also feature-gated to Cloud and Dedicated SaaS deployments; on other deployment types the command fails with a `ConfigError` rather than an empty result.
:::

## Synopsis

```text
uip insights filter-processes list [-l <n>] [-o <n>]
```

This verb honors the [global options](./global-options.md) and the standard [exit codes](./exit-codes.md). It does not accept `-t, --tenant` — it uses the tenant selected during `uip login`.

## uip insights filter-processes list

List processes with Insights activity in the backend's fixed 30-day window.

### Options

| Flag | Description |
|---|---|
| `-l, --limit <number>` | Maximum rows to return. Defaults to `50`. |
| `-o, --offset <number>` | Rows to skip before returning results. |

Rows are deduplicated and sorted after fetching — the backend returns one entry per underlying job run, not one per distinct process, so pagination is over the distinct set. Pagination itself is client-side, over the full unpaginated backend response.

### Example

```bash
uip insights filter-processes list
```

### Data shape

```json
{
  "Code": "InsightsFilterProcessesList",
  "Data": [
    {
      "processName": "Invoicing",
      "folderKey": "f0f0f0f0-0000-0000-0000-000000000001"
    }
  ],
  "Pagination": { "Returned": 1, "Limit": 50, "Offset": 0, "Total": 1, "HasMore": false }
}
```

The backend also returns process key, version, and project key data, but only `processName` and `folderKey` are guaranteed aligned across rows and are emitted — the other fields skip null entries in the backend response and can lose row alignment, so they're deliberately not included. An empty `Data` array means no matching activity in the 30-day window — it is not proof the process doesn't exist.

## Related

- [jobs](./uip-insights-jobs.md) — accepts `--process-name` values discovered here.
- [filter-folders](./uip-insights-filter-folders.md), [filter-machines](./uip-insights-filter-machines.md), [filter-queues](./uip-insights-filter-queues.md) — sibling discovery commands.

## See also

- [Insights overview](./uip-insights.md)
