A key property of agents is that they are social, and hence the design of agent interactions is a crucial part of an agentoriented software engineering methodology. Agent interactions are usually designed by focusing on the messages, and using interaction protocols to define permissible message sequences. This approach goes against the idea of agents being autonomous, flexible and robust by limiting agents’ flexibility in interactions. In this paper we focus on the commitment machine framework of Yolum and Singh, and we provide a simple and usable process, including techniques and tips, for designing commitment-based agent interactions.