A method for synthesizing multi-agent plans from simpler single-agent plans is described. The idea is to insert communication acts into the single-agent plans so that agents can synchronize activities and avoid harmful interactions. Unlike most previous planning systems, actions are represented by sequesnces of states, rather than as simple state change operators. This allows the expression of more complex kinds of interaction than would otherwise be possible. An efficient method of interaction and safety analysis is then developed and used to identify critical regions in the plans. An essential feature of the method is that the analysis is performed without generating all possible interleavings of the plans, thus avoiding a combinatorial explosion. Finally, commiunication primitives are inserted into the plans and a supervisor process created to handle synchronization.