Một workflow (luồng công việc) là thứ tự các bước, tác vụ, sự kiện hoặc tương tác làm nên một quy trình để thực hiện một công việc nào đó. Quy trình này có thể có nhiều bộ phận, cá nhân tham gia. Nguồn gốc luồng công việc có lẽ bắt nguồn từ công tác xử lý văn bản: văn bản cần phải được di chuyển từ nơi này sang nơi khác để thực hiện các công việc khác nhau (đọc, sửa đổi, góp ý, xem lại, phê chuẩn…). Ví dụ, một luồng công việc thực hiện mua bán hàng hóa đơn giản nhất gồm một chuối các bước như sau: Đầu tiên người mua xem tính năng sản phẩm và giá, nếu cảm thấy thỏa mãn thì chọn mua sản phẩm đó, tiếp theo điền thông tin cá nhân vào phí thanh toán và cuối cùng là thanh toán đơn hàng
Thực tế cho thấy, các hệ thống quản lý thông tin chứa rất nhiều nghiệp vụ cần thực hiện như một luồng công việc. Vì vậy có rất nhiều sản phẩm workflow tự động cho phép tạo mô hình luồng công việc và các thành phần như là các form online, người dùng dùng chúng để đảm bảo tính nhất quán của công việc. Chẳng hạn như ở ví dụ trên, luồng công việc đảm bảo rằng người mua hàng phải thực hiện bước chọn sản phầm và điền thông tin khách hàng trước khi thực hiện thanh toán.
Ngoài ra workflow cho phép phối hợp làm việc giữa con người và phần mềm bằng các loại giao diện tương tác khác nhau: email, web-form, winform, instant message
Tại sao nên dùng WF: WF là nền tảng cho phép các nhà phát triển xây dựng các ứng dụng có các luồng công việc trở nên đơn giản hơn. Thực tế, có rất nhiều nhà phát triển đã phát triển framework của riêng họ, điều này cho thấy sự cần thiết phải có một framework đủ tốt hỗ trợ cho các ứng dụng về luồng công việc. Sự ra đời của WF đã giải quyết được nhu cầu này. Một workflow trong WF được cấu thành từ các activity. Theo quan điểm của người lập trình thì workflow hay activity đều là các đối tượng được hình thành từ các lớp, do vậy có thể định nghĩa được các workflow hay activity tùy ý. Cũng giống winform hoặc webform có điều khiển chuẩn thì Microsoft cũng cung cấp các activity cơ bản gọi là BAL (Base Activity Library), hầu hết các workflow đều được xây dựng chỉ từ các activity này. Nhà phát triển có thể thiết kế workflow rất trực quan qua công cụ thiết kế workflow đồ họa trên (Workflow Designer) Visual Studio. Rất nhiều người thích tính trực quan và dễ dàng nắm bắt của giao diện đồ họa này nhưng cũng có người thích những dòng mã hơn, vì thế WF cho phép họ làm như thế hoặc phối hợp cả hai cách. Như vậy WF cho hiệu quả phát triển workflow luôn ở mức cao nhất, thuận tiện nhất với tất cả mọi người. Workflow được WF hỗ trợ phát triển nhanh chóng và dễ dàng như vậy nên chi phí phát triển sẽ giảm đáng kể mà chất lượng vẫn được đảm bảo.
WF là một mô hình lập trình, trang bị một cơ chế và các công cụ để xây dựng các ứng dụng thiên về luồng công việc. Như trong hình… một workflow trong WF được cấu thành từ các activity, các activity này thường là được tạo ra từ BAL - thư viện activity cơ bản của WF hoặc cũng có thể là các activity tùy biến của người dùng. Một workflow sẽ chạy trong Runtime Engine, trong Runtime Engine có thể bao gồm cả các dịch vụ chạy (Runtime Service). Đến lượt Runtime Engine lại được lưu trú ở một tiến trình của ứng dụng chủ (host process), ứng dụng chủ có thể là bất cứ loại ứng dụng nào của .NET chạy phía client hay server: winform, winservice, webform, web service.