What is your goal?
Reliably call a Google Apps Script Web App from Make to validate, sort and number rows in Google Sheets before exporting PDFs and emailing them.
I need to resolve intermittent 404 errors without blindly rerunning the entire scenario, which could duplicate files and emails.
What is the problem & what have you tried?
I use two HTTP “Make a request” modules that POST to the same Apps Script /exec URL.
Some requests succeed with HTTP 200 and valid JSON, while others return a Google HTML “Page not found” response. The failure affects both modules: sometimes several calls succeed before one fails, and sometimes the first call fails.
Rerunning a failed module with the same spreadsheet ID and expected count has succeeded.
Current settings:
- Method: POST
- Body: JSON string
- Parse response: Yes
- Allow redirects: Yes
- Share cookies: No
- Request compressed content: Yes
- Timeout: 80 seconds
Increasing the timeout did not resolve the issue; failures occur well before 80 seconds. We previously tried the legacy HTTP module and a separate GET request to the redirect URL, but also encountered failures.
The Apps Script executions we inspected show “Completed,” without a visible unhandled exception. We have not yet correlated every failed Make request with its exact script execution.
The script returns JSON through ContentService.createTextOutput(). Google documents that this redirects to a one-time script.googleusercontent.com URL. Could redirect handling be involved? This is a hypothesis, not a confirmed cause.
Has anyone encountered this and found a reliable solution or alternative approach? I have also opened a Make support ticket.
Error messages or input/output bundles
Failure shown in Make:
Data couldn’t be processed
Not Found
Code: DataError
Origin: HTTP
The response is a Google HTML page titled “Page not found”, containing:
“Sorry, unable to open the file at present.”
“Please check the address and try again.”
Example POST body (file ID redacted):
{
"fileId": "<test-spreadsheet-id>",
"sheetName": "Sheet1",
"expectedCount": 2
}
Successful response when rerunning the same request:
{
"statusCode": 200,
"data": {
"ok": true,
"fileId": "<same-test-spreadsheet-id>",
"sheetName": "Sheet1",
"studentCount": 2,
"empty": false
}
}
