CK Videos Checklist
0 items Β· β 0 shot Β· β β β 0 ready Β·
Notes
Synced
π Version Historyexpand
No versions yet.
π Google Sheets Syncexpand
Not connected.
π How to connect Google Sheetsexpand
Step 1. Create a new Google Sheet named "CK Videos Checklist".
Step 2. Extensions β Apps Script β replace all code with:
function doGet(e) {
const p = e && e.parameter;
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('Data') || ss.insertSheet('Data');
if (p && p.action === 'load') {
const notes = sheet.getRange('C1').getValue();
return ContentService.createTextOutput(
JSON.stringify({ data: sheet.getRange('A1').getValue(), teamNotes: notes }))
.setMimeType(ContentService.MimeType.JSON);
}
return ContentService.createTextOutput(JSON.stringify({ status:'ok' }))
.setMimeType(ContentService.MimeType.JSON);
}
function doPost(e) {
const body = JSON.parse(e.postData.contents);
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('Data') || ss.insertSheet('Data');
if (body.action === 'save') {
const ex = sheet.getRange('A1').getValue();
const exTs = sheet.getRange('B1').getValue();
if (ex) {
const lr = sheet.getLastRow();
sheet.getRange('A'+(lr+1)).setValue(ex);
sheet.getRange('B'+(lr+1)).setValue(exTs);
}
sheet.getRange('A1').setValue(body.data);
sheet.getRange('B1').setValue(new Date().toISOString());
if (body.teamNotes !== undefined) sheet.getRange('C1').setValue(body.teamNotes);
// Write human-readable summary to "Videos" tab
if (body.humanRows && body.humanRows.length) {
let vs = ss.getSheetByName('Videos');
if (!vs) vs = ss.insertSheet('Videos');
vs.clearContents();
vs.getRange(1,1,body.humanRows.length,body.humanRows[0].length)
.setValues(body.humanRows);
vs.getRange(1,1,1,body.humanRows[0].length)
.setFontWeight('bold');
vs.setFrozenRows(1);
}
}
if (body.action === 'calendar') {
const cal = CalendarApp.getDefaultCalendar();
const start = new Date(body.start);
const end = new Date(start.getTime() + 60*60*1000);
cal.createEvent(body.title, start, end, { description: body.desc||'' });
}
return ContentService.createTextOutput(JSON.stringify({ status:'ok' }))
.setMimeType(ContentService.MimeType.JSON);
}
Step 3. Deploy β New Deployment β Web App β Anyone β Copy URL.
Step 4. Paste URL above. Auto-loads on open.
Status Legend
Idea
Misc / Hold Off
Shot / Google Photos
Prepped / Needs small edit
Ready to Post
Posted
Scheduled
Schedule Video
β
6:00 AM
8:00 AM
9:00 AM
10:00 AM
12:00 PM
2:00 PM
4:00 PM
6:00 PM