Shopify automation without apps: 5 store, chỉ công cụ gốc
Shopify automation without apps từ trải nghiệm 5 store — Flow, Admin API, webhook thay app trả phí đến đâu, khi nào tôi tự viết code.
Điểm chính — AI tóm tắt
- Một đợt rà soát app từng cửa hàng trên năm store phát hiện nhiều app trả phí đã trở nên dư thừa vì tính năng gốc miễn phí của Shopify đã làm được — phép thử là hôm nay xóa app này thì có gì hỏng không
- Shopify Flow (miễn phí trên mọi gói) đang chạy production việc gắn thẻ đơn hàng, gắn cờ rủi ro, phân bậc chi tiêu khách và cảnh báo tồn kho thấp, nhưng mỗi Flow sống trong admin của một store — năm store nghĩa là năm bản sao có thể trôi lệch nhau
- Hành động "Send Admin API request" của Flow chạm được tới phần lớn GraphQL Admin API miễn phí, kể cả cập nhật thẻ hàng loạt và ghi metafield chưa có hành động Flow riêng — nhưng phải thử mọi mutation trong GraphiQL trước, vì một mutation phạm vi quá rộng từng lỡ gắn thẻ cho cả đống đơn không liên quan
- Hai app sống sót qua đợt cắt giảm — chuỗi email nhắc giỏ hàng bỏ quên theo lịch và app đánh giá sản phẩm — vì tính năng gốc chưa có gì tương đương đủ tốt để thay thế
- Tự động hóa gốc chạm trần cứng ở hai chỗ: workflow xuyên store và các sự kiện Shopify không thấy được như kiện hàng kẹt tại hãng vận chuyển — đó chính là khoảng trống mà một dashboard đa store hợp nhất và bot stack theo dõi tracking lifecycle tự dựng ra đời để lấp
AI tổng hợp từ chính nội dung bài viết; tác giả đã soát lại.
Trong bài này
Tháng 4/2026, tôi mở trang Apps trên từng cửa hàng trong số năm store Shopify mà chúng tôi vận hành, và hỏi cùng một câu với mỗi dòng: nếu hôm nay xóa app này thì thực sự có gì hỏng? Mỗi store mất một buổi chiều để rà. Với một số lượng app nhiều đến khó chịu, câu trả lời thành thật là "chẳng có gì hỏng cả" — việc mà chúng được cài vào để làm, Shopify giờ đã làm sẵn, miễn phí.
Tôi nói rõ định kiến của mình ngay từ đầu. Mỗi app cài thêm là một khoản phí định kỳ, một bộ quyền truy cập dữ liệu mới, và thêm một dashboard mà ai đó phải nhớ mở ra xem. Với một store, bạn có thể tặc lưỡi cho qua. Với năm store, cả ba thứ đó nhân lên, và cái tặc lưỡi bắt đầu tốn tiền thật. Vì vậy bài này là tấm bản đồ thực dụng của tôi về Shopify automation without apps: những rule gốc đang thực sự chạy trên các store của chúng tôi, một tính năng miễn phí cực mạnh mà ít merchant nào đụng tới, hai app tôi định xóa mà không xóa nổi, và ranh giới cấu trúc nơi tôi ngừng xóa app để tự viết code.
Nếu bạn chỉ làm một việc sau khi đọc bài này, hãy làm chính cái đợt rà soát đó. Phần còn lại là những gì tôi tìm thấy trên hệ thống của mình.
Những rule đang chạy năm store mà không cần app trả phí nào
Shopify Flow miễn phí trên mọi gói từ Basic trở lên, và nó là con ngựa thồ chính. Mỗi workflow là một trigger (có đơn hàng mới), điều kiện tùy chọn (tổng đơn trên 500 USD), và hành động (gắn thẻ, tạm giữ fulfillment, báo cho ai đó). Đây là những gì thực sự nằm trong Flow trên các store của chúng tôi — đang chạy production, không phải "về lý thuyết có thể":
- Gắn thẻ đơn hàng. Đơn quốc tế, địa chỉ PO box, đơn vượt ngưỡng giá trị — mỗi loại một thẻ để đội vận hành điều phối theo. Riêng khoản này đã thay được một app gắn thẻ trả phí trên hai store trong đợt dọn dẹp tháng 4.
- Gắn cờ rủi ro. Đơn giá trị cao kèm địa chỉ thanh toán lệch địa chỉ giao hàng sẽ bị gắn thẻ và giữ lại chờ người duyệt. Flow không bao giờ tự hủy đơn ở khâu này — đó là lựa chọn của tôi, không phải giới hạn của công cụ.
- Phân bậc chi tiêu khách hàng. Khách mua lặp lại vượt ngưỡng chi tiêu được gắn thẻ, để các segment email tự hình thành thay vì ai đó phải nuôi một file bảng tính.
- Cảnh báo tồn kho thấp. Biến thể nào tụt dưới ngưỡng là chúng tôi biết ngay, trước khi storefront bán thứ hàng không còn trong kho.
Từ mùa xuân năm nay, Sidekick soạn giúp phần lớn rule mới chỉ từ một câu mô tả thường, và điều đó âm thầm thay đổi việc chúng tôi chịu khó tự động hóa bao nhiêu phiền toái nhỏ. Tôi đã viết riêng một bài kiểm kê Flow và AI, trong đó có cái caveat quan trọng nhất với bài này: một Flow sống bên trong admin của một store. Năm store nghĩa là năm bản sao của mỗi rule, và bản sao thì trôi lệch — tôi tìm thấy bằng chứng ngay trong workflow của chính mình hồi tháng 3.
Trước khi cài bất cứ thứ gì, cũng nên xem admin đã có sẵn gì ngoài Flow: giảm giá tự động (nơi logic giảm giá và phí ship thuộc về từ khi Shopify Scripts ngừng chạy giữa năm 2026), email nhắc giỏ hàng bỏ quên bản gốc, thông báo cho nhân viên, và báo cáo định kỳ — tất cả đều không cần cài thêm. Bản thân Flow có hơn 150 template dựng sẵn, theo tài liệu của Shopify — tôi coi chúng là danh mục ý tưởng, không phải thứ bật lên rồi bỏ mặc.
Tính năng miễn phí cực mạnh mà gần như không ai dùng
Flow có một hành động tên Send Admin API request, chạy trực tiếp phần lớn mutation trong GraphQL Admin API — kể cả những thao tác chưa có hành động Flow riêng. GraphQL là bề mặt API chính của Shopify kể từ khi REST Admin API chuyển sang trạng thái legacy vào tháng 10/2024 (mốc thời gian do Shopify công bố, không phải tôi ước lượng), nên đây là con đường hiện đại — và nó nghĩa là trần của Flow cao hơn nhiều so với những gì trình dựng kéo-thả gợi ý: cập nhật thẻ hàng loạt, ghi metafield, điều chỉnh fulfillment, tất cả không cần app.
Một thói quen sinh ra từ sai lầm của tôi hồi tháng 5: luôn thử mutation trong trình khám phá GraphiQL trước khi cho nó chạm vào production. Tôi từng viết một mutation gắn thẻ với phạm vi rộng hơn dự định, và nó gắn thẻ cho cả đống đơn chẳng liên quan. Khắc phục được — gỡ thẻ thì rẻ — nhưng chỉ vì sai lầm đó tình cờ là loại sai lầm rẻ tiền.
Webhook, và cái rào theo gói mà ít ai nói cho bạn biết
Trên các gói Grow, Advanced và Plus, hành động Send HTTP Request biến Flow thành cầu nối tới bất cứ thứ gì có endpoint: Slack, Discord, Google Sheets, dịch vụ tự dựng của bạn. Đây là cách các rule Flow của chúng tôi chạm được tới những kênh mà đội vận hành thực sự đọc, thay vì chết chìm trong thông báo admin. Trên gói Basic, hành động này bị khóa, và cách vòng phổ biến là Flow Webhooks — đúng, về mặt kỹ thuật thì nó là một app. Nhưng nó miễn phí, và tôi chưa bao giờ có vấn đề với chữ "app"; vấn đề của tôi là phí định kỳ và quyền truy cập lan tràn. Chi tiết về trigger, điều kiện và giới hạn, tài liệu Flow của Shopify viết khá tử tế.
Hai app tôi định xóa mà không xóa nổi
Đợt rà soát không phải một chiến thắng tuyệt đối, và giả vờ như thế sẽ khiến bài này vô dụng.
App nhắc giỏ hàng bỏ quên sống sót. Email khôi phục bản gốc của Shopify chỉ là một tin nhắn duy nhất; app của chúng tôi chạy cả một chuỗi theo lịch, và chuỗi đó gỡ lại đủ giỏ hàng để việc xóa nó chẳng khác gì đốt tiền chỉ để chứng minh quan điểm. Bản gốc cho bạn đúng một phát súng — nếu chuỗi email đang tự trả tiền cho nó trên store của bạn, hãy giữ lại. App đánh giá sản phẩm cũng sống sót, vì đến giờ vẫn chưa có tính năng gốc nào tương đương mà tôi dám đặt trước mặt khách hàng.
Đọng lại là cái rule tôi giờ áp dụng mỗi quý: một app chỉ được sống nếu nó làm điều công cụ gốc không làm được, và làm đủ tốt để tôi nhận ra sự vắng mặt của nó trong vòng một tuần. Mọi thứ rớt bài kiểm tra đó trong tháng 4 đều bị xóa, và từ tháng 4 đến tháng 6 tôi chưa cài lại cái nào.
Nơi tự động hóa gốc kết thúc với tôi
Hai ranh giới, và cả hai đều mang tính cấu trúc chứ không phải cứ viết Flow khéo hơn là qua được.
Thứ nhất, mọi thứ xuyên store. Flow không có khái niệm "giữa các store" — một bản tin buổi sáng hay một góc nhìn doanh thu hợp nhất trải trên năm admin đơn giản là thứ nó không thể diễn đạt, dù bạn duy trì bao nhiêu bản sao đi nữa.
Thứ hai, những sự kiện Shopify không nhìn thấy. Một kiện hàng nằm im tại hãng vận chuyển suốt sáu ngày không phải là một sự kiện Shopify, nên sẽ không có trigger nào kích hoạt vì nó. Hệ thống cảnh báo đơn kẹt của chúng tôi chạy trên một tracking lifecycle trong bot stack tự dựng, thứ theo thời gian đã lớn thành một agent đa store hoàn chỉnh — câu chuyện đó đáng một bài riêng.
Lớp thứ hai ấy chính là thứ chúng tôi đã xây. Một bảng điều khiển hợp nhất để vận hành nhiều store Shopify — đơn hàng, doanh thu, vận chuyển trong một màn hình — kèm đồng bộ đơn hàng tự động sang Google Sheets, theo dõi vận đơn hàng loạt với cảnh báo đơn kẹt, và báo cáo tài chính hợp nhất trên toàn đội store.
Nhưng tôi sẽ kết bằng phiên bản thành thật của lời chào hàng: nếu bạn chạy một store, bạn không cần chúng tôi. Bật Flow lên, làm đợt rà soát app, giữ lấy tiền của mình. Chỉ khi mỗi rule mới phải được sao chép thêm bốn lần nữa thì một lớp xuyên store mới trở thành cái lớp mà chúng tôi từng ước là có sẵn — vì đó chính xác là lý do chúng tôi xây nó.