Apps Script setup guide
Copy the sheet, deploy it as a web app, sign in — about 10 minutes.
1. Copy the sheet into your Drive
- Open the Google Sheet link from your purchase, signed in to the Google account that will own it.
- File → Make a copy → Make a copy.
- Never use File → Download — an .xlsx file loses the Apps Script.
- Check: your avatar top-right, cells are editable, the sheet is in Drive → Recent.
2. Open the Apps Script
- In your copy: Extensions → Apps Script.
- Only if Code.gs starts with
SHEET_ID/FOLDER_ID: paste your IDs between the quotes (2026+ projects skip this).// Configuration — update these IDs const SHEET_ID = 'your-sheet-id-here'; const FOLDER_ID = 'your-folder-id-here';
- Sheet ID = the part between
/d/and/editin the sheet URL. Folder ID = the part after/folders/. - Save with Ctrl/Cmd+S and wait for Project saved.
3. Deploy as a web app
- Deploy → New deployment → → Web app.
- Execute as Me. Who has access: Only myself, Anyone with Google account or Anyone.
- Avoid Anyone if the sheet holds private data — the app runs as you.
- Deploy → Authorize access → your account → Advanced → Go to project (unsafe).
- Tick Select all → Continue, then copy the Web app URL — that is your app.
4. Sign in
- Open the Users tab in your copy — each row is one login.
- Read the Username and Password columns by their row-1 headers (column letters differ per app).
- Sign in. Change a password by typing over it in the sheet; add people as rows with an existing role.
- Keep the sheet private and replace the demo passwords before going live.
5. Clear the demo data
- Each app section has a sheet tab with the same name.
- Select row 2 to the last row → right-click → Delete rows, on every tab you want empty.
- Never delete or edit row 1 — the app finds its columns by those headers.
- Keep your own row in Users, then reload the app. A section still listing rows = its tab was missed.
6. Update your app
- Saving the code does not change the live URL.
- Preview: Deploy → Test deployments (opens for the script owner only).
- Publish: Deploy → Manage deployments → Edit → Version New version → Deploy. Same URL, new code.
- Don't use New deployment to update — it makes a second URL and the old one keeps the old code.
OpenAI API key
- Sign in at platform.openai.com (not chatgpt.com).
- Settings → Billing → add at least $5 credit, pay-as-you-go.
- No credit = Error 429 insufficient_quota. ChatGPT Plus is not API credit.
- API keys → Create new secret key → copy it (starts with
sk-, shown once). - Paste it in the tool's Admin Settings → API Key, or in Code.gs:
// paste your key between the quotes const OPENAI_API_KEY = 'sk-your-key-here';
- Never share the key. If it leaks, delete it and create a new one.
Gemini API key (free)
- Open aistudio.google.com/apikey and sign in.
- Create API key → Create API key in new project.
- Copy the key (starts with
AIza) — free tier, no card needed. - Paste it in Admin Settings → API Key, or in Code.gs:
// paste your key between the quotes const GEMINI_API_KEY = 'AIza-your-key-here';
- API key not valid = an extra space or a missing character. Re-copy and paste.
Troubleshooting
- "This app isn't verified" Advanced → Go to project (unsafe). It is your own script.
- Web app shows an error Check the IDs, save, publish a new version, then read Executions in the editor.
- "You need permission" Work in your copy, use one Google account for everything, redeploy and re-allow.
- No Apps Script menu Use Google Sheets on a desktop browser: Extensions → Apps Script. Workspace admins can block it.
- Where does the API key go? Admin Settings → API Key, or between the quotes in Code.gs, then publish a new version.
- OpenAI Error 429 Add billing credit — ChatGPT Plus is not API credit.
- Is my data shared with you? No. Your copy, data and keys stay in your Google account.
- Can I use it on my phone? Yes, in any mobile browser. Setup needs a desktop browser.
Need help?
Send a screenshot of the error or the Executions page.