appsmithorg/appsmith · error · AppsmithPluginException

PE-ARG-5000

PE-ARG-5000

Error message

Missing required field 'Spreadsheet Name'

What it means

FileCreateMethod.validateExecutionMethodRequest (FileCreateMethod.java:48-55) throws this when the spreadsheet name for the Create File operation is null or blank. The spreadsheet name becomes the title property of the newly created Spreadsheet object (line 62). Without a name, the Google Sheets API create request cannot proceed. Categorized as PLUGIN_EXECUTE_ARGUMENT_ERROR (PE-ARG-5000) with message 'Missing required field \'Spreadsheet Name\''.

Source

Thrown at app/server/appsmith-plugins/googleSheetsPlugin/src/main/java/com/external/config/FileCreateMethod.java:51

import java.util.stream.StreamSupport;

/**
 * API reference: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create
 */
@Slf4j
public class FileCreateMethod implements ExecutionMethod {

    ObjectMapper objectMapper;

    public FileCreateMethod(ObjectMapper objectMapper) {
        this.objectMapper = objectMapper;
    }

    @Override
    public boolean validateExecutionMethodRequest(MethodConfig methodConfig) {
        if (methodConfig.getSpreadsheetName() == null
                || methodConfig.getSpreadsheetName().isBlank()) {
            throw new AppsmithPluginException(
                    AppsmithPluginError.PLUGIN_EXECUTE_ARGUMENT_ERROR,
                    ErrorMessages.MISSING_SPREADSHEET_NAME_ERROR_MSG);
        }
        return true;
    }

    @Override
    public WebClient.RequestHeadersSpec<?> getExecutionClient(WebClient webClient, MethodConfig methodConfig) {

        Spreadsheet spreadsheet = new Spreadsheet();
        spreadsheet.setProperties(new SpreadsheetProperties().set("title", methodConfig.getSpreadsheetName()));
        var ref = new Object() {
            Integer startingRow = null;
            Integer endingRow = null;
            final Set<String> headers = new LinkedHashSet<>();
            final Set<String> unknownHeaders = new LinkedHashSet<>();
        };
        final String body = methodConfig.getRowObjects();

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Enter a non-empty name for the new spreadsheet in the 'Spreadsheet Name' field.
  2. If using JS bindings, ensure the expression returns a non-empty string, e.g. {{ 'Report_' + moment().format('YYYYMMDD') }}.
  3. Provide a fallback in the binding to avoid empty values: {{ nameInput.text || 'Untitled Spreadsheet' }}.
  4. Verify the name does not consist of only whitespace characters.

Example fix

// before — Create File with empty name:
// Spreadsheet Name: (empty)

// after — provide a valid name:
// Spreadsheet Name: {{ 'Sales Report ' + moment().format('YYYY-MM-DD') }}
Defensive patterns

Strategy: validation

Validate before calling

// Validate spreadsheet name is non-empty before create operation
if (!form.spreadsheetName || form.spreadsheetName.trim() === '') {
  showAlert('Spreadsheet name is required to create a new spreadsheet', 'error');
} else {
  await sheetsCreateQuery.run();
}

Prevention

When it happens

Trigger: The Google Sheets 'Create Spreadsheet' (File Create) operation is executed but the 'Spreadsheet Name' field is empty, null, or whitespace-only. methodConfig.getSpreadsheetName() returns null or blank, failing the check at lines 49-50.

Common situations: 1) User selects the Create File method but forgets to enter a name for the new spreadsheet. 2) JS binding for the spreadsheet name returns empty at runtime. 3) The name field was cleared after initial entry. 4) A dynamic name expression evaluates to an empty string due to a null reference in the binding.

Related errors


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