# Luồng email: 151 chuỗi email thật mà agent của bạn đọc được

URL chính tắc: https://brew.new/vi/blog/email-flows
Tác giả: Thomas Park
Ngày đăng: 2026-09-17
Ngày cập nhật: 2026-09-28

Phần lớn thư viện mẫu chỉ cho bạn xem từng email một. Đó lại là đơn vị kém hữu ích nhất. Một email chào mừng đơn lẻ không cho thấy thời điểm gửi hay bối cảnh xung quanh nó. Cả chuỗi email mới bổ sung bối cảnh đó, dù việc nhìn thấy một chuỗi không chứng minh rằng chuỗi ấy đã đạt hiệu quả tốt.

Vì vậy, chúng tôi giữ lại các chuỗi email đã thu thập. Một luồng trong Brew hiển thị những email chúng tôi quan sát được sau một lần đăng ký tài khoản hoặc đăng ký nhận bản tin, theo đúng thứ tự, kèm ngày từng email đến. Do giới hạn khi thu thập, một luồng có thể không chứa toàn bộ chuỗi. Vào đợt ra mắt ngày 17/9, thư viện có 151 luồng. Các con số dưới đây mô tả dữ liệu tại thời điểm ra mắt đó; danh mục đang hoạt động có thể thay đổi.

## Những điểm chính

- Một luồng là một chuỗi email đã thu thập, không phải một thiết kế đơn lẻ: 151 luồng, 151 thương hiệu, 1.311 email, mỗi bước đều kèm tiêu đề, văn bản xem trước, ngày gửi tính từ điểm bắt đầu và khoảng chờ kể từ lần gửi trước.
- Khi remix, Brew dựng lại sơ đồ bằng phép tính chứ không nhờ AI tạo ra. Brew biến các khoảng cách trong luồng gốc thành nút chờ, làm tròn đến giờ gần nhất, rồi viết lại mọi email theo thương hiệu của bạn.
- `GET /v1/flows` và công cụ MCP `list_flows` trả về cùng các bản ghi, nên agent có thể nghiên cứu cả 151 chuỗi mà không cần ai nhấp chuột.
- Mỗi bước đều có `emailId` mà bạn có thể truyền thẳng vào `create_email` dưới dạng `referenceEmailId`.

## Một luồng gồm những gì

Chuỗi email sau đăng ký của Zapier gồm tám email trong 10,7 ngày:

| Ngày | Tiêu đề |
| --- | --- |
| 0 | Welcome aboard 👋 \| Let's make some magic with AI |
| 1 | Why you should ditch spreadsheets for Tables |
| 2 | Build your first Zap workflow with Copilot ⚡ |
| 3 | What engineers are automating this week |
| 5 | Put AI to work for you |
| 9 | Go beyond workflows 🚀 |
| 10 | Stuck? Or need automation ideas? |
| 10,7 | Your Zapier trial ends in three days ⏲️ |

Hãy đọc các ngày gửi, không chỉ tiêu đề. Bốn email đến vào bốn buổi sáng liên tiếp, rồi khoảng cách giãn ra thành hai ngày, rồi bốn ngày. Email “Stuck?” đến vào ngày 10 và email báo hết hạn dùng thử đến sau đó mười bảy giờ. Ai đó đã quyết định rằng điều hữu ích cuối cùng trước khi người dùng chạm tới tường phí (paywall) là một lời đề nghị giúp đỡ, và hai email này nên gần như nối liền nhau.

Bạn không thể thấy điều đó qua ảnh chụp màn hình của một email.

Trình xem mở ở email đầu tiên, nên khoảng chờ chỉ hiện ở phía sau email đó. Bước vào giữa chuỗi, như với chuỗi của Ro ở trên, bạn sẽ thấy khoảng chờ ở cả hai phía. Luồng chào mừng của Ro có nhịp chậm hơn của Zapier, 12 email trong 46,7 ngày, và các khoảng chờ đã cho bạn biết điều đó trước khi bạn đọc dù chỉ một tiêu đề.

![Lưới các email đã thu thập trong thư viện luồng email, gồm Boomi, Canva, Glossgenius, Sentry, Qualys và Aerospike](https://cdn.brew.new/assets/2026/09/brew-flows-gallery-1d538344.png)

Mỗi bước có tiêu đề, văn bản xem trước, ngày email đến, khoảng chờ kể từ lần gửi trước, một danh mục và một ảnh xem trước. Nếu yêu cầu, bạn còn nhận được cả HTML đã kết xuất.

## Thư viện có những gì

Kho dữ liệu chỉ có một chuỗi cho mỗi thương hiệu, nên 151 luồng nghĩa là 151 công ty:

- **1.311 email** trong 151 luồng, trung vị 9 email mỗi luồng.
- **132 chuỗi bản tin định kỳ và 19 chuỗi email sau đăng ký.** Phần lớn những gì các thương hiệu thực sự gửi theo lịch là bản tin, và thư viện phản ánh điều đó.
- **Thời gian kéo dài trung vị là 55 ngày.** Dài nhất là Busuu với 9 email trong 168 ngày, một kiểu nhịp gửi hoàn toàn khác so với 4 email trong 9,4 ngày của Canva.
- **59 luồng chạm giới hạn thu thập 12 email**, nên cứ năm chuỗi thì có khoảng hai chuỗi thực tế dài hơn những gì thư viện hiển thị.

![Thư viện luồng email trong Brew, hiển thị các chuỗi email của Zcal, WorkOS, Wiz, Vyond, Virtuagym và Taskade, kèm số email và khoảng thời gian bên dưới mỗi thương hiệu](https://cdn.brew.new/assets/2026/09/brew-flows-gallery-app-0bc8fc2e.webp)

Thư viện này nằm cạnh thư viện mẫu email đơn lẻ, nơi có thêm 4.098 bản tin, 105 email chào mừng và 68 email khuyến mãi. Luồng là phần cho bạn biết thứ tự.

## Remix một luồng

Nhiều người nghĩ remix chỉ là sao chép. Không phải vậy.

Brew dựng sơ đồ tự động hóa trước: trình kích hoạt của bạn, rồi các khoảng cách của luồng gốc dưới dạng nút chờ, rồi một nút gửi cho mỗi bước. Nửa này là phép tính số học, không phải nội dung do AI tạo ra. Không ai yêu cầu mô hình đoán rằng email thứ tư được gửi vào ngày thứ ba.

![Một luồng đã remix mở trên canvas tự động hóa của Brew: trình kích hoạt Newsletter Subscribed, bước chờ 53 giờ, một email đã được dựng lại, bước chờ 122 giờ và email tiếp theo, với Agent email đang viết từng bước ở khung bên cạnh](https://cdn.brew.new/assets/2026/09/brew-flow-remix-automation-37722c2c.webp)

Các nút chờ đó ghi 53 giờ và 122 giờ vì đó là nhịp mà thương hiệu gốc đã gửi, làm tròn đến giờ gần nhất. Khoảng cách tròn ngày vẫn giữ nguyên số ngày, còn mọi khoảng dưới một giờ sẽ thành một giờ. Chỉ có email là do AI tạo, và chúng được tạo song song, email nào cũng dựa trên thương hiệu của bạn. Màu sắc, phông chữ, giọng văn, sản phẩm: tất cả đều là của bạn. Mỗi bước còn nhận một bản brief mô tả vai trò của nó trong chuỗi và những gì nằm ở hai bên, vì các agent con viết những email đó không nhìn thấy công việc của nhau; nếu không có brief, chúng sẽ tạo ra tám email chẳng liên quan gì đến nhau trên cùng một lịch gửi.

Bạn nhận được một tự động hóa ở dạng bản nháp, với nhịp gửi của một chuỗi mà một công ty thật đã chạy, cùng nội dung thuộc về bạn. Bạn vẫn phải đọc lại. Phần chuyển sang thương hiệu của bạn đã tốt, nhưng chưa phải bản hoàn chỉnh.

## Đọc luồng từ mã

Mọi luồng đều có sẵn qua REST API và MCP, nên agent có thể đọc trực tiếp kho dữ liệu.

```bash
# First page, newest first
curl "https://brew.new/api/v1/flows" \
  -H "Authorization: Bearer $BREW_API_KEY"

# One sequence, every step
curl "https://brew.new/api/v1/flows/zapier.com" \
  -H "Authorization: Bearer $BREW_API_KEY"
```

Lọc theo `brand`, `category` hoặc `type` (`signup` hoặc `newsletter`). Sắp xếp theo `emails` để xem các chuỗi có nhiều email nhất, `span` để xem các chuỗi kéo dài qua nhiều ngày nhất, hoặc `remixes` để xem những gì người khác thấy đáng sao chép. Truyền `semantic` để tìm theo chủ đề của chuỗi; đó là cách bạn tìm được một email giành lại khách hàng khi hết hạn dùng thử mà không cần biết thương hiệu nào đã viết.

Thao tác đọc này cũng có sẵn dưới dạng công cụ và tài nguyên (resource) trên [máy chủ MCP của Brew](/vi/mcp):

```
list_flows                      # the list, same filters and sorts
get_flow { slug: "zapier.com" } # one sequence with every step
brew://flows                    # @-mentionable in a chat
```

REST và MCP đọc cùng một danh mục công khai. Luồng dùng chung cho toàn tổ chức, nên các lệnh đọc này không cần chỉ định thương hiệu. Để phân trang danh sách, hãy truyền giá trị `pagination.cursor` được trả về vào `cursor` của yêu cầu tiếp theo cho đến khi giá trị này là null. Một yêu cầu danh sách không trả về toàn bộ danh mục, nhưng `total` của nó đếm mọi luồng khớp với truy vấn.

## Agent làm gì với 151 chuỗi email

Agent có thể xem xét cả chuỗi trước khi chọn một email tham khảo.

Luồng sau đăng ký nào đưa mã giảm giá vào ngay email đầu tiên, và luồng nào chờ đến khi bản dùng thử sắp hết hạn? Các công cụ dành cho lập trình viên gửi gì vào ngày thứ hai? Chuỗi email chào mừng của bản tin kéo dài bao lâu trước khi dừng? Bao nhiêu chuỗi mở đầu bằng một câu hỏi thay vì một lợi ích? Các bản ghi cho phép agent tìm hiểu những câu hỏi đó bằng cách đọc `steps[]`. Việc phân tích tiêu đề và nội dung vẫn cần diễn giải; API không có sẵn bộ lọc cho mọi câu hỏi.

Điều khiến dữ liệu này trở thành tư liệu tham khảo dùng được là `emailId` ở mỗi bước. Đây cũng là loại tham chiếu mà thư viện mẫu dùng, và chính là giá trị `create_email` nhận vào dưới dạng `referenceEmailId`. Vì vậy, agent đọc mạch của chuỗi, chọn bước quan trọng rồi chuyển đúng email đó cho công cụ thiết kế:

```
get_flow { slug: "zapier.com" }
  → steps[4].emailId = "pt1_k97hmahabyjrp1yfmga8m1rhah8e572q"

create_email {
  referenceEmailId: "pt1_k97hmahabyjrp1yfmga8m1rhah8e572q",
  prompt: "day-5 activation email for our API product"
}
```

Nghiên cứu mạch của chuỗi, lấy đúng email cần dùng, rồi dựng phiên bản của bạn. Không cần sao chép, dán thủ công ở giữa.

## Hai giới hạn nên biết

Quá trình thu thập giữ tối đa mười hai email cho mỗi luồng và cắt bỏ phần đuôi, nên `emailCount: 12` nghĩa là đã có từ mười hai email trở lên được gửi, chứ không phải đúng mười hai. Đó chính là 59 luồng nêu ở trên.

Email đã kết xuất khá nặng. Khi yêu cầu HTML qua MCP, bạn chỉ nhận được một hoặc hai bước đầu tiên trước khi phản hồi bị đầy, các bước còn lại sẽ không kèm HTML. Phần tóm tắt cho biết có bao nhiêu bước được giữ HTML. Route REST không có giới hạn này, nên hãy đọc luồng ở đó khi bạn muốn có mọi phần thân email: `GET /v1/flows/zapier.com?include=html`.

## Bắt đầu từ đây

Hãy mở [thư viện](/vi/browse/flows) và đọc ba chuỗi email trong lĩnh vực của bạn trước khi viết bất cứ điều gì. Sau đó, remix chuỗi có nhịp gửi mà bạn sẵn sàng bảo vệ trước chính đội ngũ của mình, rồi thay đổi những gì không phù hợp.

Nếu bạn giao việc này cho agent, `list_flows` không kèm tham số là lệnh gọi đầu tiên phù hợp. Lệnh này trả về các thẻ kèm slug, và slug là thứ duy nhất `get_flow` cần để lấy mọi thông tin còn lại. Danh sách đầy đủ các trường có trong [tài liệu tham khảo API](https://docs.brew.new/api-reference/public-v1/templates/list-flows).

## Câu hỏi thường gặp

### Thế nào được tính là một luồng?

Mọi email mà một thương hiệu gửi sau một lần đăng ký tài khoản hoặc đăng ký nhận bản tin, theo đúng thứ tự, kèm ngày mỗi email đến tính từ thời điểm kích hoạt đó. Mỗi thương hiệu có một luồng, và slug của luồng là tên miền của thương hiệu.

### Remix có sao chép các email gốc không?

Không. Brew sao chép cấu trúc, tức số bước, thứ tự và các khoảng cách, được tái tạo chính xác đến giờ gần nhất. Sau đó, từng email được dựng lại theo thương hiệu của bạn, dùng thiết kế gốc làm tham khảo, nên kết quả mang màu sắc, phông chữ và giọng văn của bạn.

### Tôi có cần khóa API để đọc luồng không?

Đọc qua REST cần khóa API có quyền `templates.read`. MCP hỗ trợ OAuth hoặc khóa API có quyền truy cập phù hợp. Bản thân thư viện là công khai và không cần tài khoản.

### Một luồng giữ được bao nhiêu email?

Tối đa mười hai. Quá trình thu thập giữ mười hai email đầu tiên và cắt bỏ phần đuôi, nên một luồng ghi nhận mười hai email có thể đã kéo dài hơn. 59 trong số 151 luồng đã xuất bản đang chạm mức trần đó.

### Tôi có thể lấy HTML đã kết xuất của từng email không?

Có, bằng `include=html` khi đọc một luồng đơn lẻ. Qua MCP, chỉ một hoặc hai bước đầu tiên vừa trong một phản hồi, và phần tóm tắt cho bạn biết có bao nhiêu bước được giữ lại. Route REST trả về mọi phần thân email.
