appsmithorg/appsmith · error · AppsmithPluginException

PE-ARG-5000

PE-ARG-5000

Error message

input is not provided

What it means

Thrown by FieldValidationHelper.validateTextInput when formData does not contain the given key or the value at that key is not a Map. It is the structural gate before reading INPUT inside the field. Code PE-ARG-5000 (PLUGIN_EXECUTE_ARGUMENT_ERROR).

Source

Thrown at app/server/appsmith-plugins/appsmithAiPlugin/src/main/java/com/external/plugins/utils/FieldValidationHelper.java:15

package com.external.plugins.utils;

import com.appsmith.external.exceptions.pluginExceptions.AppsmithPluginError;
import com.appsmith.external.exceptions.pluginExceptions.AppsmithPluginException;
import org.springframework.util.StringUtils;

import java.util.List;
import java.util.Map;

import static com.external.plugins.constants.AppsmithAiConstants.INPUT;

public class FieldValidationHelper {
    public static void validateTextInput(Map<String, Object> formData, String key) {
        if (!formData.containsKey(key) || !(formData.get(key) instanceof Map)) {
            throw new AppsmithPluginException(
                    AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR, "input is not provided");
        }

        Map<String, Object> inputMap = (Map<String, Object>) formData.get(key);

        if (!inputMap.containsKey(INPUT)
                || !StringUtils.hasLength(RequestUtils.extractDataFromFormData(inputMap, INPUT))) {
            throw new AppsmithPluginException(
                    AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR, "input is not provided");
        }
    }

    public static void validateTextInputAndProperties(
            Map<String, Object> formData, String key, List<String> properties) {
        if (!formData.containsKey(key) || !(formData.get(key) instanceof Map)) {
            throw new AppsmithPluginException(
                    AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR, "input is not provided");
        }

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Fill in the input field in the query editor so formData contains the expected key with a map value.
  2. When constructing formData programmatically, provide the field as a map containing an INPUT entry.
  3. Verify the field key matches what the validation helper expects.

Example fix

// before
formData.put("inputText", "some text"); // not a Map -> error
// after
formData.put("inputText", Map.of("input", "some text"));
Defensive patterns

Strategy: validation

Validate before calling

if (!formData.containsKey(key) || !(formData.get(key) instanceof Map)) {
    return errorResult("Input is not provided for field: " + key);
}

Type guard

boolean isInputFieldMap(Map<String, Object> formData, String key) {
    return formData.containsKey(key) && formData.get(key) instanceof Map;
}

Try / catch

try {
    FieldValidationHelper.validateTextInput(formData, key);
} catch (AppsmithPluginException e) {
    if (e.getMessage().equals("input is not provided")) {
        // prompt user to fill the input field
    }
}

Prevention

When it happens

Trigger: An Appsmith AI query whose input field (key) is absent from formData, or whose value is a scalar/list instead of the expected map structure.

Common situations: User left the input field empty in the form; formData built manually omitted the field; field key renamed so the lookup misses; value written as a plain string instead of the expected {input: {...}} map.

Related errors


AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12). Data as JSON: /api/errors/75d3c9bc1bb75883. Report an issue: GitHub.