Base Automation HR
Tự động hóa quy trình nhân sự với Automated Actions cho HR module
Base Automation HR mở rộng module Base Automation để cung cấp các automated actions chuyên biệt cho quy trình nhân sự, giúp tự động hóa onboarding nhân viên, phê duyệt nghỉ phép, quản lý timesheet và gửi thông báo.
Module này tích hợp sâu với HR, HR Holidays, HR Timesheet để tạo các quy tắc tự động dựa trên sự kiện như nhân viên mới, yêu cầu nghỉ phép, timesheet chờ duyệt, giúp tiết kiệm thời gian và đảm bảo quy trình nhất quán.
Tính năng chính
Điểm chính
• Automated Actions cho HR: Trigger tự động khi tạo/cập nhật nhân viên, nghỉ phép, timesheet
• Employee Onboarding: Tự động tạo task, gửi email chào mừng, cấp quyền truy cập cho nhân viên mới
• Leave Approval Workflow: Tự động gửi thông báo cho manager, escalate yêu cầu quá hạn
• Timesheet Automation: Nhắc nhở nhân viên điền timesheet, tự động submit cuối tuần
• Notification Triggers: Gửi email/SMS/chatter khi có sự kiện quan trọng (sinh nhật, kỷ niệm)
• Conditional Actions: Thực thi action dựa trên điều kiện phức tạp (department, job position)
Thuật ngữ EN/VI
| Fields | Trường dữ liệu | Description |
|---|---|---|
| Automated Action | Hành động tự động | Quy tắc tự động thực thi khi có trigger |
| Trigger | Kích hoạt | Sự kiện kích hoạt action (On Create, On Update, On Delete) |
| Server Action | Hành động máy chủ | Python code hoặc action thực thi trên server |
| Filter Domain | Bộ lọc điều kiện | Điều kiện để action được thực thi |
| Activity | Hoạt động | Task/reminder gắn với bản ghi |
| Follower | Người theo dõi | User nhận thông báo về bản ghi |
Quy trình thiết lập
Các bước thực hiện
1. Kích hoạt module: Vào Apps, tìm "Base Automation HR", nhấn Install. Module yêu cầu Base Automation và HR đã cài đặt.
2. Tạo Automated Action: Vào Settings → Technical → Automation → Automated Actions, nhấn New. Chọn Model: hr.employee (hoặc hr.leave, hr.timesheet).
3. Cấu hình Trigger: Chọn Trigger Condition: On Creation (khi tạo mới), On Update (khi cập nhật), Based on Form Modification (khi field thay đổi), hoặc Based on Timed Condition (theo thời gian).
4. Thiết lập Filter Domain: Nhấn Edit Domain, thêm điều kiện như [("department_id.name", "=", "Sales")] để chỉ áp dụng cho phòng Sales.
5. Chọn Action Type: Execute Python Code (chạy code), Create Activity (tạo task), Send Email (gửi email), Add Followers (thêm người theo dõi), hoặc Update Record (cập nhật field).
6. Test Action: Nhấn Run Action để test với bản ghi mẫu. Kiểm tra log để đảm bảo action chạy đúng.
Ví dụ thực tế
Use cases phổ biến
| Tình huống | Cấu hình | Lợi ích |
|---|---|---|
| Onboarding nhân viên mới | Model: hr.employee, Trigger: On Creation, Action: Create Activity (tạo checklist onboarding), Send Email (gửi email chào mừng), Add Followers (thêm HR manager) | Tự động hóa quy trình onboarding, đảm bảo không bỏ sót bước nào |
| Nhắc nhở điền timesheet | Model: hr.employee, Trigger: Based on Timed Condition (mỗi thứ 6 lúc 16h), Filter: [("timesheet_ids", "=", False)], Action: Send Email | Nhân viên không quên điền timesheet, giảm công việc nhắc nhở thủ công |
| Phê duyệt nghỉ phép tự động | Model: hr.leave, Trigger: On Creation, Filter: [("number_of_days", "<=", 1)], Action: Execute Python (record.action_approve()) | Nghỉ phép 1 ngày tự động duyệt, tiết kiệm thời gian manager |
| Thông báo sinh nhật nhân viên | Model: hr.employee, Trigger: Based on Timed Condition (hàng ngày 9h), Filter: [("birthday", "=", today)], Action: Send Email (gửi cho team) | Tăng tinh thần đồng đội, không bỏ sót sinh nhật |
| Escalate timesheet quá hạn | Model: hr.timesheet, Trigger: Based on Timed Condition (hàng ngày), Filter: [("date", "<", today - 7 days), ("state", "=", "draft")], Action: Create Activity (gán cho manager) | Manager biết timesheet nào cần xử lý gấp |
Best practices
Điểm chính
• Test kỹ Filter Domain: Dùng Edit Domain để test điều kiện trước khi kích hoạt action
• Tránh vòng lặp vô hạn: Nếu action Update Record, đảm bảo không trigger lại chính nó
• Sử dụng Activity thay vì Email: Activity ít spam hơn, dễ theo dõi trong Odoo
• Log Python Code: Thêm _logger.info() trong Python action để debug
• Phân quyền cẩn thận: Action chạy với quyền của user tạo action, không phải user trigger
• Backup trước khi deploy: Test action trên staging trước khi áp dụng production