Before reading this article, read about Roles in Workflow if you are not aware of what a role is about.
A role can be created from application from “User Management” responsibility. Adhoc role is something which can be created dynamically using PL/SQL on run time based on requirement.
Not only Adhoc role can be created through PL/SQL, we can also add and remove users to the adhoc role. We can also inactive/delete the Adhoc role through Pl/SQL.