This paper presents the design of an open architecture for heterogeneous negotiating agents. Both the system level architecture as well as the architecture for negotiating agents are provided. The main contribution of this paper is that it derives a precisely specified interface from these architectures that facilitates an easy integration of heterogeneous agents into the overall negotiation framework. The interface is defined as a set of adapters that allows for various levels of integration of agents into the system architecture. The functionality provided by the system architecture depends on the number of adapters that are implemented and used to connect an agent to this architecture, ranging from functionality to conduct a bilateral negotiation to functionality for computing agent internal performance measures such as the quality of an opponent model. The architecture is used as the basis of a competitive testbed which allows us to study various negotiating agents. The design yields a flexible negotiation framework that facilitates negotiating different domains potentially using different protocols whereas no details of the internal negotiating agent structure are enforced. An application of the framework is illustrated by integrating two agents from the literature.