> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enhanced roles and permissions

> Introduced granular Role-Based Access Control (RBAC), allowing Key Account Managers to manage vendor-specific campaigns and data with tailored permissions, improving security and workflow efficiency.

export const ChangelogActions = () => {
  return <>
      <style>{`
        .changelog-actions {
          display: flex;
          justify-content: center;
          gap: 12px;
          margin-top: 2rem;
          padding-top: 1.5rem;
          border-top: 1px solid #e5e7eb;
        }
        
        [data-theme="dark"] .changelog-actions {
          border-top-color: #374151;
        }
        
        .changelog-btn {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 8px 16px;
          border-radius: 9999px;
          border: 1px solid #d1d5db;
          background: transparent;
          color: #6b7280;
          font-size: 14px;
          cursor: pointer;
          transition: all 0.2s ease;
        }
        
        .changelog-btn:hover {
          border-color: #9ca3af;
          background: #f9fafb;
        }
        
        [data-theme="dark"] .changelog-btn {
          border-color: #4b5563;
          color: #9ca3af;
        }
        
        [data-theme="dark"] .changelog-btn:hover {
          border-color: #6b7280;
          background: #1f2937;
        }
      `}</style>
      <div className="changelog-actions">
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    btn.innerHTML = "❤️ Like";
    btn.style.borderColor = "#ec4899";
  }}>
          🤍 Like
        </button>
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    navigator.clipboard.writeText(window.location.href);
    const originalContent = btn.innerHTML;
    btn.innerHTML = "✓ Copied";
    btn.style.borderColor = "#22c55e";
    btn.style.color = "#22c55e";
    setTimeout(() => {
      btn.innerHTML = originalContent;
      btn.style.borderColor = "";
      btn.style.color = "";
    }, 2000);
  }}>
          ↗ Share
        </button>
      </div>
    </>;
};

<div style={{ display: "flex", gap: "8px", flexWrap: "wrap", marginBottom: "16px" }}>
  <Badge color="gray" size="sm" icon="calendar">November 21, 2024</Badge>
  <Badge color="blue" size="sm" icon="rectangle-ad">Ad Platform</Badge>
  <Badge color="orange" size="sm" icon="arrow-up">Improvement</Badge>
</div>

### **Enhanced roles and permissions**

RBAC (Role-Based Access Control) - Additional Roles and Permissions enhances account security and flexibility by allowing Key Account Managers (KAMs) to access specific account data and create campaigns restricted to certain vendors. This ensures better role management and accountability.

### **Importance of RBAC - Additional Roles and Permissions**

Provides granular control over who can access and manage vendor-specific data and campaigns.

### **Key Benefits**

* **Focused Campaigns**: Lets KAMs work directly with vendors they’re assigned to, ensuring everything stays organized and efficient.
* **Clear Data Access**: Provides a clear view of data and information about the specified vendors, helping KAMs make informed decisions.

### **How It Works**

When assigning roles and permissions:

1. Navigate to **“Settings”** on the sidebar and go to the **“Users”** section.
2. Click on **“+ Add Member”** in the team management section.

<Frame>
  <img src="https://mintcdn.com/topsort/M3N4mDiL0uw6VdTk/images/changelog/image.webp?fit=max&auto=format&n=M3N4mDiL0uw6VdTk&q=85&s=b67b033cdddcc4d7f82cbc0e04af733b" alt="" width="2874" height="1290" data-path="images/changelog/image.webp" />
</Frame>

3. Assign the **“Sales”** role from the dropdown menu.

<Frame>
  <img src="https://mintcdn.com/topsort/M3N4mDiL0uw6VdTk/images/changelog/image-1.webp?fit=max&auto=format&n=M3N4mDiL0uw6VdTk&q=85&s=233e50a9a83b17be990e097bc9cee85e" alt="" width="1062" height="860" data-path="images/changelog/image-1.webp" />
</Frame>

4. Enter the user’s first name, last name, and email address.
5. Click **“Next”** to proceed to the vendor selection screen.
6. Select the vendors the user will manage by clicking the **“Add”** button next to each relevant vendor.

<Frame>
  <img src="https://mintcdn.com/topsort/M3N4mDiL0uw6VdTk/images/changelog/image-2.webp?fit=max&auto=format&n=M3N4mDiL0uw6VdTk&q=85&s=30022584c2ef81014b64c26fcf0c9e5f" alt="" width="1344" height="1438" data-path="images/changelog/image-2.webp" />
</Frame>

7. Use the search bar to quickly find specific vendors, or select all vendors as needed.
8. Confirm the setup by clicking **“Send invitation.”**

Once the user accepts the invitation, they will have access only to the selected vendors and associated data, ensuring secure and tailored permissions.

### **Considerations**

* Only admins can assign roles and vendor access.
* KAMs cannot access data or campaigns outside their assigned vendors.

<ChangelogActions />
