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
- Enter a non-empty name for the new spreadsheet in the 'Spreadsheet Name' field.
- If using JS bindings, ensure the expression returns a non-empty string, e.g. {{ 'Report_' + moment().format('YYYYMMDD') }}.
- Provide a fallback in the binding to avoid empty values: {{ nameInput.text || 'Untitled Spreadsheet' }}.
- 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
- Always provide a non-empty name when creating a new spreadsheet.
- Add a fallback in JS bindings: {{ nameInput.text || 'Untitled' }}.
- Verify the name field is not whitespace-only.
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.