1. A computer implemented method for providing extensible workflows, said method comprising: creating a plurality of workflows for processing media content, each of the workflows including a sequence of processing jobs to be performed on the media content and a set of entry points between the processing jobs, the processing jobs including at least transcoding the media content; receiving a request to process the media content on behalf of a user; selecting, based on one or more attributes of the media content, at least one workflow from the plurality of workflows for processing the media content; enabling the user to specify a custom processing job for processing the media content, the customer processing job to be injected at a specified entry point of the set of entry points in the at least one selected workflow, the custom processing job specifying one or more locations from which the media content is to be retrieved or stored, the custom processing job including delegating a level of access to the media content; executing the at least one selected workflow until the specified entry point is reached in the at least one selected workflow; generating an event indicating that the specified entry point has been reached in the at least one selected workflow and suspending the at least one selected workflow; providing, based at least in part on the event and the level of access, the media content or a portion of the media content for execution of the custom processing job; and resuming the at least one selected workflow upon receiving an indication of a completion of the custom processing job.