As Web based E-commerce and component software becomes more real, interest in software agents has increased. Agents can be viewed as specialized distributed components, offering greater flexibility than traditional components when developing certain applications. Different kinds of agents have different amounts of personality, mobility, interaction, collaboration, persistence and intelligence. This article focuses on agent communication and multi-agent systems (groups of communicating, collaborating agents). Workflow can help define how agents with different roles might interact in a flexible, yet constrained manner to accomplish a collaborative task. Agents and workflow can combine to provide a new technology for application development, providing significant benefits beyond those traditionally associated with components and scripting.