# Installation & Licenses Management

This guide covers the essential steps to get Avonni Dynamic Components running in your Salesforce environment.

## Overview

Before configuring users, it is important to understand that access to Avonni Components is controlled by a two-step security model. For a user to successfully view or interact with a component, they must have BOTH:

1. **A Package License**: This allocates a specific "seat" to the user (managed in *Installed Packages*).
2. **A Permission Set**: This grants the technical rights to load the component code (managed in *Permission Sets*).

> Note: If a user has a License but no Permission Set (or vice versa), the components will not load, and they will encounter an error.

#### Environment & Limits

* Sandbox Environments: Installation includes a Site License. You have unlimited users and no time limits for testing and development.
* Production Environments: Installation includes a Freemium Plan with 10 Licenses. If you need to grant access to more than 10 users, you will need to purchase additional licenses

***

## **Installation**

{% hint style="danger" %}

#### Important Prerequisite: Lightning Web Security

To successfully install and use the Avonni Dynamic Components Package, you MUST enable Lightning Web Security (LWS) in your org.

1. Go to Setup > Security & Privacy.
2. Locate Lightning Web Security.
3. Ensure the toggle is Enabled
   {% endhint %}

{% hint style="success" %}

#### Direct Link Install

Visit the [**Release Notes site**](https://docs.avonnicomponents.com/dynamic-components/getting-started/broken-reference) to access direct links to install the Avonni Experience Components App.
{% endhint %}

## Step 1: Assign Package Licenses

The package license grants the user the fundamental right to use the Avonni Components within Salesforce.

### How to Assign

1. Navigate to Setup.
2. Search for Installed Packages.
3. Locate Avonni Components and click Manage Licenses.
   * *Legacy Note: If you are using the legacy standalone package, look for "Avonni Dynamic Component" (singular).*
4. Click Add Users, select the required users, and click Save.

***

## Step 2: Assign Permission Sets

When you install the Avonni Experience Components package, three specific Permission Sets are automatically added to your Salesforce org.

These permission sets control the level of technical access a user has—determining whether they can simply view a component on a page or build new configurations using the Avonni Builder

<figure><img src="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2F0qXOzdUQf2w65O3l2j5n%2F2025-11-26_15-33-34.png?alt=media&#x26;token=d304ec49-4a78-4b52-a78d-81d2ccb34382" alt=""><figcaption></figcaption></figure>

Select the permission set that matches the user's role:

| Role                                                                           | Permission Set Name                     | Function                                                                                                                           |
| ------------------------------------------------------------------------------ | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong>End Users</strong></p><p><strong>(Internal Salesforce)</strong></p> | Avonni Dynamic Components User          | Required for users who need to view/interact with Dynamic Components (e.g., custom Data Tables, action buttons) inside Salesforce. |
| <p><strong>End Users</strong></p><p><strong>(Experience Cloud)</strong></p>    | Avonni Experience Cloud Components User | Required for users who need to view/interact with components on Experience Sites or standard Lightning App Builder pages.          |
| **Admins & Builders**                                                          | Avonni Experiences Admin                | Required for users who need to create, edit, or build Dynamic Components using the Avonni Component Builder.                       |

### How to Assign

1. Navigate to **Setup** > **Permission Sets**.
2. Select the appropriate Permission Set from the table above.
3. Click **Manage Assignments** > **Add Assignment**.
4. Select the users to whom you assigned licenses in Step 1.
5. Click Assign.

> Best Practice (Least Privilege): Only assign the Avonni Experiences Admin permission set to users who actually need to build components. Most users only require the User permission sets.

***

## Advanced: Allowing Non-Admins to Build Components

By default, only System Administrators can create/edit components. If you wish to grant a non-admin user the ability to create Dynamic Components, you must assign them the Avonni Experiences Admin permission set (Step 2) **AND grant two specific system permissions**.

Required System Permissions

1. **Author Apex**: Allows creation/modification of custom components.
2. **Modify Metadata Through Metadata API Functions**: Enables saving component configurations.

How to configure

1. Go to **Setup** > **Permission Sets**.
2. Create a New Permission Set (e.g., "Avonni Builder System Permissions").
3. Go to System Permissions and check the boxes for **Author Apex** and **Modify Metadata Through Metadata API Functions**.
4. Assign this custom permission set to your non-admin builder.

***

## **Purchasing Licenses**

The Avonni Components package has a freemium plan that allows up to 10 users in your production org. You'll need additional licenses to grant access to more than 10 users.

{% hint style="success" %}
To purchase licenses, please email us at <sales@avonni.app> with your requirements or [schedule a time](https://calendly.com/avonni/15min) to discuss pricing options.
{% endhint %}

***

## Need Help?

If you are encountering issues with license assignment or permissions:

* Community: Join our [Trailblazer Community Group](https://trailhead.salesforce.com) to discuss best practices, bulk assignment, and large-org strategies.
* Support: Contact our team at [`support@avonni.app`](mailto:support@avonni.app).
* Sales: For pricing discussions or high-volume licensing, contact [`sales@avonni.app`](mailto:sales@avonni.app).
