← AI Revenue Experiment ・ 日本語版 ・ Toolkit details
Live demo / what's inside"Includes a ready-to-run Google Apps Script" is easy to write. So here's the actual thing: the full source of Script #1 ("AI batch process") from the toolkit, plus a real Before→After of what it produces. Decide with the code in front of you.
Take a column of text, send each row to the AI with your instruction, and write the result to the next column — up to 200 rows from one menu click. The "paste into ChatGPT every time" step disappears.
The default instruction classifies each row as Complaint / Question / Request / Other. You change exactly one line:
INSTRUCTION: 'Classify this customer message as exactly one of Complaint / Question / Request / Other: {input}'
Paste messages into column A, click AI Tools → Process column A into B, and column B fills in:
| Column A (what you paste) | Column B (AI fills in) |
|---|---|
| My order from last week still hasn't arrived. When will it ship? | Question |
| Honestly the support was far too slow and I'm disappointed. | Complaint |
| Can you change the name on my receipt to our company name? | Question |
| Please add a one-time purchase option instead of a subscription. | Request |
| Thanks for your help — no issues on my end. | Other |
※ Swap the labels for your own workflow (e.g. "Urgent / Normal / Hold", or "Lead score: High / Med / Low").
Change only the instruction and the same script does a different job:
INSTRUCTION: 'Summarize this into one sentence using only stated facts. Do not speculate or exaggerate: {input}'
| Column A (long note / meeting excerpt) | Column B (AI fills in) |
|---|---|
| Today's meeting discussed the new feature's release date. Dev is 90% done but a staging bug delayed final testing; we agreed to re-decide next week. | Final testing is delayed; release date to be re-decided next week. |
| Customer asked about a line item on their invoice. Owner confirmed the label wording will be standardized from the next issue onward. No extra charge applies. | Invoice wording standardized from next issue; no extra charge. |
※ The "use only stated facts / don't exaggerate" constraint is deliberate — it curbs the AI's habit of confidently inventing details.
No hand-waving — this is the code that ships. A non-coder only touches the config block at the top (your API key, and the instruction you want to run).
const CONFIG = {
API_KEY: 'PUT YOUR OpenAI API KEY (sk-...) HERE', // ← change this only
MODEL: 'gpt-4o-mini', // cheap and plenty; use 'gpt-4o' for max quality
INSTRUCTION: 'Classify this message as one of Complaint / Question / Request / Other: {input}',
INPUT_COL: 1, // column A = input
OUTPUT_COL: 2, // column B = output
START_ROW: 2, // row 1 is a header, skipped
MAX_ROWS: 200, // max rows per run (runaway guard)
TEMPERATURE: 0
};
function batchProcess() {
const sheet = SpreadsheetApp.getActiveSheet();
const last = Math.min(sheet.getLastRow(), CONFIG.START_ROW + CONFIG.MAX_ROWS - 1);
for (let row = CONFIG.START_ROW; row <= last; row++) {
const input = sheet.getRange(row, CONFIG.INPUT_COL).getValue();
const existing = sheet.getRange(row, CONFIG.OUTPUT_COL).getValue();
if (!input || existing) continue; // skip blanks & already-done rows (safe to re-run)
const out = askAI(CONFIG.INSTRUCTION.replace('{input}', String(input)));
sheet.getRange(row, CONFIG.OUTPUT_COL).setValue(out);
Utilities.sleep(300); // rate-limit friendly
}
}
※ Excerpt. The shipped file also includes the menu (onOpen), the OpenAI call (askAI), an error path that writes "ERROR: …" into column B, and a completion toast. Script #2 emails a scheduled summary every morning, automatically.
Script #1 (AI batch process) and Script #2 (auto daily summary email), plus 20 business prompts, a workflow pack, an invoice template and a setup guide — one-time $19, no subscription.
Get the Toolkit — $19 →Already decided? Buy directly — secure Stripe checkout ($19) →
※ This is part of a public experiment testing whether an AI can actually earn revenue — sales and failures published openly. If a free prompt is all you need, take it and go.