> ## 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.

# Staffing Agencies

> Manage staffing agency relationships, contact details, markup percentages, and active/inactive status for contingent workforce sourcing.

The Staffing Agencies page lists all configured staffing agency records and provides create/edit dialogs for users with the `hr.contractor.manage` permission. It is served at route `/hr/contractors/agencies`.

## Overview

The page renders agency cards in a responsive grid showing agency name, contact name, email, phone, standard markup percentage, and active/inactive status. Users with `hr.contractor.manage` can add new agencies or edit existing ones via a dialog form. An "Show Inactive" toggle filters the list to include deactivated records.

This page is part of the HR-34 Contractor & Contingent Workforce Management feature.

## Who it's for

Permission check: `useHasPermission('hr.contractor.manage')` — write operations (add, edit) are gated; read access is available to any authenticated user who can reach this route. No top-level `RequirePermission` guard wraps the route in `hr.tsx`.

## Before you start

* At least one staffing agency record must exist before it can be linked to a contractor.
* Only users with `hr.contractor.manage` can create or modify agency records.

## Steps

**View agencies**

1. Navigate to **HR > Contractors > Agencies** or go to `/hr/contractors/agencies`.
2. Use the **Show Inactive** toggle to include deactivated agencies in the list.

**Add an agency** (requires `hr.contractor.manage`)

1. Click **Add Agency**.
2. Complete the agency form (name, contact details, markup percentage).
3. Save to create the record.

**Edit an agency** (requires `hr.contractor.manage`)

1. Click any agency card to open the edit dialog.
2. Update fields as needed and save.

## Key concepts

| Term              | Meaning                                                                                   |
| ----------------- | ----------------------------------------------------------------------------------------- |
| Standard Markup % | Configured markup percentage stored on the agency record. SME: confirm calculation basis. |
| Active / Inactive | Status badge on each card; inactive agencies are hidden by default.                       |

## Related

<Columns cols={2}>
  <Card title="Human Resources" icon="users" href="/hr/overview">
    Human Resources core 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/hr.tsx
  * src/cores/hr/pages/StaffingAgenciesPage.tsx
  * src/cores/hr/hooks/contractors/useStaffingAgenciesList.ts
</Accordion>
