appsmithorg/appsmith · error · AppsmithPluginException
PE-ARG-5000
PE-ARG-5000
Error message
Missing action name (like `ListTables`, `GetItem` etc.).
What it means
In DynamoPlugin.execute(), the action name is read from actionConfiguration.getPath(). If the path string is empty, throws PLUGIN_EXECUTE_ARGUMENT_ERROR. The path holds the DynamoDB operation name (e.g. ListTables, GetItem, PutItem, Query, Scan) that the plugin maps to an SDK request class and method via reflection.
Source
Thrown at app/server/appsmith-plugins/dynamoPlugin/src/main/java/com/external/plugins/DynamoPlugin.java:203
@Override
public Mono<ActionExecutionResult> execute(
DynamoDbClient ddb,
DatasourceConfiguration datasourceConfiguration,
ActionConfiguration actionConfiguration) {
log.debug(Thread.currentThread().getName() + ": execute() called for Dynamo plugin.");
final Map<String, Object> requestData = new HashMap<>();
final String body = actionConfiguration.getBody();
List<RequestParamDTO> requestParams = new ArrayList<>();
return Mono.fromCallable(() -> {
log.debug(Thread.currentThread().getName()
+ ": creating action execution result from DynamoDB plugin.");
ActionExecutionResult result = new ActionExecutionResult();
final String action = actionConfiguration.getPath();
if (!StringUtils.hasLength(action)) {
throw new AppsmithPluginException(
AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR,
DynamoErrorMessages.MISSING_ACTION_NAME_ERROR_MSG);
}
requestData.put("action", action);
requestParams.add(new RequestParamDTO(ACTION_CONFIGURATION_PATH, action, null, null, null));
requestParams.add(new RequestParamDTO(ACTION_CONFIGURATION_BODY, body, null, null, null));
Map<String, Object> parameters = null;
try {
if (StringUtils.hasLength(body)) {
parameters = objectMapper.readValue(body, HashMap.class);
}
} catch (IOException e) {
final String message = "Error parsing the JSON body: " + e.getMessage();
log.warn(message, e);
throw new AppsmithPluginException(
AppsmithPluginError.PLUGIN_JSON_PARSE_ERROR, body, e.getMessage());
}View on GitHub (pinned to 8cd9021c24)
Solutions
- Select a DynamoDB action (ListTables, GetItem, PutItem, Query, Scan, etc.) in the action editor's path field.
- If the path uses a binding, ensure it resolves to a valid action name at runtime.
- When constructing the action programmatically, call actionConfiguration.setPath("GetItem") before execute().
Example fix
// before
actionConfiguration.setPath("");
// after
actionConfiguration.setPath("GetItem"); Defensive patterns
Strategy: validation
Validate before calling
String action = actionConfiguration.getPath();
if (!StringUtils.hasLength(action)) {
throw new IllegalArgumentException(
"DynamoDB action name (path) is required, e.g. ListTables, GetItem, PutItem.");
} Prevention
- Always set a DynamoDB action name in the path field before executing.
- If the path uses a binding, ensure it resolves to a valid action name at runtime.
- When constructing the action programmatically, call setPath("GetItem") before execute().
When it happens
Trigger: A DynamoDB action is executed with an empty path field — the operation dropdown was never selected, or a binding in the path field resolved to empty.
Common situations: The action name dropdown was left unselected; the action was duplicated and the path cleared; a mustache binding in the path resolved to empty at runtime.
Related errors
AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12).
Data as JSON: /api/errors/74e10f1865dbedfb.
Report an issue: GitHub.