As a result of the ubiquity of computer networks, computer systems increasingly participate in complex, distributed communities of people and systems, rather than operating as solitary devices employed by a single person. This major shift in the way we use computers has led to a significant challenge for computer science, one in which AI can play a major role: to determine ways to construct computer systems that are able to act effectively as collaborative team members. Teams may consist solely of computer agents, but often include both systems and people. They may persist over long periods of time, form spontaneously for a single group activity, or come together repeatedly. This talk will briefly review the major features of one model of collaborative planning, SharedPlans (Grosz and Kraus, 1996,1999) and will describe efforts to develop collaborative planning agents and systems for human-computer communication based on this model. The model also provides a framework in which to raise and address fundamental questions about collaboration and the construction of collaboration-capable agents. The talk will describe recent approaches to three such problems-commitment management, assessment of alternative courses of action, and group decision-making for recipe selection.