  Chatbots are software agents that are able to interact with humans in natural
language. Their intuitive interaction paradigm is expected to significantly
reshape the software landscape of tomorrow, while already today chatbots are
invading a multitude of scenarios and contexts. This article takes a
developer's perspective, identifies a set of architectural patterns that
capture different chatbot integration scenarios, and reviews state-of-the-art
development aids.
