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

  1. Select a DynamoDB action (ListTables, GetItem, PutItem, Query, Scan, etc.) in the action editor's path field.
  2. If the path uses a binding, ensure it resolves to a valid action name at runtime.
  3. 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

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.