> For the complete documentation index, see [llms.txt](https://docs.avonnicomponents.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.avonnicomponents.com/dynamic-components/getting-started/installation-and-licenses-management.md).

# 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

If the installation fails with an error mentioning `LWC1503: Dynamic imports are not allowed`, this setting is the cause: enable it and run the installation again.
{% endhint %}

{% hint style="success" %}

#### Direct Link Install

Visit the [**Release Notes site**](broken://spaces/JU6zQrEzmfEcUVL9Ocs7) 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.

{% hint style="info" %}
In Installed Packages you will see a single entry, **Avonni Experience Components**. That one package delivers the Dynamic Components as well, so there is no separate Dynamic Components package to look for.
{% endhint %}

### How to Assign

1. Navigate to Setup.
2. Search for Installed Packages.
3. Locate **Avonni Experience Components** and click Manage Licenses.
   * *Legacy Note: If you are still on the legacy standalone package, the entry is named "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%2Fgit-blob-4a9f6858e3a7d2d1ed6fa5eccb79a6a7b9bec615%2F2025-11-26_15-33-34.png?alt=media" 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.

If you plan to use the components on an Experience site, see [Experience Sites Integration](/dynamic-components/core-concepts/experience-sites-integration.md) for the site-specific setup.

***

## 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.

***

## Optional: Routing for Map Routes

The Map component can plan a multi-stop driving route. That feature is off until an administrator enables it, and it needs setup that is separate from licences and permission sets.

* Routing is **bring-your-own-key** — you supply an API key from OpenRouteService or Mapbox. Avonni hosts no routing backend.
* Enable it from the **Settings** tab of the **Avonni Components** app in the App Launcher.
* No permission set is needed. Once routing is enabled, every user who can open a map with the route panel turned on can calculate routes, including guest users of Experience Cloud sites.

Full walkthrough: [Routing Setup](/dynamic-components/getting-started/routing-setup.md).

***

## **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).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.avonnicomponents.com/dynamic-components/getting-started/installation-and-licenses-management.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
