
Thiết kế app AppSheet trước khi bấm Create nghĩa là bạn xác định rõ những dữ liệu nào cần quản lý, các bảng liên hệ với nhau ra sao, người dùng sẽ thấy những màn hình gì — tất cả trên giấy hoặc trong đầu, trước khi chạm vào trình kéo thả. Làm đúng thứ tự này giúp tránh cảnh dựng xong app rồi mới phát hiện dữ liệu sai cấu trúc, phải đập đi làm lại. Trong bài này tôi đi theo đúng 6 bước mà Google khuyến nghị khi thiết kế app AppSheet, áp từng bước vào một app ví dụ là «Bán hàng 5F» để bạn dễ hình dung. Video bên dưới làm mẫu từng bước, bạn có thể vừa đọc vừa xem để dễ hình dung hơn.
Vì sao nên thiết kế trước khi bấm Create?
Vì AppSheet là một công cụ xoay quanh dữ liệu: app chỉ là lớp giao diện hiển thị và thao tác trên dữ liệu đó. Nếu cấu trúc dữ liệu sai ngay từ đầu — ví dụ gộp nhầm hai loại thông tin vào một bảng — thì view, công thức và quyền truy cập bên trên đều sai theo, và bạn sẽ phải sửa lại từ gốc thay vì chỉ chỉnh giao diện.
Tin tốt là thiết kế không cần hoàn hảo ngay lần đầu. AppSheet cho phép làm lặp (iterate): bạn luôn có một app chạy được ở mỗi giai đoạn, rồi sửa dần khi phát hiện thiếu sót. Mục tiêu của 6 bước dưới đây không phải để bạn vẽ ra bản thiết kế hoàn hảo tuyệt đối, mà để bạn tránh những sai lầm cấu trúc khó sửa về sau.

Bước 1: xác định thực thể (entity) và thuộc tính
Thực thể (entity) là một nhóm «thứ» có thật ngoài đời mà app của bạn cần quản lý. Mỗi entity AppSheet có cùng một bộ thuộc tính nhưng khác nhau về giá trị, và luôn có một thuộc tính định danh duy nhất để phân biệt từng bản ghi.
Với app Bán hàng 5F, danh sách entity có thể gồm:
- Khách hàng — thuộc tính: tên, địa chỉ, số điện thoại; định danh: Mã KH.
- Sản phẩm — thuộc tính: tên hàng, đơn vị tính, giá bán; định danh: Mã SP.
- Đơn hàng — thuộc tính: ngày đặt, trạng thái, nhân viên phụ trách; định danh: Mã ĐH.
- Chi tiết đơn — thuộc tính: sản phẩm, số lượng, đơn giá; định danh: Mã dòng.
- Nhân viên — thuộc tính: họ tên, chức danh; định danh: Mã NV.
Các entity này không đứng độc lập mà liên hệ với nhau: mỗi Đơn hàng thuộc về một Khách hàng, do một Nhân viên phụ trách, và có nhiều dòng trong Chi tiết đơn. Về sau, những mối liên hệ này sẽ trở thành cột kiểu Ref trong AppSheet — nếu bạn muốn hiểu sâu hơn cách khóa chính, khóa ngoại tạo ra quan hệ 1-nhiều, có thể xem thêm bài khóa chính khóa ngoại là gì. Bước xác định entity cũng chính là bước thiết kế dữ liệu AppSheet quan trọng nhất, vì mọi thứ sau này đều dựa trên danh sách này.

Bước 2–3: dựng spreadsheet và nối vào app
Nguyên tắc cốt lõi: mỗi thực thể nên có một worksheet (sheet) riêng, và các thuộc tính của thực thể đó trở thành tiêu đề cột ở hàng đầu tiên. Nguồn dữ liệu được hỗ trợ cho bước này gồm Google Sheets, Microsoft Excel, Smartsheet.
Với ví dụ Bán hàng 5F, bạn sẽ có 5 sheet tương ứng 5 entity ở bước 1: sheet Khách hàng, sheet Sản phẩm, sheet Đơn hàng, sheet Chi tiết đơn, sheet Nhân viên — nằm trong cùng một file. Đây cũng là lúc trả lời câu hỏi «mỗi bảng AppSheet có nên là một sheet riêng?»: câu trả lời là có, vì AppSheet đọc mỗi sheet như một bảng dữ liệu độc lập. Đặc biệt, không gộp «đơn hàng» và «dòng hàng» vào cùng một sheet — đây là lỗi hay gặp nhất khi mới làm quen, vì một đơn hàng có nhiều dòng sản phẩm khác nhau, cần một sheet Chi tiết đơn riêng để lưu quan hệ 1-nhiều.
Khi dữ liệu đã có cấu trúc đúng, bạn nối vào app bằng cách vào mục Data trong trình soạn app, bấm nút «+» rồi chọn nguồn dữ liệu cần thêm. Nếu đây là app đầu tiên của bạn, có thể xem lại bài tạo app AppSheet đầu tiên từ Google Sheet trong 15 phút để hình dung thao tác cụ thể trong editor.
Bước 4: thiết kế trải nghiệm (UX) bằng view
Thiết kế UX AppSheet là chọn đúng loại view cho đúng nhu cầu sử dụng, chứ không phải chỉ làm cho đẹp. AppSheet cung cấp sẵn nhiều loại view: Calendar, Deck, Table, Gallery, Detail, Map, Chart, Dashboard và Form view.
Các view được chia vào hai vị trí điều hướng:
- Primary — nằm ở thanh điều hướng dưới cùng, dành cho những view dùng thường xuyên.
- Menu — nằm trong menu ở góc trên trái, dành cho những view chỉ thỉnh thoảng mới cần mở.
Form view được AppSheet tự tạo sẵn cho mỗi bảng cho phép thêm hoặc sửa dữ liệu, bạn không cần dựng tay. Một điểm hay là view có thể dựng từ cả bảng (table) lẫn Slice — tức một tập con dữ liệu đã lọc theo biểu thức; cách AppSheet tự sinh view khi bạn nạp dữ liệu và cách quản lý toàn bộ view trong mục App > Views được mô tả rõ trong tài liệu chính thức của Google về view. Sau khi chọn xong view, bạn có thể thêm logo, màu chủ đạo và format rule (quy tắc đổi màu theo điều kiện) để app dễ nhìn hơn.
Áp vào app Bán hàng 5F, một cách phân chia hợp lý là: Đơn hàng (Deck view) và Chi tiết đơn ở Primary vì nhân viên bán hàng mở liên tục; còn Khách hàng, Sản phẩm, Nhân viên và Dashboard tổng doanh số đưa vào Menu vì ít khi cần chỉnh sửa trực tiếp.
Bước 5: tinh chỉnh hành vi
AppSheet cho phép tinh chỉnh hành vi của app qua 4 tầng, từ đơn giản đến phức tạp: cấu hình tĩnh, cấu hình động, action và automation.
Cấu hình tĩnh
Là những thiết lập cố định như đặt cột chỉ đọc (read-only), chỉnh cỡ ảnh hiển thị, hay bật chế độ offline/sync. Không thay đổi theo dữ liệu.
Cấu hình động bằng expression
Expression trong AppSheet gần giống công thức bảng tính, ví dụ [Trạng thái] = "Chưa thu" để kiểm tra một đơn hàng còn nợ hay không. Expression còn được dùng để tạo virtual column (cột tính toán không nằm sẵn trong sheet) và Slice (lọc ra tập con dòng/cột theo điều kiện). Một điểm cần nhớ:
một expression tự nó không gây ra hành vi gì cả— nó chỉ cho ra một giá trị (đúng/sai, số, chữ…); giá trị đó được dùng ở đâu thì nơi đó mới thực sự đổi hành vi, ví dụ dùng trong format rule để tô màu dòng đơn hàng chưa thu tiền.
Action
Action là nút bấm thực hiện một việc cụ thể, ví dụ nút «Đánh dấu đã thu» vừa đổi cột Trạng thái sang «Đã thu», vừa mở sẵn email gửi biên nhận cho khách.
Automation
Automation (hay Bot) chạy tự động theo lịch hoặc khi dữ liệu thay đổi, không cần người bấm. Ví dụ: khi Đơn hàng chuyển trạng thái sang «Đã giao», bot tự gửi email tóm tắt đơn hàng cho quản lý.

Bước 6: rà soát bảo mật app AppSheet
Với app nội bộ công ty, gần như luôn nên bắt người dùng đăng nhập và chỉ cho phép những người có trong danh sách được duyệt truy cập — đây là lớp bảo mật đầu tiên trong tổng cộng 4 lớp:
- Cả app — bật đăng nhập (sign-in) và giới hạn danh sách người dùng được phép.
- Từng view — ẩn hoặc hiện view tùy theo người đang đăng nhập là ai.
- Dữ liệu — giới hạn quyền Adds, Updates, Deletes theo từng bảng, kết hợp security filter để lọc bớt dòng dữ liệu một người được thấy.
- Hành vi — giới hạn action và automation chỉ chạy cho đúng người hoặc đúng vai trò.
Ví dụ trong app Bán hàng 5F: nhân viên Kho chỉ cần thấy tồn kho và đơn xuất hàng, nên view Công nợ khách hàng nên được ẩn khỏi tài khoản của họ bằng security filter hoặc điều kiện hiển thị view, dù dữ liệu vẫn nằm chung một sheet với các bộ phận khác.
Checklist trước khi bấm tạo app
Dưới đây là bảng tóm tắt lại toàn bộ quy trình làm app AppSheet theo 6 bước, kèm ví dụ cụ thể để bạn đối chiếu:
| Bước | Việc chính | Ví dụ trong app Bán hàng 5F |
|---|---|---|
| 1. Entity | Liệt kê các "thứ" cần quản lý và thuộc tính | Khách hàng, Sản phẩm, Đơn hàng, Chi tiết đơn, Nhân viên |
| 2–3. Spreadsheet | Mỗi entity một sheet, nối vào app | 5 sheet trong cùng một Google Sheet |
| 4. UX | Chọn view, sắp xếp Primary/Menu | Deck view Đơn hàng ở Primary, Dashboard ở Menu |
| 5. Hành vi | Expression, action, automation | Bot gửi email khi đơn chuyển "Đã giao" |
| 6. Bảo mật | Đăng nhập, phân quyền theo vai trò | Nhân viên Kho không thấy view Công nợ |
Trước khi bấm Create, hãy tự kiểm lại các mục sau:
- Đã có danh sách thực thể kèm thuộc tính định danh duy nhất cho mỗi loại.
- Mỗi thực thể nằm trong một sheet riêng, tiêu đề cột đặt ở hàng 1.
- Đã vẽ rõ quan hệ giữa các bảng (ai thuộc về ai, bảng nào tham chiếu bảng nào).
- Biết rõ ai sẽ dùng app, mỗi vai trò cần thấy và không được thấy gì.
- Phác thảo được 3–5 view chính cần có ngay từ đầu.
- Xác định việc nào nên để người bấm tay (action), việc nào nên để automation tự chạy.
Sau khi app chạy ổn với 6 bước trên, bạn có thể tham khảo thêm lộ trình chính thức của Google: tạo app → automation → expression → quản lý → tối ưu, được trình bày đầy đủ trong roadmap học AppSheet của Google để biết nên học tiếp phần nào.
Xem thêm
- App editor AppSheet: tìm hiểu từng khu vực của trình soạn app
- Tạo app AppSheet đầu tiên từ Google Sheet trong 15 phút
Tóm lại, thiết kế app AppSheet bài bản là đi đúng thứ tự: xác định entity trước, dựng spreadsheet theo đúng nguyên tắc một bảng một sheet, rồi mới tới chọn view, tinh chỉnh hành vi và rà soát bảo mật. Bạn không cần làm hoàn hảo ngay từ đầu — hãy phác thảo danh sách entity của app mình lên giấy, đối chiếu với checklist ở trên, rồi mới mở AppSheet ra bấm Create. Nếu muốn thực hành có người hướng dẫn từng bước thay vì tự mò, bạn có thể xem thêm các khóa học AppSheet thực chiến tại trang khóa học của 5F Edu. Toàn bộ 6 bước trong bài được tham khảo từ tài liệu chính thức của Google về thiết kế app AppSheet.
Câu hỏi thường gặp
›Nên thiết kế dữ liệu thế nào trước khi làm app AppSheet?
Trước tiên liệt kê các thực thể (entity) app cần quản lý như Khách hàng, Sản phẩm, Đơn hàng, xác định thuộc tính và mã định danh duy nhất cho từng loại. Sau đó vẽ rõ quan hệ giữa các entity (ai thuộc về ai) rồi mới dựng sheet, vì sửa cấu trúc dữ liệu sau khi đã có app thường tốn công hơn nhiều so với vẽ trước trên giấy.
›Có nên để đơn hàng và chi tiết đơn chung một sheet?
Không nên. Một đơn hàng thường có nhiều dòng sản phẩm khác nhau, nếu gộp chung sẽ lặp dữ liệu và khó tính tổng, khó phân quyền. Cách đúng là tách thành hai sheet riêng — Đơn hàng và Chi tiết đơn — rồi nối bằng cột Ref, mỗi thực thể một sheet như nguyên tắc chung của AppSheet.
›Expression, action và automation khác nhau thế nào?
Expression chỉ tính ra một giá trị (đúng/sai, số, chữ) và tự nó không gây hành vi gì; nó cần được gắn vào nơi khác như format rule hay điều kiện hiển thị mới tạo ra tác động. Action là nút người dùng bấm để thực hiện một việc cụ thể như đổi trạng thái. Automation (bot) thì chạy tự động theo lịch hoặc khi dữ liệu thay đổi, không cần ai bấm.
›App AppSheet nội bộ có bắt buộc đăng nhập không?
Không bắt buộc về mặt kỹ thuật, nhưng với app nội bộ công ty gần như luôn nên bật đăng nhập và giới hạn danh sách người dùng được phép truy cập. Đây là lớp bảo mật đầu tiên trong 4 lớp của AppSheet, trước khi tính đến phân quyền theo view, theo dữ liệu hay theo hành vi.
Tác giả
Chuyên gia chuyển đổi số · Đại diện 5F Edu
Hơn 8 năm triển khai và tư vấn chuyển đổi số cho doanh nghiệp vừa và nhỏ: chuẩn hoá quy trình, xây phần mềm quản lý bằng AppSheet và web app, tự động hoá bằng N8N. Người làm kênh YouTube Nghiện AppSheet.



