Agents can use negotiation techniques to resolve conflicts over limited resources so that they can achieve their goals. The individual plans of agents provide the necessary information for discovering and resolving such conflicts. Conflicts can be avoided by reducing or eliminating interactions by localizing plan effects to particular agents and by merging/coordinating the individual plans of agents by introducing synchronization actions. We describe a method for coordinating plans at abstract levels that takes advantage of hierarchical representations of plan information and that retains the flexibility of plans used in robust plan execution systems such as procedural reasoning systems (PRS). In order to coordinate at abstract levels in plan hierarchies, information about how abstract plans can be refined must be available in order to identify and avoid potential conflicts. We address this by providing procedures for deriving summary information for non-primitive plans that capture the external preconditions and effects of their refinements. We also describe a general search algorithm and an implementation to show how to use this information to identify conflicts and find ways to coordinate hierarchical plans from the top down to primitive actions. Agents can then negotiate over the choice of different coordination methods using any of several techniques.