以 n8n「學校教育單位以 AI 助力班級經營、減輕教師負擔、優化師生家長行政流程」的整體設計思路:
1. 需求拆解
-
資訊蒐集:自動擷取校內公告、課程表、作業繳交、成績更新等來源(Google Classroom API、校務系統 RSS/API)。
-
AI 智能整理:將蒐集到的資訊進行摘要、歸類(如「作業通知」「成績公布」「活動提醒」),並自動生成教案重點、家長溝通簡報。
-
多方通知:透過 LINE 或學校 App,定向推播給教師群組、學生群組、家長群組。
-
互動回饋:家長可透過回覆或按鈕確認簽到、簽收通知,學生可回報作業完成、提出問題。
-
監控與錯誤處理:若資訊擷取或推播失敗,自動通知 IT 管理員並嘗試重試。
2. 技術選型與環境準備
-
n8n:作為流程引擎,實現排程、連接各系統。
-
校務系統 API / Google Classroom API:取得教務公告、作業、成績等資料。
-
AI 服務:OpenAI API(摘要、分類、教案重點擷取)。
-
LINE Notify / Messaging API:對教師、家長、學生分別推播。
-
環境變數管理:在 n8n 的憑證管理中配置
CLASSROOM_API_KEY、OPENAI_API_KEY、LINE_TEACHER_TOKEN、LINE_PARENT_TOKEN。
3. n8n 工作流程架構
4. 各節點詳細設定
1. Cron Trigger(排程)
-
範例:每天早上 07:30 檢查前一日公告與作業更新。
2. HTTP Request(校務系統 / Classroom)
-
URL:
-
https://school.example.edu/api/announcements?since={{ $today }} -
https://classroom.googleapis.com/v1/courses/{{courseId}}/announcements
-
-
憑證:
CLASSROOM_API_KEY
3. SplitInBatches(批次處理)
-
Batch Size:1 條通知一次處理,確保分類精準。
4. OpenAI Node(AI 智能整理)
-
Prompt:
-
Temperature:0.3;Max Tokens:150
5. Function Node(格式化)
-
目的:為不同對象加入對應標籤與格式,例如:
6. LINE Notify Node(多方推播)
-
教師通知 (
LINE_TEACHER_TOKEN): -
學生通知 (
LINE_STUDENT_TOKEN): -
家長通知 (
LINE_PARENT_TOKEN):
7. Interaction Webhook(互動回饋)
-
功能:家長點擊「已讀」按鈕後,將狀態回寫校務系統;學生點「作業完成」時,可觸發教師提醒。
-
實現:LINE Messaging API Webhook + n8n HTTP Webhook 節點解析回覆事件,並呼叫校務系統 API 更新狀態。
8. Error Workflow(錯誤監控與重試)
-
設置:在關鍵節點打開「On Error Execute Workflow」,將錯誤訊息匯總,推播給 IT 群組,並自動重試三次。
5. 部署與運維建議
-
部署方式:用 Docker Compose 佈署 n8n,並以 HTTPS 保護。
-
憑證管理:所有 API 金鑰放在 n8n 的 Credentials 內。
-
監控日誌:結合 Grafana + Loki 或 ELK,實時監看失敗率。
-
通知頻率優化:可依班級、科目做分組篩選,避免同時推播過多訊息。
-
版本控管:將 n8n workflow JSON 存於 Git,並於更新後同時同步至測試環境驗證。