Existing electronic negotiation systems (ENSs) typically implement a single, fixed negotiation protocol, which restricts their use to negotiation problems that were anticipated and established a priori by the system designers. The single-protocol restriction limits ENSs'' applicability in experiments and in many real-life negotiation situations. ENSs that allow for the use of different protocols also allow for the customization to users'' needs and abilities. We present theoretical foundations for the design of flexible and highly customizable protocol-driven ENSs. Our design enables researchers and negotiators to map negotiation activities onto system components and to construct their own negotiation protocols by creating a sequence of layout programs invoking components and rules.