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 (
columnsset): 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 wheninput_schemais defined. Then the LLM fills the declared input variables, which are substituted into${...}placeholders incolumns,filters,ordering, orlimit.
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.
- id: load_dataThe 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- 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: 50When 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.- 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
| Field | Type | Description |
|---|---|---|
columns | list | Column IDs or PQL templates. Setting this field automatically activates the Custom Configuration mode . |
filters | list | Filter IDs or PQL templates (can use ${input} placeholders). |
orderby | list | Ordering rules. Each has a column (ID or PQL) and ascending flag. |
limit | int or string | Max rows returned. Can be a ${variable} template. |
input_schema | object | Defines 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: "..."}}.