# Building blocks of a chatbot

Chatbots are made of the following:
  
- [Keywords](https://www.infobip.com/docs/chatbot-structure/keywords): Predefined words and phrases that you can use to determine the next step in the chatbot flow.
- [Attributes](https://www.infobip.com/docs/chatbot-structure/attributes): Data objects that can capture and store information
- [Intents](https://www.infobip.com/docs/ai-chatbots/intents): Intents define the goal of the end user's conversation with the chatbot.
- [Dialogs](https://www.infobip.com/docs/chatbot-structure/dialogs): A section of the chatbot that performs a specific task or set of tasks. The entire conversation between the chatbot and the end user is contained in dialogs
- [Elements](https://www.infobip.com/docs/chatbot-elements): Used to perform specific functions, such as sending or receiving messages, processing responses, or adding delay.
- [Components](https://www.infobip.com/docs/answers/chatbot-structure/components): A component is a reusable block that does a specific task. It is a smaller version of a chatbot and can be shared across multiple solutions. A component can only be used within a solution, such as a chatbot.