「請假核准後,行事曆自動更新」Google Apps Script 串接
情境說明
請假申請核准後,HR 還要手動更新 Google 行事曆或假期試算表,浪費時間又容易漏。
透過 API 節點串接 Google Apps Script,流程核准的瞬間,Google Sheets 自動寫入一筆假期紀錄,HR 完全不需要手動操作。
流程設計
員工填寫請假申請
(請假類型、開始日期、結束日期、代理人、請假原因)
↓
直屬主管審核
↓
[核准] → API 節點:自動呼叫 Google Apps Script
→ 寫入假期追蹤 Google Sheet
→ 完成
[退件] → 流程結束對 SuperAdmin Agent 說這些
「建立一個請假申請流程。員工填寫:請假類型(特休/病假/事假/其他)、開始日期、結束日期、代理人(選擇組織成員)、請假原因。
提交後由直屬主管審核。核准後,呼叫一個 Webhook URL(我之後再填),自動把請假資料寫入我們的 Google Sheet。退件就直接結束。」
設定 Google Apps Script
在 Google Sheets 中建立 Apps Script,接收 kikuflow 傳送的資料:
javascript
// Google Apps Script - doPost 函數
function doPost(e) {
const data = JSON.parse(e.postData.contents);
const sheet = SpreadsheetApp.getActiveSheet();
// 將請假資料寫入試算表
sheet.appendRow([
data.employeeName, // 員工姓名
data.leaveType, // 請假類型
data.startDate, // 開始日期
data.endDate, // 結束日期
data.proxy, // 代理人
new Date() // 紀錄時間
]);
return ContentService.createTextOutput('OK');
}- 在 Apps Script 中部署為「網路應用程式」(執行身份:我自己)
- 複製部署後的 URL
- 在 kikuflow 的 API 節點中填入這個 URL
kikuflow 傳送的資料格式
API 節點觸發時,kikuflow 會以 POST 請求傳送流程實例的表單資料:
json
{
"instanceId": "...",
"workflowName": "請假申請",
"submittedBy": "員工姓名",
"fields": {
"leaveType": "特休",
"startDate": "2025-03-10",
"endDate": "2025-03-12",
"proxy": "王小明",
"reason": "..."
}
}延伸應用
同樣的方式可以延伸到:
- 核准後自動在 Google Calendar 建立缺席事件
- 自動發 Email 通知代理人
- 寫入 HR 系統的 API