> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Tenant Provisioning

> Manage tenant provisioning requests, track their status, and initiate new organization provisioning workflows.

The Tenant Provisioning page is an administrative dashboard for managing tenant provisioning requests, including creating new requests, tracking status, and viewing request details. It is reached at `/admin/provisioning`.

## Overview

The page is wrapped in a `PermissionGate` for `platform.provisioning.view`. It shows a filterable data table of provisioning requests with columns for request details, template name, completed date, and status badge. The status filter tabs are: All / Pending / Processing / Completed / Failed.

Clicking a row opens `ProvisioningRequestDetailSheet` for a full request view. The **New Request** button (requires `platform.provisioning.create`) opens `NewProvisioningRequestDialog`.

Email fields in the component are masked via `maskEmail` before display.

<Frame caption="Tenant Provisioning dashboard — the filterable provisioning-request list with status tabs.">
  <img src="https://mintcdn.com/encoreos/FHgwdEuPbyKq-W7P/images/pf/pf-50-provisioning-dashboard.png?fit=max&auto=format&n=FHgwdEuPbyKq-W7P&q=85&s=ac0862a153b8baf38c361dc3c1caff98" alt="Tenant Provisioning dashboard" width="1440" height="1095" data-path="images/pf/pf-50-provisioning-dashboard.png" />
</Frame>

The **New Request** button opens `NewProvisioningRequestDialog`, where you pick a template and (for a state-aware template) preview the jurisdiction bundle it will apply.

<Frame caption="New Provisioning Request dialog — the base request form before a template is selected.">
  <img src="https://mintcdn.com/encoreos/FHgwdEuPbyKq-W7P/images/pf/pf-50-new-request-dialog.png?fit=max&auto=format&n=FHgwdEuPbyKq-W7P&q=85&s=db31b6fbb8fa0adf5b4332240b4b93ba" alt="New Provisioning Request dialog" width="1440" height="1095" data-path="images/pf/pf-50-new-request-dialog.png" />
</Frame>

<Frame caption="Selecting an Arizona state-aware template surfaces the bundle preview — the jurisdiction profile, seed packs, and baseline settings the template will apply.">
  <img src="https://mintcdn.com/encoreos/9uGfYOeeHogjmoRk/images/pf/pf-50-new-request-bundle-preview.png?fit=max&auto=format&n=9uGfYOeeHogjmoRk&q=85&s=a76f79ac8a80b7d90fcc626736a1dc2b" alt="New-request jurisdiction bundle preview" width="1440" height="1095" data-path="images/pf/pf-50-new-request-bundle-preview.png" />
</Frame>

## Who it's for

Requires `platform.provisioning.view` (route guard and `PermissionGate`). Creating requests additionally requires `platform.provisioning.create`.

## Before you start

* Provisioning templates should exist at `/admin/provisioning/templates` before creating requests.
* Your account must have `platform.provisioning.view` to access this page.

## Steps

1. Navigate to **Admin → Provisioning** (`/admin/provisioning`).
2. Use the status tabs to filter requests.
3. Click a row to view full request details.
4. Click **New Request** to initiate a new tenant provisioning workflow.

## Key concepts

**Provisioning request** — a workflow record tracking the creation and configuration of a new organization tenant.

**Template** — a provisioning template pre-configures settings for new tenants (managed at `/admin/provisioning/templates`).

## Customize modules for a single request

When you pick a template in the **New Provisioning Request** dialog, an optional **Customize modules** section (per-request module overrides) lets you override that template's module on/off state and a few scalar settings for **this request only**. Controls are seeded from the template's effective defaults, and **only values you change** are sent as overrides — leave everything untouched and provisioning uses pure template defaults.

<Frame caption="New Provisioning Request dialog with a template selected — the optional “Customize modules” section (collapsed, marked Optional) lets you override the template's module defaults for just this request.">
  <img src="https://mintcdn.com/encoreos/FHgwdEuPbyKq-W7P/images/pf/pf-50-provisioning-dialog.png?fit=max&auto=format&n=FHgwdEuPbyKq-W7P&q=85&s=cf4f079cdafba36ca6f4f887b1524bd9" alt="New Provisioning Request dialog with the Customize modules section collapsed" width="1440" height="900" data-path="images/pf/pf-50-provisioning-dialog.png" />
</Frame>

### Enabled modules and advanced settings

Expanding **Customize modules** reveals the **Enabled modules** checkbox group and, behind **Show advanced settings**, scalar inputs such as *Default page size*. A “N changed” badge counts overrides, and **Reset to template defaults** clears them.

<Frame caption="Expanding “Customize modules” reveals the “Enabled modules” checkbox group plus “Show advanced settings” scalar inputs such as Default page size — only values changed from the template are sent as overrides.">
  <img src="https://mintcdn.com/encoreos/FHgwdEuPbyKq-W7P/images/pf/pf-50-provisioning-module-overrides.png?fit=max&auto=format&n=FHgwdEuPbyKq-W7P&q=85&s=12154cb30a319475a4d0e707e0039a89" alt="Expanded Customize modules section showing the enabled-modules checkboxes and advanced scalar number inputs" width="1440" height="900" data-path="images/pf/pf-50-provisioning-module-overrides.png" />
</Frame>

## Related

<Columns cols={2}>
  <Card title="Platform Foundation" icon="layer-group" href="/pf/overview">
    Platform Foundation overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index" />
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/platform.tsx
  * src/platform/provisioning/pages/ProvisioningDashboardPage.tsx
  * src/platform/provisioning/components/NewProvisioningRequestDialog.tsx
</Accordion>
