# Gởi Phiếu Lương Qua Email

{% hint style="info" %}
Gửi phiếu lương hàng tháng cho nhân sự luôn là một nhiệm vụ bắt buộc của bộ phận kế toán – nhân sự của mỗi công ty. Tuy nhiên, làm thể nào để gửi bảng kê lương cho mỗi nhân viên một cách nhanh chóng và hiệu quả cũng đặt ra một bài toán khó, đặc biệt là với các công ty vừa và nhỏ.
{% endhint %}

## Yêu Cầu

* Bạn đã có file bot template và đã kích hoạt giấy phép sử dụng cũng như thực hiện xong việc cài đặt ban đầu theo hướng dẫn

Trong use case này, chúng tôi sử dụng:

* File [AKA Bot - Use Cases - Demo](https://docs.google.com/spreadsheets/d/1Y5LwIbAW_s4B7LyQJI-Xysj0iBhaW9ODHE4gJsat43o/edit?gid=0#gid=0) chứa data ví dụ
* File [aka-bot-use-cases-demo](https://docs.google.com/spreadsheets/d/1WXXt8j5nzu2kggsnfWfm_Pu0cVu-ihMalL4QnrfiVro/edit?gid=321724212#gid=321724212) chứa kết quả cài đặt bot cho use case

{% hint style="info" %}
Thông tin trong file ví dụ là dữ liệu sinh ngẫu nhiên và không có giá trị&#x20;
{% endhint %}

### Command Sử Dụng

* Email

## Các Bước Thực Hiện

### **Chuẩn bị file thông báo lương**

Tạo file Google Sheet chứa thông tin lương của từng nhân viên, bao gồm các trường như: Tên nhân viên, Mã nhân viên, Lương cơ bản, Các khoản phụ cấp, Thuế, Bảo hiểm, Lương thực nhận, ...Danh sách cũng bao gồm địa chỉ email của từng nhân viên. Trong use case này, chúng ta sử dụng sheet **Salary** làm datasource và range dữ liệu để phục vụ việc gởi mail sẽ là **A5:I20**

### **Cấu Hình Datasource**

Mở sheet **Spreadsheets** của file bot vào tạo mới 1 datasource

<table><thead><tr><th width="80">Tên</th><th width="402">Giá trị</th><th>Chú thích</th></tr></thead><tbody><tr><td>Id</td><td>1</td><td>Giá trị tùy ý nhưng nên duy nhất</td></tr><tr><td>Name</td><td>Use Cases</td><td></td></tr><tr><td>Url</td><td><a href="https://docs.google.com/spreadsheets/d/1Y5LwIbAW_s4B7LyQJI-Xysj0iBhaW9ODHE4gJsat43o/edit?gid=0#gid=0">https://docs.google.com/spreadsheets/d/1Y5LwIbAW_s4B7LyQJI-Xysj0iBhaW9ODHE4gJsat43o/edit?gid=0#gid=0</a></td><td></td></tr></tbody></table>

### **Cấu Hình Agent**

Chuyển đến sheet **Agents** và tạo mới 1 mục với thông tin như sau

<table><thead><tr><th width="130">Tên</th><th width="380">Giá trị</th><th>Chú thích</th></tr></thead><tbody><tr><td>Id </td><td>1</td><td>Giá trị tùy ý nhưng nên duy nhất</td></tr><tr><td>Spreadsheet</td><td>1</td><td>Tham chiếu đến Id của datasource đã tạo ở trên</td></tr><tr><td>Sheet </td><td>Salary</td><td>Sheet chứa data sẽ truy vấn</td></tr><tr><td>Range</td><td>A5:I20</td><td>Địa chỉ chính xác dữ liệu sẽ đọc</td></tr><tr><td>Headers</td><td>1</td><td>Dòng đầu tiên là header</td></tr><tr><td>Query</td><td>where A > 0</td><td>Câu lệnh query dữ liệu, với query này sẽ trả về 15 dòng</td></tr><tr><td>Actions </td><td>mail-salary</td><td>Tên action sẽ triệu gọi để truyền kết quả</td></tr><tr><td>Active </td><td>True</td><td></td></tr><tr><td>Joint </td><td>False</td><td></td></tr><tr><td>Note</td><td></td><td>Gởi Phiếu Lương Qua Email</td></tr></tbody></table>

### **Cấu Hình Action**

Chúng ta sử dụng command Email để gởi mail. Bot sẽ truyền dữ liệu từng dòng/row kết quả cho action và action sẽ thực hiện tác vụ gởi vụ. Trong sheet Actions, chúng ta tạo 1 action với cấu hình như sau

| Tên       | Giá trị                                                                                                      | Chú thích                                                                                             |
| --------- | ------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |
| Name      | mail-salary                                                                                                  | Đặt tên đúng với tên đã cấu hình ở phần Agent (không nên dùng ký  tự trắng trong tên, dùng - hoặc \_) |
| Command   | Email                                                                                                        |                                                                                                       |
| Arguments | -name 'Công ty ABC' -subject 'LƯƠNG THÁNG 07/2025' -body '<#SalaryEmail#>' -to "\<?= $\['Địa chỉ Email'] ?>" | Giá trị các đối số có ký tự trắng nên chúng ta dùng cắp ký '' để bao quanh.                           |

Do nội dung Email nhiều thông tin nên chúng ta sẽ tách thành 1 template bằng cách tạo 1 mục trong sheet **System** với giá trị như sau:

**Key**: SalaryEmail

**Value**

{% code overflow="wrap" %}

```html
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Thông Báo Lương Tháng 07/2025</title>
    
</head>
<body style="font-family: Arial, sans-serif;line-height: 1.6;color: #333;margin: 0;padding: 0;background-color: #f4f4f4;">
    <div class="container" style="max-width: 600px;margin: 20px auto;background-color: #ffffff;padding: 20px;border-radius: 8px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);">
        <div class="header" style="background-color: #007bff;color: #ffffff;padding: 10px;text-align: center;border-radius: 8px 8px 0 0;">
            <h1>Thông Báo Lương Tháng 07/2025</h1>
        </div>
        <div class="content" style="padding: 20px;">
            <p>Kính gửi <strong><?= $['Tên Nhân Viên'] ?></strong>,</p>
            <p>Công ty ABC xin gửi đến Anh/Chị thông tin chi tiết về lương tháng 07/2025 như sau:</p>
            
            <h2 style="color: #007bff;">Thông Tin Lương Tháng 07/2025</h2>
            <table style="width: 100%;border-collapse: collapse;margin-bottom: 20px;">
                <tr>
                    <th style="text-align: left;color: #555;">Họ và Tên</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><?= $['Tên Nhân Viên'] ?></td>
                </tr>
                <tr>
                    <th style="text-align: left;color: #555;">Bộ Phận</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><?= $['Bộ Phận'] ?></td>
                </tr>
                <tr>
                    <th style="text-align: left;color: #555;">Lương Cơ Bản</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><?= $['Lương Cơ Bản'] ?> VND</td>
                </tr>
                <tr>
                    <th style="text-align: left;color: #555;">Thưởng</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><?= $['Thưởng'] ?> VND</td>
                </tr>
                <tr>
                    <th style="text-align: left;color: #555;">Phụ Cấp</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><?= $['Phụ Cấp'] ?> VND</td>
                </tr>
                <tr>
                    <th style="text-align: left;color: #555;">Khấu Trừ BHXH</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><?= $['Khấu Trừ BHXH'] ?> VND</td>
                </tr>
                <tr>
                    <th style="text-align: left;color: #555;">Lương Ròng</th>
                    <td style="padding: 8px;border-bottom: 1px solid #ddd;"><strong><?= $['Lương Ròng'] ?> VND</strong></td>
                </tr>
            </table>

            <p><strong>Ghi chú:</strong></p>
            <ul>
                <li>Lương ròng sẽ được chuyển khoản vào tài khoản của Anh/Chị vào ngày <strong>10/07/2025</strong>.</li>
                <li>Vui lòng kiểm tra kỹ thông tin trên. Nếu có bất kỳ thắc mắc hoặc sai sót nào, Anh/Chị vui lòng liên hệ Bộ phận Nhân sự qua email <a href="mailto:hr@abc.com">hr@abc.com</a> hoặc số điện thoại 0123456789 trước ngày <strong>08/07/2025</strong>.</li>
            </ul>

            <p>Chúng tôi cảm ơn Anh/Chị đã đóng góp cho sự phát triển của Công ty ABC.</p>

        </div>
        <div class="footer" style="text-align: center;font-size: 12px;color: #777;padding: 10px;border-top: 1px solid #ddd;">
            <p><strong>Bộ Phận Nhân Sự</strong><br>
            Công ty ABC<br>
            Email: <a href="mailto:hr@abc.com">hr@abc.com</a><br>
            Website: <a href="http://www.abc.com">www.abc.com</a></p>
        </div>
    </div>
</body>
</html>
```

{% endcode %}

Chúng ta sử dụng định dạng HTML để format nội dung email. Mẫu này được thiết kế đơn giản để đảm bảo tương thích với hầu hết các ứng dụng email như Gmail, Outlook, v.v. Bạn cần có kiến thức HTML/CSS để có thể hiệu chỉnh nội dung email. *GMail/Outlook hạn chế 1 số tính năng HTML khi sử dụng để định dạng email.*

{% hint style="info" %}
Command Email sẽ thay các trường **Tên Nhân Viên**, **Bộ Phận**, **Lương Cơ Bản**, **Thưởng, Phụ Cấp**, **Khấu Trừ BHXH**, **Lương Ròng** bằng dữ liệu truyền vào. AKA Bot sử dụng Google [Templated HTML](https://developers.google.com/apps-script/guides/html/templates) để tự động hóa. Để truy cập dữ liệu truyền từ template, chúng ta dùng cú pháp *\<?= $\['tên header'] ?>*, ví dụ: *\<?= $\['Tên Nhân Viên'] ?>*
{% endhint %}

### **Kiểm Thử**

Trước khi gởi hàng loạt chúng ta nến&#x20;

* Test với 1 row, bằng cách cập nhật câu lệnh Query của Agent từ `where A > 0` thành `where A > 0 limit 1`
* Soạn email nháp (draft) thay vì gởi liền bằng cách thêm đối số `--draft`vào phần Arguments của Command Email thay đổi `-name 'Công ty ABC' -subject 'LƯƠNG THÁNG 07/2025' -body '<#SalaryEmail#>' -to "<?= $['Địa chỉ Email] ?>"` thành  `--draft -name 'Công ty ABC' -subject 'LƯƠNG THÁNG 07/2025' -body '<#SalaryEmail#>' -to "<?= $['Địa chỉ Email'] ?>"`
* **Cuối cùng vào menu AKA Bot Demo (bên cạnh menu Help), chọn mục Run để thực thi Agent được chọn**
* Nếu có lỗi xảy ra, command Email sẽ ghi nội dung lỗi vào sheet Log

### **Chạy Thực**

Việc chạy thử diễn ra thành công, cũng như bạn hài lòng với với nội dung cập nhật, ví dụ email thì có thể xóa tham số thêm vào ở phần Kiểm Thử để chạy hàng loạt.

{% hint style="success" %}
🎉 **XIN CHÚC MỪNG, BẠN ĐÃ HOÀN THÀNH XONG ỨNG DỤNG ĐẦU TIÊN VỚI AKA BOT**
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aka-lab.gitbook.io/aka-bot/use-cases/goi-phieu-luong-qua-email.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
