> For the complete documentation index, see [llms.txt](https://docs.borndigital.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.borndigital.ai/insights/building-new-projects/analysis-project/2.-configure-parameters-and-prompts.md).

# 2. Configure parameters and prompts

Define what the AI should find in every record (parameters) and group the parameters into prompts.

* A **parameter** is one question the AI answers for every record – for example *Did the agent greet the customer?* or *What is the main topic?*
* A **prompt** groups parameters that the AI processes together. Only parameters that are part of a prompt are analysed.

## Create parameters

1. Open **Design** › **Parameters**.
2. Click **Create** and choose **Custom**.
3. Fill in the **Essential** tab:
   * **Name** – it is saved in lowercase `snake_case`, for example `greeted`.
   * **Language** of the definition.
   * **Definition** – the instruction for the AI, for example *Return true if the agent greeted the customer and said the company name. Return false otherwise.*
   * **Output format** – **String**, **Number**, **Boolean** or **JSON**.
   * For String and Number, a **List of values** limits the answer to fixed choices (confirm each value with **Enter**). For String, a **Fallback value** is used when the answer is none of them; switch on **Enforce** to always replace such an answer with the fallback.
4. Click **Create**.

<figure><img src="https://4261467870-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iQTvxgRZRwPS1NgIGEb%2Fuploads%2Fgit-blob-4088f6028c15dc838ee796a124b2ff61bc5fafb4%2Finsights-parameter-json.png?alt=media" alt="A new Custom parameter products_discussed with a definition asking for a JSON object with the keys products and main_product, and the Output format JSON highlighted"><figcaption><p>A parameter with the JSON output format</p></figcaption></figure>

Which output format to use:

| Output format | Use it for                                                              | Example result                        |
| ------------- | ----------------------------------------------------------------------- | ------------------------------------- |
| **String**    | Categories, short texts, summaries                                      | `billing`                             |
| **Number**    | Counts and scores                                                       | `3`                                   |
| **Boolean**   | Yes/no questions – describe in the definition when it is true and false | `true`                                |
| **JSON**      | Several related values in one answer, for example a list of products    | `{"products": ["loan", "insurance"]}` |

For a JSON parameter, describe the structure you expect in the **Definition**. **Enforce** cannot be used with JSON. For very long records, only the **Multi prompt behaviour** options that keep the object whole (first or last result) are offered – see [Parameters](/insights/workspace/design/parameters.md#custom).

**Import** loads parameters from a JSON file exported from another project. Predefined parameters are also available directly in prompts.

## Create a prompt

1. Open **Design** › **Prompts** and click **Create**.
2. Enter the **Name** and the **Language** in which the prompt is processed.
3. In **Parameters**, select your parameters – or a **Predefined parameter group**.
4. Click **Create**.

<figure><img src="https://4261467870-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6iQTvxgRZRwPS1NgIGEb%2Fuploads%2Fgit-blob-05e6ad01c6cb06f1cb7be4c089e13dccf572b064%2Finsights-prompt.png?alt=media" alt="A new prompt named products with Language English, Prompt state Enabled, Multi-chunk behavior Each and the parameter products_discussed selected"><figcaption><p>A prompt with one parameter</p></figcaption></figure>

Optional settings, described in [Prompts](/insights/workspace/design/prompts.md):

* **Previous parameter result** – use the result of an earlier prompt (for example a summary) as the input of this one.
* **Advanced** tab – **LLM Instructions** for extra output requirements, **Conditions** to run the prompt only for some records, a **Custom provider** with its own model, and **LLM caching**.

{% hint style="info" %}
Start with a few parameters and a small batch of data. Check the results in your dashboard, sharpen the definitions and only then process all your data.
{% endhint %}
