Parameter

One argument the LLM supplies when it calls the tool. Declare an argument the tool’s steps already use to give it a description or a constraint; declare one they do not use to add it.

Ingredient Family: llmParamIngredients

Outline Display: {{parameterName}} ({{parameterType}}): {{description}}{{pattern:, matching {{pattern}}}}{{allowedValues:, one of {{allowedValues}}}}{{maxLength:, at most {{maxLength}} characters}}

Local scope

The parent slot binds these (look up the slot in the parent to see how):

  • $paramsTable – The table collecting the declared parameters

Settings

Required

  • parameterType : type name
    The type of this parameter. An option type (option string) makes it optional: the model may leave it out, and the steps see it as an absent value. A list type (list string) asks for a JSON array, which the steps see as one list-valued column; its element must be a plain base type, so list option string and list <TableName> are refused.

  • description : constant value (type: text; required, non-nullable)
    What this parameter means, to help the LLM supply a sensible value

  • parameterName : new column (type: type chosen and saved as parameterType)
    The name the LLM uses for this parameter

Optional

  • pattern : constant value (type: text; optional)
    A regular expression every supplied value must match, advertised to the model in the tool’s schema but not checked by the tool. Leave unset for no pattern.

  • allowedValues : constant value (type: text; optional)
    The only values this parameter accepts, comma-separated (“messages,threads,drafts”). Advertised to the model as an enumeration and enforced on every call, so a value outside the list is refused before the tool runs.

  • maxLength : constant value (type: integer; optional)
    The longest value this parameter accepts, in characters; a longer value is refused before the tool runs. Leave unset for no limit.