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
- Fill in the input field in the query editor so formData contains the expected key with a map value.
- When constructing formData programmatically, provide the field as a map containing an INPUT entry.
- 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
- Mark the input field required in the form UI.
- Store the field as a map containing an INPUT entry, not a scalar.
- Verify the field key spelling when constructing formData.
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.