Before you get started, we need to understand the different components to a bot and how they work together:
- Virtual Assistant (or VA): Orchestrator of the bot army. Predicts a user’s intent, getting their messages to the relevant place. Enables intent switching mid conversation flow, translation, redaction, and many more broad conversational features.
- Bot: A collection of workers that come together to meet a set of customer use cases (could be just one worker)
- Worker: The smallest unit of tangible work inside a bot that helps it complete a mission. An instance of NLP strategy or process, that responds to a request. Users never see or hear from workers, and you manage them through the resources you add to your bot. We have a few kinds of workers
- Classic Flow Worker: Uses flow based programming to configure the interaction of the bot
- NLP Worker: An integration with an NLP engines such as Lex, Dialogflow, Rasa or Watson. They all have different capabilities, strengths and weaknesses.
- Filter Worker: A worker designed to take page events and trigger botnet actions
- Secrets: A document or string containing API keys or configurations. These are used for accessing external NLP providers and APIs
- ServisBOT BaaS: mappings between ServisBOT and your APIs
- API Connectors: Provides a system mapping to an outside API. We’ve got blueprints to get started, or you can build custom ones.
- AWS SDK Connectors: Provides a mapping to AWS services available in their SDK. Just set your keys, and power your bots with AWS.
- Endpoints: Custom styling, channel, or customization of a bot for omnichannel entry points. These can be used to display different styling for bots on different domains, or for sub brands. They can also be used to customize a bot for specific channels such as Alexa, or Whatsapp. Not to be confused with API endpoints.
- Organization: A customer account in which bots are created. One organization can have many endpoints, many bots.
- Classic Flow Node: A step in classic flow represented by a block. Each node has either inputs or outputs based on it’s purpose.