1. A method for managing task assignments, performed on a computer system having one or more processors and memory storing one or more programs for execution by the one or more processors to perform the method, comprising: receiving input within a document from a task assignor indicating that the task assignor wants to associate a task with the document; embedding a task tag in the document; identifying the task tag embedded in the document, the task tag comprising task parameters; generating a task record based on the task parameters; determining that the document is required in order to perform a task identified by the task parameters based on the task tag being embedded in the document; linking the task record to the document based on the determining; storing the task record in a task database; and granting a user identified in the task record permission to modify the task record.