In this chapter we examined how to extend the standard workflow in CMS. We started with a basic review of the various posting states. In essence, extending CMS workflow is about controlling the native states of a posting. Then, we discussed the various workflow events where you can code your business-specific logic. These events allow you to catch specific events and actions, binding them to your particular business process. Once the groundwork was laid, we demonstrated two different approaches to writing custom workflow extensions one using the Global.ASAX file and standard event handlers, the other using custom HTTP modules. Finally, we discussed a few best practices for implementing your business logic within the workflow events of CMS.