Business process modelling and enactment are notoriously complex, especially in open settings where the business partners are autonomous, requirements must be continually finessed, and exceptions frequently arise because of real-world or organizational problems. Traditional approaches, which attempt to capture processes as monolithic flows, have proved inadequate in addressing these challenges. We propose an agent-based approach for business process modelling and enactment which is centred around the concepts of commitment-based agent interaction protocols and policies. A (business) protocol is a modular, public specification of an interaction among different roles. Such protocols, when integrated with the internal business policies of the participants, yield concrete business processes. We show how this reusable, refinable and evolvable abstraction simplifies business process design and development.