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

# Index Data Store

> Store internal data and make it available to agents

## What an index data store is

Index data stores hold internal knowledge that agents can search in chat or workflows. Each data store source defines where data comes from, how records are structured, which fields are searchable, and how users can add or import content.

The **Index Data Store** page has two main areas:

* **Data Store Sources** where you configure the sources that load data into index stores.
* **View Data** where you search, filter, import, add, edit, download, and delete indexed content for the selected source.

<Frame>
  <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/index_data_store.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=ec7bec179bef3f3bb9a4b9206c1d7122" alt="Index Data Store page showing Data Store Sources and View Data sections" width="1489" height="714" data-path="images/index-data-store/index_data_store.png" />
</Frame>

## Review data store sources

The **Data Store Sources** section shows each configured source as a card. Cards include the source name, description, connector, owner, and collection when available.

From each card, you can:

* Open the data source configuration.
* View the data loaded for that source.
* Delete a source if you have permission.

Use search and pagination to find a source when your tenant has many data stores.

## Add a data store source

You can create a source in two ways:

* **Add Data Store Source**: choose an existing action tool that returns data you want to index.
* **Add Import Store**: create a custom import store for manual file uploads and manually added content.

When you add a data store source from a tool, Maadify shows searchable tool cards. You can search tools, include eligible shared tools, and select the tool that should load data into the store.

<Steps>
  <Step title="Open Index Data Store">
    Go to **Index Data Store**.
  </Step>

  <Step title="Choose how to create the source">
    Select **Add Data Store Source** to use a tool, or select **Add Import Store** for manual imports.
  </Step>

  <Step title="Select a tool when needed">
    Search for an available tool, review the connector and owner, and select the tool.

    <Frame>
      <img src="https://mintcdn.com/maadify/K7CT7HZ-nt5ok2U5/images/index-data-store/add_tool_data_source.png?fit=max&auto=format&n=K7CT7HZ-nt5ok2U5&q=85&s=62ec5e7b912b9f0f7f88bcd37399e002" alt="Add Data Store Source dialog with searchable tool cards" width="1281" height="863" data-path="images/index-data-store/add_tool_data_source.png" />
    </Frame>
  </Step>

  <Step title="Configure the source">
    Fill in setup fields, choose the collection, select source and content fields, and configure any tool defaults.
  </Step>

  <Step title="Save the configuration">
    Click **Add Configuration** or **Update Configuration**.
  </Step>
</Steps>

<Tabs>
  <Tab title="Import Store">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/setup_configurations.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=dfd06c9d5e560a895d3f94649f9ace02" alt="Add Import Store option for manual index data store imports" width="1133" height="853" data-path="images/index-data-store/setup_configurations.png" />
    </Frame>
  </Tab>

  <Tab title="Data Store Source (Selected Tool)">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/setup_tool_configs.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=45b477f48de5ddc2b3768230f49f7935" alt="Data Store Source configuration dialog showing setup, tool configuration, details, schema, and output example tabs" width="1277" height="660" data-path="images/index-data-store/setup_tool_configs.png" />
    </Frame>
  </Tab>
</Tabs>

## Configure setup fields

The configuration dialog contains tabs that help you review and configure the source:

* **Setup Configurations**: choose the schema mode, collection, source column, and content columns.
* **Tool Configurations**: configure default values used when the selected tool loads data.
* **Details**: review the tool name, key, description, connector, and tenant owner.
* **Schema**: review the input schema and input example.
* **Output Example**: review a sample output when the tool provides one.

<Tabs>
  <Tab title="Setup Configurations">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/setup_tool_configs_2.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=f8f61a0e9c886f1115a2013790101743" alt="Data Store Source configuration dialog showing setup, tool configuration, details, schema, and output example tabs" width="1282" height="824" data-path="images/index-data-store/setup_tool_configs_2.png" />
    </Frame>
  </Tab>

  <Tab title="Schema">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/input_schema.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=b1045b4b58b06ded1ab0ebc94109f608" alt="Data Store Source configuration dialog showing setup, tool configuration, details, schema, and output example tabs" width="1279" height="855" data-path="images/index-data-store/input_schema.png" />
    </Frame>
  </Tab>
</Tabs>

### Schema mode

The **Schema** setting controls which fields define the data store records.

* **Input** uses the selected tool's input schema.
* **Output** uses the selected tool's output schema.
* **Custom** lets you define structured fields with the schema builder.

Some sources only support specific schema modes. For example, import stores use **Custom** because you define the shape of manually imported content.

### Collection

The **Collection** setting controls where the data is stored. Available collections include:

* **product**
* **order**
* **inventory**
* **knowledge\_base**
* **shipment**

Choose the collection that matches how users and agents will search the data.

### Source column

The **Source Column** identifies the source record or file. Maadify uses it for display, deduplication, and grouping. For file-based import stores, this is commonly `_file_name`.

### Content columns

**Content Columns** define which fields are embedded for search. Choose fields that contain meaningful searchable text, such as descriptions, notes, titles, messages, or document content.

<Tip>
  Use stable IDs for the source column and rich text fields for content columns. This makes search results easier to trace back to the original record.
</Tip>

## Create custom structured inputs

When you choose **Custom** schema mode, use the schema builder to create structured inputs for records in the index data store. These fields become the form users fill out when they add or edit content.

You can create fields manually or generate them from a JSON schema or example JSON response.

The schema builder supports:

* **Field names and display names** for each value.
* **Types** such as string, integer, number, boolean, object, arrays, and object arrays.
* **Required fields** for values that must be provided.
* **Descriptions** that explain what each field means.
* **Options** for fields that should use a fixed list of values.
* **Defaults, ranges, and length limits** for supported field types.
* **Nested object properties** for structured records.

As you add fields, Maadify generates the schema used by the data entry form and updates the available source and content column choices.

<Tabs>
  <Tab title="Schema Builder">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/schema_builder.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=0565721cb6eab1e22540443318d21f19" alt="Generate index data store schema fields from a JSON example" width="1678" height="427" data-path="images/index-data-store/schema_builder.png" />
    </Frame>
  </Tab>

  <Tab title="JSON Example">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/schema_builder_json.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=de76c77a308b00417933c7dde83a8764" alt="Custom schema builder for index data store structured inputs" width="1686" height="495" data-path="images/index-data-store/schema_builder_json.png" />
    </Frame>
  </Tab>
</Tabs>

## Configure tool defaults

For tool-backed data store sources, the **Tool Configurations** tab controls how Maadify calls the selected tool when importing data.

You can either:

* Use the tool owner's default configuration.
* Provide your own default values for the tool.

These values are used when you import data from the source. They help keep recurring imports consistent.

<Frame>
  <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/tool_configurations.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=06a9dab745eb8f8a0bf7ad0a2ff0fe92" alt="Tool Configurations tab for a data store source" width="1151" height="661" data-path="images/index-data-store/tool_configurations.png" />
</Frame>

## Import data

After you configure a data store source, select it and use **Import Data**.

Depending on the source, you can:

* Run the configured tool to load data into the selected collection.
* Enable **Manual Upload** and upload a file.
* Process uploaded files into the index store.

Manual upload is useful when you have files that should be indexed directly. Tool import is useful when data should come from a connected application.

<Tabs>
  <Tab title="Manual Upload">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/manual_import.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=8f90281b9a1f7beba0c6a7a5bfa43b99" alt="Import Data dialog showing tool-based import settings" width="645" height="260" data-path="images/index-data-store/manual_import.png" />
    </Frame>
  </Tab>

  <Tab title="Run from Tool">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/run_index_from_tool.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=b13f0d5941255380d7d3d942136c1e4f" alt="Import Data dialog showing manual upload controls" width="856" height="812" data-path="images/index-data-store/run_index_from_tool.png" />
    </Frame>
  </Tab>
</Tabs>

## View and manage data

After you select a configured source, the **View Data** section shows indexed records for that source.

You can:

* Search across indexed content.
* Filter by available metadata columns.
* Toggle **Show Full Document** to switch between full documents and smaller indexed nodes.
* Open a record to view or edit it.
* View files linked to a record.
* Download record data.
* Delete records when you have permission.

<Steps>
  <Step title="Search or filter data">
    Use the search box and filters to find records.

    <Frame>
      <img src="https://mintcdn.com/maadify/K7CT7HZ-nt5ok2U5/images/index-data-store/filters.png?fit=max&auto=format&n=K7CT7HZ-nt5ok2U5&q=85&s=a7cb75f96cd327f84054f8d6ef655c95" alt="View Data table with search filters and import controls" width="1508" height="750" data-path="images/index-data-store/filters.png" />
    </Frame>
  </Step>

  <Step title="Open a record">
    Select a row or use the row actions menu.
  </Step>

  <Step title="Review or update content">
    Edit structured fields when the store has a schema, or edit text content for simple/manual stores.
  </Step>

  <Step title="Save changes">
    Click **Add** or **Update** when editing is available.
  </Step>
</Steps>

<Tabs>
  <Tab title="View Data">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/view_data.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=c880c7dbe7c666f8dd7462326f23a6f0" alt="View Data table with search filters and import controls" width="1614" height="913" data-path="images/index-data-store/view_data.png" />
    </Frame>
  </Tab>

  <Tab title="Add Content">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/view_edit.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=939000a78dad922efa5d6d9d94ae4530" alt="Add Content dialog using a structured schema form" width="1304" height="410" data-path="images/index-data-store/view_edit.png" />
    </Frame>
  </Tab>

  <Tab title="Content (No Schema)">
    <Frame>
      <img src="https://mintcdn.com/maadify/K7CT7HZ-nt5ok2U5/images/index-data-store/content_no_schema.png?fit=max&auto=format&n=K7CT7HZ-nt5ok2U5&q=85&s=7843ed455d5ca0670a0fb8cbf94ea897" alt="Edit manual text content in the index data store markdown editor" width="1362" height="854" data-path="images/index-data-store/content_no_schema.png" />
    </Frame>
  </Tab>

  <Tab title="View Files">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/view_files.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=03cd4730fb7a2fc12f14c7db00c1ce06" alt="View files linked to a record" width="923" height="310" data-path="images/index-data-store/view_files.png" />
    </Frame>
  </Tab>

  <Tab title="Row Actions">
    <Frame>
      <img src="https://mintcdn.com/maadify/X4aEKWAIWIr8YAhZ/images/index-data-store/row_actions.png?fit=max&auto=format&n=X4aEKWAIWIr8YAhZ&q=85&s=2e6ce16572e012430cd2c47c71bfbd1b" alt="Row actions menu for a record" width="188" height="204" data-path="images/index-data-store/row_actions.png" />
    </Frame>
  </Tab>
</Tabs>

## Use data stores in chat and agents

After data is indexed, users can search it with **Universal Search** in chat. Parent agents can also use configured data store tools during workflows when they need internal knowledge.

<Tip>
  Keep schemas focused. Choose content columns that improve search quality, and avoid storing sensitive data unless agents need it for the workflow.
</Tip>
