How I Built an Automated Job Outreach System Using n8n, Firecrawl, an?
Trong bài viết này, tác giả chia sẻ quá trình xây dựng một hệ thống tự động tiếp cận việc làm bằng cách kết hợp các công cụ n8n, Firecrawl và GPT. Hệ thống này giúp tự động tìm kiếm, xác thực và soạn thảo các đơn xin việc cá nhân hóa một cách hiệu quả và tiết kiệm thời gian. Qua từng bước chi tiết, người đọc sẽ hiểu rõ cách thiết lập pipeline tự động nhằm nâng cao hiệu suất trong việc tìm kiếm cơ hội nghề nghiệp. Đây là một ứng dụng thực tiễn của trí tuệ nhân tạo và tự động hóa trong lĩnh vực tuyển dụng, phù hợp với những ai quan tâm đến công nghệ và cải tiến quy trình làm việc.

Insight Summary
Tóm tắt nhanh
- Bài viết kể cách tự động tìm việc mỗi sáng bằng một hệ thống no-code.
- Tác giả dùng n8n để nối các bước, Firecrawl để lấy dữ liệu web, và GPT để đọc hiểu nội dung.
- Hệ thống chỉ giữ lại các job phù hợp như trợ lý điều hành, làm từ xa, và bằng tiếng Anh.
- Sau đó, AI tự soạn sẵn một email nháp để người dùng xem và gửi.
- Kết quả là tiết kiệm nhiều thời gian so với việc tìm và viết tay mỗi ngày.
Bài viết tổng hợp
Tác giả xây một quy trình tự động để hỗ trợ tìm việc và viết thư ứng tuyển nháp mỗi sáng. Ý tưởng rất đơn giản: thay vì con người phải tự vào nhiều trang tuyển dụng, đọc từng tin, rồi viết thư từ đầu, hệ thống sẽ làm phần nặng trước, còn con người chỉ cần kiểm tra lại. Bài toán này xuất phát từ thực tế là nhiều công việc được đăng rồi hết rất nhanh. Nếu chậm vài ngày, cơ hội có thể đã qua. Với những vị trí như trợ lý điều hành hay trợ lý hành chính, tốc độ phản hồi càng quan trọng hơn. Điểm hay của cách làm này là nó không nhằm thay thế người dùng. Mục tiêu là bỏ đi những việc lặp lại, tốn thời gian nhưng không đòi hỏi nhiều suy nghĩ. Tác giả dùng ba công cụ chính. Nói dễ hiểu, đây là bộ ba “dàn nhạc” cho cả hệ thống:
- N8n là công cụ nối các bước làm việc với nhau bằng giao diện kéo thả, giống như lắp ghép các khối.
- Firecrawl là công cụ lấy nội dung từ website và đổi nó thành dạng dễ đọc cho máy.
- GPT của OpenAI là phần “đọc hiểu” và “viết nháp” cho từng tin tuyển dụng.
Nếu phải nói ngắn gọn, n8n giống người điều phối, Firecrawl giống người đi thu thập thông tin, còn GPT giống người đọc và viết giúp. Tác giả chọn n8n vì nó phù hợp với những luồng công việc có nhiều bước. Nó cho phép nối các khâu như lấy dữ liệu, lọc dữ liệu, kiểm tra điều kiện, rồi đẩy kết quả sang bảng tính. Quan trọng hơn, n8n không đòi hỏi phải viết nhiều mã. Firecrawl được dùng vì các trang web tuyển dụng thường không hiển thị thông tin theo cách dễ lấy. Nhiều trang có nội dung được tạo động bằng JavaScript hoặc cấu trúc khó đọc. Firecrawl giúp biến trang web thành dạng văn bản sạch, gọn, dễ cho AI xử lý. GPT được dùng trong hai việc. Một là đọc hàng loạt tin tuyển dụng và tách ra thành dữ liệu có cấu trúc. Hai là viết một đoạn thư ứng tuyển ngắn, phù hợp với từng công việc. Kết quả cuối cùng được lưu vào Google Sheets. Đây là lựa chọn rất thực tế vì ai cũng biết dùng bảng tính, không cần học thêm phần mềm mới.
Người dùng chỉ cần mở bảng, xem công việc nào đạt yêu cầu, rồi đọc bản nháp thư ứng tuyển đã được chuẩn bị sẵn. Tác giả cũng giải thích vì sao không dùng LinkedIn. Lý do là nền tảng này chặn việc thu thập dữ liệu tự động khá mạnh, lại có điều khoản hạn chế rõ ràng. Thay vào đó, họ chọn các trang thân thiện hơn với việc lấy dữ liệu như We Work Remotely, Remotive, hoặc RemoteOK.
Quy trình tổng thể của hệ thống đi theo hướng rất dễ hình dung
Tìm tin, kiểm tra tin, viết nháp, lưu lại. Nhìn qua thì đơn giản, nhưng giá trị nằm ở chỗ mọi thứ diễn ra tự động vào sáng sớm, trước khi người dùng mở máy tính.
Có thể hiểu luồng việc này như sau
- Mỗi sáng, hệ thống tự mở các trang tìm việc.
- Nó lấy các tin liên quan đến đúng nhóm công việc đã chọn.
- AI đọc từng tin để xem có phải việc làm từ xa, dùng tiếng Anh, và đúng loại vị trí hay không.
- Những tin đạt yêu cầu sẽ được giữ lại.
- AI viết sẵn một đoạn nhắn hoặc thư ứng tuyển.
- Tất cả được đưa vào Google Sheets để con người duyệt lại.
Bước đầu tiên là lấy dữ liệu từ trang We Work Remotely. Tác giả tạo các đường tìm kiếm theo từ khóa, ví dụ “executive assistant” và “admin assistant”. Mỗi từ khóa tương ứng với một luồng lấy dữ liệu riêng. Điều này quan trọng vì không phải lúc nào tìm một từ khóa cũng đủ. Có khi tin đăng dùng cách gọi khác nhau, nên hệ thống cần quét nhiều biến thể để không bỏ sót. Sau đó, dữ liệu từ hai luồng được gộp lại. Trong n8n, việc này được làm bằng một nút “Merge”, nghĩa là nhập nhiều nguồn vào một chỗ rồi xử lý tiếp. Tưởng tượng như gom nhiều tờ giấy vào cùng một xấp để đọc tiếp cho gọn. Ở bước đọc dữ liệu, tác giả không dùng cách tách chữ thủ công kiểu regex. Regex là cách dò tìm mẫu trong văn bản, rất hữu ích nhưng dễ hỏng nếu website thay đổi cách trình bày một chút. Thay vào đó, họ để GPT đọc nội dung thô và tự trích xuất thông tin. Đây là một quyết định thực dụng.
Vì tin tuyển dụng trên web thường không thống nhất: chỗ thì ghi chức danh ở đầu, chỗ thì lẫn với mô tả, chỗ thì viết địa điểm theo kiểu “Anywhere in the World”. AI có khả năng hiểu ngữ cảnh tốt hơn máy dò chữ đơn thuần. GPT được yêu cầu trả về dữ liệu theo mẫu rõ ràng. Ví dụ, mỗi tin sẽ có:
- Tên vị trí - tên công ty - địa điểm - đường link - mô tả ngắn - các cờ kiểm tra như có làm từ xa không, có dùng tiếng Anh không, có phù hợp không Mục tiêu là biến dữ liệu lộn xộn trên web thành danh sách có thể dùng ngay trong bảng tính.
Đây là cách làm rất phổ biến khi dùng AI cho công việc thực tế: không chỉ hỏi AI viết gì đó, mà buộc nó trả lời theo mẫu để máy khác còn xử lý tiếp. Một điểm thú vị là tác giả không để AI quyết định tất cả. Sau khi GPT gắn nhãn từng job, một bước lọc bằng code sẽ giữ lại những tin đạt đủ ba điều kiện. Điều đó giúp hệ thống dễ kiểm tra hơn.
Có thể hiểu các điều kiện như sau
- Chỉ giữ job làm từ xa - chỉ giữ job có khả năng dùng tiếng Anh - chỉ giữ job đúng nhóm vị trí cần tìm Tại sao lại thêm bước lọc bằng code nếu AI đã làm rồi?
Vì như vậy an toàn hơn. AI có thể suy luận tốt, nhưng khi cần một “cửa chặn” rõ ràng, một dòng lọc đơn giản sẽ đáng tin hơn và dễ debug hơn. Một khi đã còn lại danh sách phù hợp, hệ thống chuyển sang bước viết nháp thư ứng tuyển. Đây là phần GPT phát huy tác dụng rõ nhất. Với mỗi job, AI tạo một đoạn outreach message, tức là tin nhắn hoặc email mở đầu để tiếp cận nhà tuyển dụng. Tác giả còn thử nhiều phong cách khác nhau. Có thể là trang trọng, ấm áp, hoặc ngắn gọn thiên về kết quả. Điều này cho thấy cùng một dữ liệu đầu vào, nhưng cách trình bày có thể thay đổi tùy mục tiêu.
Một số kiểu giọng điệu được mô tả trong bài
- Trang trọng và chuyên nghiệp, phù hợp khi muốn lịch sự, gọn gàng - thân thiện và tự nhiên, giống cách nói chuyện mềm mại hơn - trực diện và nhấn vào năng lực, hợp khi muốn thể hiện sự tự tin Việc này dễ hiểu nếu nhìn từ góc độ thực tế.
Người tìm việc thường mất nhiều thời gian nhất ở khâu “viết cái gì cho phù hợp”. Khi đã có bản nháp tốt, họ chỉ cần chỉnh vài chỗ cho đúng người, đúng công việc, đúng giọng điệu cá nhân. Cuối cùng, mọi thứ được đẩy vào Google Sheets. Bảng tính đóng vai trò như một dashboard đơn giản, nơi người dùng mở ra là thấy ngay tin nào mới, mô tả là gì, link ở đâu, và đoạn thư nháp ra sao. Google Sheets được chọn vì rất phổ biến. Không cần học phần mềm phức tạp, không cần hệ thống riêng. Chỉ một bảng cũng đủ biến cả quy trình thành thứ ai trong nhóm cũng xem được. Bài viết cũng nói khá rõ về những lỗi tác giả gặp khi triển khai. Một trong số đó là phản hồi từ GPT không luôn nằm đúng chỗ như mong đợi trong n8n. Có lúc dữ liệu trả về ở một trường này, lúc khác lại ở trường khác. Vì vậy tác giả phải viết thêm một bước kiểm tra để lấy đúng phần chữ cần dùng. Điều này là bình thường trong các hệ thống tự động hóa.
Không phải lúc nào công cụ cũng “nói chuyện” trơn tru với nhau ngay từ đầu. Người làm vẫn phải thử, sửa, rồi kiểm tra lại đường đi của dữ liệu. Điểm đáng chú ý nhất của toàn bộ dự án là cách nó tiết kiệm thời gian. Thay vì mỗi sáng dành gần một giờ để:
- Mở nhiều trang tuyển dụng - đọc từng tin - kiểm tra xem có phù hợp không - viết thư ứng tuyển từ đầu người dùng giờ chỉ cần dành khoảng mười phút để xem kết quả đã lọc sẵn và chỉnh sửa phần cuối.
Nói cách khác, máy làm phần lặp lại, còn con người giữ phần quyết định. Đây là kiểu tự động hóa hợp lý nhất trong nhiều công việc văn phòng: không phải thay người, mà là giảm việc vô ích. Nếu rút ra một bài học thực tế từ bài viết này, thì đó là nên bắt đầu từ nguồn dữ liệu. Trước khi nghĩ đến AI viết gì hay workflow trông ra sao, hãy chọn nơi có dữ liệu dễ lấy và ổn định. Khi đầu vào sạch, phần còn lại sẽ dễ hơn rất nhiều.
Một vài kinh nghiệm đáng nhớ từ bài viết
- Chọn nguồn dữ liệu có cấu trúc ổn định sẽ đỡ tốn công sửa lỗi.
- Dùng AI để hiểu nội dung thường linh hoạt hơn tách chữ thủ công.
- Luôn có bước lọc rõ ràng để tránh tin sai lọt qua.
- Lưu kết quả vào công cụ quen thuộc như Google Sheets giúp người khác dễ dùng.
- Tự động hóa tốt là thứ người dùng gần như không để ý, cho đến khi mở bảng ra và thấy việc đã xong.
Vì sao nên đọc các bài tóm tắt trên Insight
Insight giúp bạn nắm ý chính của một bài dài mà không cần đọc hết từng dòng. Với những chủ đề công nghệ, AI, hay no-code, đây là cách tiết kiệm thời gian rất rõ ràng, nhất là khi bạn chỉ cần hiểu bài nói gì, công cụ nào được dùng, và có thể áp dụng ra sao. Thay vì phải tự lọc qua nhiều đoạn giải thích kỹ thuật, bạn có thể đọc phần tóm tắt để biết ngay điểm quan trọng. Điều này giúp giảm nhiễu, tránh bị sa vào các chi tiết quá chuyên môn khi mục tiêu của bạn chỉ là hiểu nhanh bức tranh lớn. Ngoài ra, Insight viết lại theo ngôn ngữ gần gũi hơn, nên người không chuyên công nghệ vẫn theo kịp. Bạn không cần biết sâu về lập trình hay hệ thống tự động hóa vẫn có thể hiểu cách một quy trình hoạt động, vì sao nó hữu ích, và điểm nào đáng chú ý. Với người bận rộn, lợi ích lớn nhất là tiết kiệm thời gian ra quyết định.
Bạn đọc nhanh, hiểu nhanh, rồi mới quyết định có nên tìm bài gốc, thử công cụ, hay áp dụng ý tưởng vào công việc của mình hay không.
Nguồn bài viết
Insight Graph
Khám phá hệ sinh thái 1997 Studio
Nếu bạn đang xây sản phẩm hoặc tăng trưởng, có thể tham khảo thêm các công cụ trong hệ sinh thái để áp dụng nhanh những insight này.
Bài liên quan





