Recent years have seen a surge in the use of intelligent computer-supported collaborative learning (CSCL) tools for improving student learning in traditional classrooms. However, adopting such a CSCL tool in a classroom still requires the teacher to develop (or decide on which to adopt) the CSCL tool and the CSCL script, design the relevant pedagogical aspects (i.e., the learning objectives, assessment method, etc.) to overcome the associated challenges (e.g., free riding, student assessment, forming student groups that improve student learning, etc). We have used a multiagent-based system to develop a CSCL application and multiagent-frameworks to form student groups that improve student collaborative learning. In this paper, we describe the contexts of our three generations of CSCL applications (i.e., I-MINDS and ClassroomWiki) and provide a set of lessons learned from our deployments in terms of the script, tool, and pedagogical aspects of using CSCL. We believe that our lessons would allow 1) the instructors and students to use intelligent CSCL applications more effectively and efficiently, and help to improve the design of such systems, and 2) the researchers to gain additional insights into the impact of collaborative learning theories when they are applied to real-world classrooms.