# Knowledge Generation

The **Settings > Configuration > Knowledge Generation** section controls the field and value definitions Aisera uses during knowledge base article generation. These are tenant-level settings that apply to all bots on your tenant.

### JSON File for Field and Value Definition

| **Type**    | JSON file list |
| ----------- | -------------- |
| **Default** | No Data        |

Stores field definition schemas for each connected knowledge platform. Each uploaded file defines the fields and allowed values for a specific knowledge system, which Aisera uses to present the correct field options to agents when they configure knowledge generation jobs.

Click **+ Add a JSON File** to open the **Import KB Gen Field Mappings** dialog. Configure the following for each file you upload.

#### Integration Type

The knowledge system the uploaded file belongs to. Lists all available knowledge system integrations. Aisera stores field definitions per integration type. Uploading against the wrong type means agents see incorrect or missing field options when setting up a knowledge generation job for that system.

#### Select the JSON File to upload

A JSON file defining the fields for the selected knowledge system. The file must be a JSON object with a top-level `fields` array. Each object in the array represents one field:

<table><thead><tr><th width="177.79998779296875">Property</th><th width="117.79998779296875">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>fieldName</code></td><td>Yes</td><td>Human-readable label displayed to agents in the knowledge base generation wizard</td></tr><tr><td><code>fieldPath</code></td><td>Yes</td><td>The field key or path as it exists in the external system (for example, <code>Product_Line__c</code> in Salesforce)</td></tr><tr><td><code>externalFieldType</code></td><td>Yes</td><td>The field type as defined in the external system. Drives how Aisera handles the field. See note below.</td></tr><tr><td><code>dataType</code></td><td>No</td><td>Internal data type. Defaults to <code>String</code> if omitted.</td></tr><tr><td><code>allowMultiSelect</code></td><td>No</td><td>Boolean. When <code>true</code>, agents can select more than one value for this field.</td></tr><tr><td><code>values</code></td><td>Conditional</td><td>Array of allowed values. Required when <code>externalFieldType</code> contains <code>"picklist"</code>. Aisera ignores this field for date-type fields.</td></tr></tbody></table>

{% hint style="info" %}
The `externalFieldType` value drives how Aisera handles the field at generation time. Fields with a type containing `"picklist"` present agents with a dropdown using the provided values. Fields with a type containing `"date"` always render as free-text date entry. Aisera ignores the `values` array even if provided.
{% endhint %}

**Example:**

```json
{
  "fields": [
    {
      "fieldName": "Product Line",
      "fieldPath": "Product_Line__c",
      "dataType": "String",
      "allowMultiSelect": false,
      "externalFieldType": "Picklist",
      "values": ["Analytics and Reporting", "Insurance", "Health Care"]
    },
    {
      "fieldName": "Internal Audience Only",
      "fieldPath": "Internal_Audience_Only__c",
      "dataType": "Boolean",
      "allowMultiSelect": false,
      "externalFieldType": "Checkbox"
    },
    {
      "fieldName": "WD Date",
      "fieldPath": "WD_Date__c",
      "allowMultiSelect": false,
      "externalFieldType": "Date"
    }
  ]
}
```

#### Import mode

Controls how the upload affects existing field definitions stored for the selected integration type.

* **Add delta values from the JSON:** merges incoming values with existing stored values for fields already in the system. Aisera silently drops duplicate values. Use this option when adding new picklist options without removing existing ones.
* **Completely override values with latest file:** replaces stored values with only the values in the uploaded file for existing fields. Use this option to correct or fully replace existing picklist options.

In both modes:

* Fields in the file that do not yet exist in the system are always created as new entries.
* Aisera always updates field metadata (`dataType`, `allowMultiSelect`, `fieldPath`, and `externalFieldType`) on existing fields.
* Aisera never modifies or deletes fields already in the system that are not included in the uploaded file.
* Date-type fields ignore the import mode selection. Aisera does not store values for date fields in either mode.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aisera.com/aisera-platform/tenant-setup/aisera-platform-configuration/tenant-configuration-settings/knowledge-generation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
