This paper addresses the dynamic service selection and composition issues for the satisfaction of user requirements. We propose an approach in which agents perform service composition through unplanned interactions. In our architecture, agents offer semantic web services and are capable of reasoning about their services’ functionalities. These agents are provided with an interaction protocol that allows them, through dialogue games, to select and compose appropriate services’ functionalities in order to fulfill a complex set of requirements specified by a user.