A template is a chatbot that is already built for a generic use case that can simply be configured or customized for a specific use case by a developer or content creator. In short, a template is a prebuilt chatbot.
Customizing something that is already built rather than starting from scratch or even starting with a component library, cuts the development time by an order of magnitude. The benefits of chatbot templates are therefore obvious.
Imagine you are a developer or software development house that wants to build a template for your restaurant client to answer customer service questions and to book tables. Instead of building this bot from scratch, you buy a template and configure it or customize the code. Either way you get a high quality chatbot for a much lower cost.
Of course the template approach is used for many different types of software development tasks, from building websites and apps to building spreadsheets and presentations.
In addition to templates, Botpress allows developers to create skills that can be used in the creation of the bot. A skill is essentially a prebuilt component that can be used in building a conversation flow.
For example, imagine that you wanted most of your conversation flows to implement a login gate to check whether the user is logged in already and if not to log them in. This process needs to be integrated with your backend system that controls authentication.
This log in gate can be implemented so that it is represented as a visual skill on the visual flow builder. This way, any conversation designer, can simply add that visual component to the flow to implement a login gate at that point in the flow.
Any bot behaviour that is common that has any complexity is a candidate for being a skill that can be easily used by flow builders.
Templates and skills make it much easier for beginners and advanced bot creators to put together sophisticated bots quickly. They only have to modify or configure something that is already built.
Advanced developers can also benefit themselves and the wider community by creating new templates and skills that can then be used by everyone else. It takes more programming knowledge to create templates and skills however this can be a very useful capability to master.