# User Roles and Permissions

### 3.1 Roles and Responsibilities  <a href="#id-3.1-roles-and-responsibilities" id="id-3.1-roles-and-responsibilities"></a>

The chatbot system is designed to accommodate various user roles, each with specific permissions and responsibilities. These roles ensure that the system is managed efficiently and that users can perform tasks relevant to their function within the organization.&#x20;

#### 3.1.1 Agent  <a href="#id-3.1.1-agent" id="id-3.1.1-agent"></a>

**Primary Responsibilities**: Agents are the primary users of the chatbot, utilizing it to assist in answering customer queries during interactions. &#x20;

Agents can submit queries to the chatbot using natural language, receive responses, and use the chatbot’s generative AI to craft well-structured and clear answers for their customers.&#x20;

**Permissions**:&#x20;

* **Make Queries**: Agents can interact with the chatbot to retrieve information and ask questions.&#x20;
* **View Responses**: Agents have access to the chatbot’s generated responses based on their queries.&#x20;
* **Provide Feedback**: Agents can rate the chatbot’s responses and provide feedback directly through the interface. This feedback is used to improve the system over time.&#x20;

#### 3.1.2 Knowledge Manager  <a href="#id-3.1.2-knowledge-manager" id="id-3.1.2-knowledge-manager"></a>

**Primary Responsibilities**:&#x20;

Knowledge Managers are responsible for curating and updating the knowledge base that the chatbot uses to generate responses. They play a critical role in ensuring the chatbot has access to accurate, up-to-date information.&#x20;

They are also responsible for providing best practices to agents and improving the system’s ability to respond to queries more effectively.&#x20;

**Permissions**:&#x20;

* **Prepare Knowledge Material**: Knowledge Managers can upload and update the data sources that the chatbot relies on.&#x20;
* **Make Queries**: Similar to agents, Knowledge Managers can interact with the chatbot to test its responses or perform troubleshooting.&#x20;
* **View Responses**: Knowledge Managers can see how the chatbot generates responses based on the available data.&#x20;
* **Provide Feedback**: They can also rate responses and provide feedback on how the system could improve.&#x20;
* **Access to Metrics and Feedback**: Knowledge Managers can access the Reporting Panel to review chatbot performance metrics, including response accuracy, feedback trends, and usage data. This helps them optimize content and identify areas for improvement.&#x20;
* **Create and Assign Users to Knowledge Bots**: Knowledge Managers can create and assign agents to their specific knowledge bots within the system.&#x20;

#### 3.1.3 Admin  <a href="#id-3.1.3-admin" id="id-3.1.3-admin"></a>

**Primary Responsibilities**:&#x20;

Admins manage the overall user structure and have control over setting up projects and user accounts within the system.&#x20;

They ensure that the right users have access to the chatbot and that new Agents or Knowledge Managers or Admins are onboarded as needed.&#x20;

The Admin team is also responsible for first-level technical troubleshooting, addressing any system issues that arise and coordinating with the technical team for more complex problems.&#x20;

Admins handle any reported issues related to content inaccuracies, ensuring that inaccurate or outdated information is corrected by collaborating with Knowledge Managers.&#x20;

**Permissions**:&#x20;

They are responsible for ensuring that the right users have access to the chatbot and for onboarding new Agents or Knowledge Managers or Admins as needed.&#x20;

* **Create knowledge bots**: Admins can set up new knowledge bots, ensuring that relevant knowledge bases are linked to the chatbot.&#x20;
* **Prepare Knowledge Material**: Admins can upload and update the data sources that the chatbot relies on.&#x20;
* **Create and assign Users to Knowledge Bots**: Admins can create and assign users (Agents, Knowledge Managers, Admins) to knowledge bots within the system. &#x20;
* **Make Queries**: Similar to Agents and Knowledge Managers, Admins can interact with the chatbot to test its responses or perform troubleshooting. Admins can see how the chatbot generates responses based on the available data.&#x20;
* **Provide Feedback**: They can also rate responses and provide feedback on how the system could improve.&#x20;
* **Access to Metrics and Feedback**: Admins can access the Reporting Panel to review chatbot performance metrics, including response accuracy, feedback trends, and usage data. This helps them optimize content and identify areas for improvement.&#x20;

#### 3.1.4 Super Admin  <a href="#id-3.1.4-super-admin" id="id-3.1.4-super-admin"></a>

**Primary Responsibilities**:&#x20;

Super Admins, have full control over the system. They manage both the operational and technical aspects of the chatbot and oversee its maintenance and continuous development.&#x20;

**Permissions**:&#x20;

* **Full Access**: Super Admins have the ability to perform all tasks within the system, including creating and managing users, knowledge bots, and data sources.&#x20;
* **Access to All Metrics**: They have full visibility into performance reports, feedback, and system usage metrics, enabling them to monitor the chatbot’s overall performance and ensure compliance with business requirements.&#x20;

### 3.2 Authentication and Authorization  <a href="#id-3.2-authentication-and-authorization" id="id-3.2-authentication-and-authorization"></a>

To ensure secure access to the system, the chatbot will integrate with **ixAdmin  B2C authentication** for login / logout. Like this authentication flows at platform level are unified under a centralized system for internal and external users.&#x20;

* **Role-Based Access Control (RBAC)**: Once authenticated, users are granted access based on their assigned role (Agent, Knowledge Manager, Admin, or Super Admin). Each role has specific permissions that limit or extend access to various features of the chatbot. In case the user does not have a role assigned yet, he will fail to login. In case the user is Agent or Knowledge Manager with no knowledge bot assigned, he will not be able to login. &#x20;
* **User Permissions Management**: Admins and Super Admins have the ability to assign or change user roles within the system, ensuring that only authorized personnel have access to sensitive data or administrative functions.&#x20;

### 3.3 Role Transition and User Onboarding  <a href="#id-3.3-role-transition-and-user-onboarding" id="id-3.3-role-transition-and-user-onboarding"></a>

* **Role Assignment**: During the onboarding process, users are assigned specific roles by Knowledge Managers, Admins, Super Admins. These roles define their level of access and the functionalities they can interact with. &#x20;
* **Role Transition**: Users may transition between roles as needed. For example, an Agent may be promoted to a Knowledge Manager and gain additional access rights, which will be handled via the system’s role management tools. &#x20;
* A user can have only one role per application&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ixhello.com/knowledge-bot/functional-documentation/user-roles-and-permissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
