Skip to content

Load Data - load_data

Mode: Both · Category: Data Retrieval

The primary tool for loading data from the knowledge model. It operates in two distinct modes:

  • Intelligent mode (no columns): The LLM dynamically picks columns, filters, ordering, and limit at runtime.

  • Custom mode (columns set): The entire query is pre-configured with the columns, filters, ordering, and limit all defined in the YAML. The LLM does not fill any arguments. The only exception is when input_schema is defined. Then the LLM fills the declared input variables, which are substituted into ${...} placeholders in columns, filters, ordering, or limit.

You can have multiple load_data instances in one Process Copilot by using unique_id to distinguish between them. You can also mix instances with intelligent and custom configurations.

Intelligent mode

- id: load_data

Custom mode - static query

The LLM triggers this tool but does not fill any arguments. The query is fully defined:

- id: load_data  
  unique_id: get_overdue_invoices  
  description: >-  
    Retrieves overdue invoices with vendor, clearing date, and fiscal year.  
    Use when the user asks about overdue or unpaid invoices.  
  columns:  
    - id: INVOICE.INVOICE_VENDOR_NUMBER_AND_NAME  
    - id: INVOICE.INVOICE_CLEARING_DATE_DAY  
    - id: INVOICE.INVOICE_FISCAL_YEAR  
  limit: 100

Custom mode — with ordering and filters

- id: load_data  
  unique_id: vendor_summary  
  description: Retrieves vendor data sorted by name, filtered to fiscal year 2021\.  
  columns:  
    - id: vendors.vendor_name  
    - id: INVOICE.INVOICE_CLEARING_DATE_DAY  
    - id: KPI_DAYS_PAYABLE_OUTSTANDING  
    - pql_template:  
        pql: '"BKPF"."MANDT"'  
        name: Custom PQL Column  
  filters:  
    - pql_template:  
        pql: "FILTER @fiscal_year_2021;"  
        name: Fiscal Year 2021  
  orderby:  
    - column:  
        id: vendors.vendor_name  
        ascending: true  
  limit: 50

Custom mode — with input variables (LLM fills placeholders)

When input_schema is defined, the LLM fills the declared input variables at runtime. These are substituted into ${...} placeholders in columns, filters, or limits:

- id: load_data  
  unique_id: get_invoice_by_id  
  description: Get invoice details for a specific invoice number.  
  columns:  
    - id: INVOICES.INVOICE_NUMBER  
    - pql_template:  
        pql: '"invoices"."Invoice Value"'  
        name: Invoice Value  
  filters:  
    - pql_template:  
        pql: FILTER "invoices"."Invoice Number" in ('${invoice_number}')  
        name: Invoice Number Filter  
  input_schema:  
    properties:  
      invoice_number:  
        description: The invoice number to look up.

Custom mode — multiple instances in one Process Copilot

- id: load_data # intelligent mode — LLM picks columns freely

- id: load_data  
  unique_id: get_overdue_invoices  
  description: Retrieves overdue invoices with vendor and clearing date.  
  columns:  
    - id: INVOICE.INVOICE_VENDOR_NUMBER_AND_NAME  
    - id: INVOICE.INVOICE_CLEARING_DATE_DAY  
    - id: INVOICE.INVOICE_FISCAL_YEAR  
  limit: 100

- id: load_data  
  unique_id: get_vendor_summary  
  description: Retrieves a vendor overview with company code.  
  columns:  
    - id: INVOICE.INVOICE_VENDOR_NUMBER_AND_NAME  
    - id: INVOICE.INVOICE_FISCAL_YEAR  
    - id: INVOICE.INVOICE_COMPANY_CODE_AND_TEXT  
  limit: 50

Config fields

mcp-tools-load-data.png
FieldTypeDescription
columnslistColumn IDs or PQL templates. Setting this field automatically activates the Custom Configuration mode .
filterslistFilter IDs or PQL templates (can use ${input} placeholders).
orderbylistOrdering rules. Each has a column (ID or PQL) and ascending flag.
limitint or stringMax rows returned. Can be a ${variable} template.
input_schemaobjectDefines input variables the LLM fills at runtime (for ${...} placeholders in columns/filters/limit). Without this, the LLM fills no arguments in the Custom Configuration mode.

Each column entry is either {id: "..."} or {pql\_template: {pql: "...", name: "..."}}.