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

# Custom KPI Tools

> MCP tools for querying custom KPI datasets, campaigns, and assignments

# Custom KPI Tools

Query Custom KPI data — datasets, individual KPI definitions, data collection campaigns, submitted values, and facility assignments.

## `list_custom_kpis`

List Custom KPI definitions for an organization, optionally filtered by facility or dataset.

**Parameters:**

| Parameter         | Type   | Required | Description                                 |
| ----------------- | ------ | -------- | ------------------------------------------- |
| `organization_id` | string | No       | Organization UUID (uses default if not set) |
| `facility_id`     | string | No       | Filter KPIs assigned to a specific facility |
| `dataset_id`      | string | No       | Filter KPIs from a specific dataset         |

**Example prompt:** "List the Custom KPIs assigned to this facility"

***

## `get_custom_kpi`

Get one Custom KPI definition with its dataset context.

**Parameters:**

| Parameter         | Type   | Required | Description                                 |
| ----------------- | ------ | -------- | ------------------------------------------- |
| `dataset_id`      | string | **Yes**  | UUID of the KPI dataset                     |
| `kpi_id`          | string | **Yes**  | UUID of the KPI                             |
| `organization_id` | string | No       | Organization UUID (uses default if not set) |

**Example prompt:** "Show full details for KPI kpi-123 in dataset ds-456"

***

## `list_kpi_datasets`

List Custom KPI dataset containers — each dataset groups related KPIs together.

**Parameters:**

| Parameter         | Type   | Required | Description                                 |
| ----------------- | ------ | -------- | ------------------------------------------- |
| `organization_id` | string | No       | Organization UUID (uses default if not set) |

**Example prompt:** "List our KPI datasets"

***

## `list_kpi_campaigns`

List data collection campaigns for a specific KPI dataset.

**Parameters:**

| Parameter         | Type   | Required | Description                                 |
| ----------------- | ------ | -------- | ------------------------------------------- |
| `dataset_id`      | string | **Yes**  | UUID of the KPI dataset                     |
| `organization_id` | string | No       | Organization UUID (uses default if not set) |

**Example prompt:** "Show campaigns for dataset ds-456"

***

## `get_kpi_campaign_values`

Get submitted values/responses for a specific campaign.

**Parameters:**

| Parameter         | Type    | Required | Description                                 |
| ----------------- | ------- | -------- | ------------------------------------------- |
| `dataset_id`      | string  | **Yes**  | UUID of the KPI dataset                     |
| `campaign_id`     | string  | **Yes**  | UUID of the campaign                        |
| `organization_id` | string  | No       | Organization UUID (uses default if not set) |
| `page`            | integer | No       | Page number (default: 1)                    |
| `size`            | integer | No       | Results per page (default: 50)              |

**Example prompt:** "Show submitted values for Q1 2024 campaign"

***

## `list_kpi_assignments`

List facility/user assignments for a Custom KPI dataset — which facilities are responsible for reporting.

**Parameters:**

| Parameter         | Type   | Required | Description                                 |
| ----------------- | ------ | -------- | ------------------------------------------- |
| `dataset_id`      | string | **Yes**  | UUID of the KPI dataset                     |
| `organization_id` | string | No       | Organization UUID (uses default if not set) |

**Example prompt:** "Which facilities are assigned to this KPI dataset?"

## Workflow

1. Call `list_kpi_datasets` to discover KPI dataset containers
2. Use `list_custom_kpis` to see individual KPI definitions (optionally filtered by facility)
3. Use `list_kpi_campaigns` to find data collection campaigns
4. Use `get_kpi_campaign_values` to see submitted data for a campaign
5. Use `list_kpi_assignments` to see which facilities report on a dataset

<Note>
  All KPI tools are **read-only**. Campaign management, value submission, and invite sending are not exposed through MCP.
</Note>

## Example Prompts

* "List all our KPI datasets"
* "What KPIs are assigned to our Barcelona factory?"
* "Show submitted values for the Q1 2024 ESG campaign"
* "Which facilities haven't reported on dataset ds-456?"
