Automation
Google Workspace+GAS 自動化零基礎入門
用 Google Apps Script 把 Gmail、雲端硬碟、表單、試算表串成自動流程。賴家榮零基礎入門:看懂工具、拆解流程、做出第一個自動化。附完整簡報下載。
閱讀知識
會議一結束,讓 Gemini 把逐字稿濃縮成一封好讀的摘要,Apps Script 再用 Gmail 自動寄給名單上的每位與會者。
會議摘要最怕「拖」。開完當下大家記憶最清楚,但摘要常常拖到隔天才整理、才寄出,效果打折。這篇教學讓摘要的產生和寄送都自動化:你把逐字稿準備好、按執行,Gemini 濃縮重點、Gmail 群發,散會沒多久,每個人信箱裡就有一份一致的摘要。
手動寫摘要再一封封寄,是兩件都很煩的事。寫摘要要重讀逐字稿抓重點,寄信要一個個貼收件人、怕漏掉人。把這兩步交給流程,你只要出逐字稿和名單,剩下自動完成。摘要當天就寄出,趁大家記憶還新,後續行動的機率也高很多。
用 Gmail 來寄的好處是,信件走的是你自己的帳號,收件人看到的就是「你寄的信」,正式又有信任感,還能被搜尋、被回覆、留在信件歷程裡。Apps Script 直接串接 GmailApp,不用另接第三方寄信服務,也不用管伺服器設定,對零基礎的人是最省事的做法。
動作把會議逐字稿整理成一段文字,並列出與會者的 email。
常見地雷email 之間之後在程式裡用逗號分隔,先確認每個都拼對。
動作到 aistudio.google.com 建立 API 金鑰並複製。
常見地雷金鑰只完整顯示一次,先貼到安全處存好。
動作打開 script.google.com 建新專案,清空預設函式。
常見地雷取個好認的名字,例如「會議摘要群發」。
動作在「專案設定→指令碼屬性」新增 GEMINI_API_KEY,值貼上金鑰。
常見地雷名稱大小寫完全一致,不能有多餘空格。
動作把下方第一段程式碼原封不動貼進編輯器。
常見地雷共用工具,網址與參數都別改。
動作貼上第二段 emailMeetingSummary,填入逐字稿、收件人與主旨。
常見地雷recipients 用逗號分隔多個 email,例如 'a@x.com,b@y.com'。
動作第一次先把收件人只填你自己,執行 emailMeetingSummary 授權寄信並收信檢查。
常見地雷第一次會要求授權寄信,允許即可;未驗證提示點「進階→前往」。
動作確認摘要內容 OK 後,把 recipients 換成正式與會者名單,再執行一次。
常見地雷Gmail 一般帳號每天寄信有上限,人數多時分批或留意額度。
第一段是共用的 askGemini 函式,把文字送給 Gemini 並取回回覆,請原封不動貼上。
function askGemini(prompt) {
const key = PropertiesService.getScriptProperties().getProperty('GEMINI_API_KEY');
const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=' + key;
const payload = { contents: [{ parts: [{ text: prompt }] }] };
const res = UrlFetchApp.fetch(url, { method:'post', contentType:'application/json', payload: JSON.stringify(payload), muteHttpExceptions:true });
return JSON.parse(res.getContentText()).candidates[0].content.parts[0].text.trim();
}
第二段是主流程。它請 Gemini 把逐字稿濃縮成含重點與決議的摘要,再用 GmailApp.sendEmail 把摘要一次寄給名單上的所有人。收件人用逗號串成一個字串即可。
function emailMeetingSummary() {
const transcript = '把會議逐字稿貼在這裡'; // 換成逐字稿內容
const recipients = 'you@example.com'; // 多人用逗號分隔,測試時先填自己
const subject = '【會議摘要】專案週會';
const prompt = '你是會議秘書。請把以下逐字稿濃縮成一封會議摘要信的內文,' +
'包含:一句話總結、重點討論(3-5 點)、決議事項、後續待辦。' +
'語氣專業友善,用繁體中文,直接給內文即可,不要加信件開頭問候與署名。逐字稿如下:\n\n' + transcript;
const summary = askGemini(prompt);
const body = '各位好,\n\n以下是本次會議的摘要:\n\n' + summary +
'\n\n若有補充或修正,歡迎直接回信。\n\n(本信由會議助理自動整理寄送)';
GmailApp.sendEmail(recipients, subject, body);
Logger.log('摘要已寄出給:' + recipients);
}
流程把「寫摘要」和「寄信」兩步合成一鍵:逐字稿與名單是輸入,一封發出去的摘要信是輸出。因為走你自己的 Gmail,收件人看到的是可信的來源,回覆也會回到你這裡,後續溝通不會斷。
只要養成「先寄給自己」的習慣就很安全。這篇步驟特別安排第一次把收件人只填你自己,確認摘要內容和版面都 OK,再換成正式名單。這樣就算 prompt 還沒調好、格式怪怪的,也只有你自己收到,不會打擾到與會者。
一般免費 Gmail 帳號每天透過 Apps Script 寄信有數量上限,Workspace 付費帳號額度更高。單場會議幾位到幾十位與會者通常沒問題。如果你要一次寄給上百人,建議分批寄、或改用群組信箱,並注意不要短時間內密集大量寄送以免被視為異常。
摘要是根據逐字稿生成的,逐字稿正確、摘要通常就貼近事實。但為了保險,正式對外前建議先寄給自己看一遍,特別檢查決議和待辦這兩段有沒有誤植。等你信任這套流程的品質後,再改成直接群發也不遲,一開始謹慎一點比較好。
可以,這也是最實用的做法。把名單放到試算表的某一欄,程式用 getRange 讀進來組成收件字串,之後換人開會只要改表格、不用動程式。也可以在試算表裡分不同分頁對應不同會議,程式讀哪一頁就寄給那組人。
可以。把 sendEmail 改用 htmlBody 選項,並在 prompt 裡請 Gemini 直接輸出 HTML(粗體、項目清單等),信件就會有排版。建議先把純文字版跑通、確認流程沒問題,再進一步加 HTML 美化,一步一步來比較不會卡住。
回到你這個寄件帳號的信箱,因為信是用你的 Gmail 寄出的。這其實是優點:與會者要補充或修正,直接回信就回到你這,你能集中管理討論,不會像用第三方群發工具那樣回信不知道跑去哪。
為了安全。金鑰是你 Gemini 帳號的通行證,寫死在程式碼裡,一旦分享或外流就可能被盜用、費用算你頭上。放進指令碼屬性等於收進保險箱,程式讀得到,但不會出現在你分享出去的程式碼裡,是官方建議的標準做法。
技術上可以用觸發器排程,但摘要要有逐字稿才有料,而逐字稿通常要等你準備好。比較實用的做法是做成一鍵:散會後貼上逐字稿、按執行,幾分鐘內就寄出。這樣兼顧速度與正確,不會在逐字稿還沒好時就寄出空摘要。
Gemini 處理長文的能力不錯,一般會議逐字稿都能濃縮得宜。真的非常長時,可以先請它分段摘要再彙整,或先刪掉明顯的閒聊再送。摘要的重點是抓決議和待辦,只要這兩塊準確,中間討論濃縮得精簡一點反而更好讀。
不會特別標示,除非你自己想寫。這篇的範例在信末加了一句「本信由會議助理自動整理寄送」,是為了誠實告知收件人,你可以保留、修改或拿掉。信件本身就是從你的 Gmail 正常寄出,外觀跟你手動寄的一樣。
當摘要能在散會五分鐘內自動送到每個人信箱,會議的價值才真正被留住。把摘要群發串起來後,你可以再接上待辦萃取、期限提醒,讓「開會→摘要→追蹤」變成一條完全不用手動的流程,團隊的執行力自然跟著上來。
想讓團隊用 AI+自動化把重複工作交給流程?賴家榮提供 Workspace/GAS/Gemini 企業內訓與大學課程。
預約授課・免費諮詢本文為賴家榮 AI 教學中心原創教學內容;想讓團隊學會用 AI,歡迎看AI 課程或預約授課 →
代表圖片來源:圖片來源:Pexels