# Managing user properties

{% hint style="info" %}
This feature is under feature flag, contact your CSM to enable it on your workspace.

To access to the User Properties Management, you have to contact your CSM to enable a User Attribute Management flag.
{% endhint %}

As an application administrator at both the app store and application levels, you can learn how to add and delete user properties.

This powerful new capability allows application administrators to create and delete custom user properties, enhancing the flexibility and personalization of your data visualization experience. Whether you're managing user-specific settings, handling complex user credentials, or tailoring application behavior, User Properties Management offers a robust solution.

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-b4af4118562b5722b76694baff7a9e2a4b75c1b4%2Fuser_attributes_management_flow.gif?alt=media" alt=""><figcaption></figcaption></figure>

**Key Features**

1. **Custom User Properties**: Administrators can create custom attributes for users beyond the built-in properties (name, roles, groups, and privileges). These properties can be of various types:
   * **Array**: For lists or collections of values.
   * **String**: For text-based information.
   * **Integer**: For numeric values.
   * **Boolean**: For true/false settings.
   * **Object**: For structured data.
2. **Secret Attributes**: In addition to classic attributes, administrators can create secret attributes. These are not visible at the application level but can be used internally to manage sensitive information like credentials for database connections.
3. **Variable Management Hub**: This hub allows you to leverage the custom attributes to variabilize different levels of your application, ensuring a tailored experience for each user.

**Using the User Properties Management Feature**

**Accessing the User Management Interface**

1. **Log in to your application**: Navigate to the administration section of your instance.\\
2. **User Management**: Select 'Users' from the main menu to access the User Properties Management interface.\\

   <figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-27c6170a9d852f632500711d692870e6b0f3d0c4%2Fimage%20(2)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

**Creating Custom Attributes**

1. **Navigate to User Properties**: Within the Users space, find the 'Properties' tab.
2. **Add New Property**: Click the 'Add New Property' button.
3. **Configure the Property**:
   * **Privacy**: Choose 'Attribute' for visible attributes or 'Secret' for hidden ones.
   * **Name**: Provide a name for the property.
   * **Data Type**: Select the appropriate type (Array, String, Integer, Boolean, Object).
4. **Save**: Click 'Create' to create the property.

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-f2c18b830c6a290161fe7b7c6d34e195518f18b3%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

**Deleting Custom Attributes**

1. **Navigate to User Properties**: Access the 'Properties' tab within Users space.
2. **Select Property**: Choose the attribute you wish to delete.
3. **Delete**: Click the 'Delete' button and confirm the action.

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-87c5167864bc4941b3c3fc4cfbeb931be9a03eef%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

**Utilizing Custom Attributes**

Custom attributes can be reused in your applications to customize and variabilize user experiences. For instance, you can:

* Tailor user interfaces based on user-specific settings stored in custom attributes.
* Use secret attributes to securely manage database connection credentials without exposing them at the application level.

More information in the documentation below

{% embed url="<https://docs-v3.toucantoco.com/data-management/managing-variables-in-toucan/variables-hub>" %}

**Best Practices**

* **Security**: Utilize secret attributes for any sensitive information to ensure it remains protected.
* **Naming Conventions**: Use clear and consistent naming for attributes to avoid confusion and ensure easy management.
* **Documentation**: Keep a record of all custom attributes and their intended use to maintain clarity within your team.

### Alternative Solution: Add Custom User Attributes

**Step 1: Update Your Instance Settings**

This is the most delicate step in the process. You’ll need to modify your instance settings file using your preferred code editor to define a user\_attributes\_schema object.

In the example below, we are adding two custom attributes: city and country. To do this, add a user\_attributes\_schema section in your instance settings file, structured as follows:

```
user_attributes_schema: 
    type: "object" 
    properties: 
        city: type: "string" 
        country: type: "string" 
    required: ["city"]
```

{% hint style="info" %}
Only the string type is currently supported.

You can specify which attributes are required using the required array.
{% endhint %}

{% hint style="success" %}
You can access the instance settings file via the Settings menu in your instance.
{% endhint %}

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-21a1f0b8688698c5ce9a90bea2428b90a7f97c2a%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

**Step 2: Prepare Your Users**

Once your schema is defined, you’ll need to prepare your users accordingly. Go to the /users page to begin.

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-7b23ae912abc32cbc723e4259b012cf1262c4d8b%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

**1. Download and Edit the Bulk Upload Template**

* Download the CSV template from the interface.
* Open it using your preferred spreadsheet tool (e.g., Excel, Google Sheets).

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-92d1c7ec06c761d2a80eff6fe42463520d0f4be1%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-c384a3c65ffab753bc324570dac67453f546dae0%2Fimage-20200228-154428.png?alt=media" alt=""><figcaption></figcaption></figure>

**2. Add Your Attributes**

To include custom attributes like city and country, simply add new columns to the CSV.

* Column headers should follow this format: attribute city, attribute country
* Fill in the corresponding values for each user.

{% hint style="warning" %}
**Take care !** The prefix should be `attribute` with a space at the end.
{% endhint %}

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-8657144020cf68c14e2a4dda9924b0b3bd576624%2Fimage-20200228-154523.png?alt=media" alt=""><figcaption></figcaption></figure>

**3. Upload Your File**

Once your file is ready:

* Drag and drop it onto the bulk user creation interface.

<figure><img src="https://1809014303-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZxYYf1KpgarKMgMsDCrw%2Fuploads%2Fgit-blob-92d1c7ec06c761d2a80eff6fe42463520d0f4be1%2Fimage%20(227).png?alt=media" alt=""><figcaption></figcaption></figure>

You’re all set! Your users will now include the custom attributes defined in your instance settings.

**Conclusion**

The User Properties Management feature is designed to offer unparalleled flexibility and security in managing user-specific settings and credentials within Toucan. By leveraging custom and secret attributes, you can enhance your data visualization applications, providing a more personalized and secure experience for your users.

For further assistance or questions, please contact our support team.
