function doPost(e) { try { var json = JSON.parse(e.postData.contents); var sheetName = json.sheetName || "Chat Logs"; // Use provided name or default var data = json.data; if (!data || !Array.isArray(data) || data.length === 0) { throw new Error("No data received or data is in the wrong format."); } var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getSheetByName(sheetName); if (!sheet) { sheet = spreadsheet.insertSheet(sheetName); } // Add a clear timestamp for when the export happened sheet.clear(); // Clear old data sheet.getRange("A1").setValue("Exported on: " + new Date().toUTCString()).setFontStyle("italic"); // Set headers var headers = ["Timestamp", "Role", "Text"]; sheet.getRange(2, 1, 1, headers.length).setValues([headers]).setFontWeight("bold"); // Append data var startRow = 3; // Start after timestamp and headers sheet.getRange(startRow, 1, data.length, data[0].length).setValues(data); sheet.autoResizeColumns(1, headers.length); return ContentService.createTextOutput(JSON.stringify({ "status": "success", "message": "Data written to " + sheetName })).setMimeType(ContentService.MimeType.JSON); } catch (error) { Logger.log(error.toString()); return ContentService.createTextOutput(JSON.stringify({ "status": "error", "message": error.toString() })).setMimeType(ContentService.MimeType.JSON); } }