--- title: "Updating custom properties using Scripts" slug: "updating-custom-properties-using-scripts" updated: 2026-02-13T06:42:36Z published: 2026-02-13T06:42:36Z canonical: "help.scalefusion.com/updating-custom-properties-using-scripts" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.scalefusion.com/llms.txt > Use this file to discover all available pages before exploring further. # Updating custom properties using Scripts Custom Properties help you store device- or user-specific information such as department, office, asset tag, or other attributes. While these properties can be updated manually or through bulk uploads, many admins prefer using **scripts** especially on desktop platforms. This guide explains how, from Scalefusion Dashboard you can update custom properties automatically using scripts on: - Windows - macOS - Linux It also walks you through script requirements, supported limits, how values are detected, and where you can view results and reports. ## Pre-requisites 1. Your account is on the Enterprise 2025 plan 2. The feature is enabled for your account 3. Custom properties you want to update are already created in the dashboard 4. You have permission to upload and manage scripts 5. The script should be verified > [!WARNING] > Custom properties that are linked to a script cannot be updated manually, via bulk upload, or via API. ## How It Works ### 1. Writing Scripts That Update Custom Properties To update a custom property, your script must output a specific tag format: ```plaintext value value ``` **Examples** ```plaintext Finance NYC-MAC-1234 ``` The system scans the script output, detects these tags, validates the values, and updates the corresponding custom properties. ### 2. Using Custom Properties Inside Scripts You can also read existing custom properties inside scripts using: ```plaintext %$device.property_name% %$user.property_name% ``` These values are dynamically replaced at runtime for each device or user. ### 3. Supported Limits To ensure reliable updates, scripts and values must stay within these limits: | Platform | Max Output | | --- | --- | | Windows | 5000 characters | | macOS | 5000 characters | | Linux | 5000 characters | **Value Limits** - **String**: up to 8,384 characters - **Integer**: must be a valid number - **Boolean**: `t/T` or `f/F` - **Email**: must be valid format If limits are exceeded, values are ignored. ## Steps: Uploading a Script That Updates Custom Properties ### Step 1: Upload the Script **macOS** 1. On Scalefusion Dashboard, navigate to **Application Management > Enterprise Store** 2. Click on **Upload New App >** **Upload macOS app > Upload Shell Script** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-CW20Z1LR.png) 3. Upload your script file and click **Next** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-XTGK9LFZ.png) **Windows** 1. On Scalefusion Dashboard, navigate to **Application Management > Enterprise Store** 2. Click on **Upload New App > Upload Windows app > PowerShell** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-6CDJE1U1.png) 3. Upload your script file and click **Next** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-ZZO8LPWF.png) **Linux** 1. On Scalefusion Dashboard, navigate to **Application Management > Enterprise Store** 2. Click on **Upload New App > Upload Linux script** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-14CYX5VG.png) 3. Upload your script file and click **Next** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-OSO0C8ZA.png) > [!NOTE] > Review the on-screen notes about: > > 1. File size (under 1.8 GB) > 2. Supported custom property syntax ### Step 2: Configure Script Settings and Custom Properties In this step, the system scans your script and detects custom properties. You’ll see two sections: #### A. Inserted into Script These are properties used as inputs inside the script. Each property shows: - **Available**: Property exists - **Missing**: Property does not exist ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-DCSG81G8.png) #### B. Updated by Script These are properties updated by the script output. For each property, you can: - Bind or unbind it from the script (from Actions) - Choose whether to reset the value to `Null` if no value is found - See if it’s already bound to another script (in Status) > [!NOTE] > A custom property can be bound to one script per platform. ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-I0DLND4N.png) Click **Save** to finish. > [!WARNING] > Restrictions on Updating Custom Properties > > If a custom property is linked to a script: > > - It cannot be edited from: > - Device details > - User details > - Bulk upload > - Developer APIs > > You must remove the script binding first. ## Step 3: Publish the Script 1. On saving, the Publish dialog box will appear. 2. Select the Device Profiles / Groups / Devices on which you want to publish the script. 3. Click **Publish** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-H0XRXOFB.png) ## Viewing Script Results and Property Status ### View Linked Custom Properties From the script’s **Publish** screen, you can view: - Properties inserted into the script - Properties updated by the script - Whether each property is available, bound, or missing (Status) ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-JXBQW25M.png) ### View Script Output and Update Status Click on **View Status** on the right side panel. When viewing script execution details, you’ll see: - Raw script output - A table showing: - Whether each property was found - Whether it was updated - The updated value ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-8VR0AHP8.png) Warnings are shown if: - The value type is invalid - The value is too large - A user property is updated but no user is assigned ## Editing Scripts When you edit a script: - Detected custom properties are re-evaluated - You can rebind or unbind properties - New properties are only detected during **edit or upload** ## Managing Script Associations for Custom Properties When a custom property is linked to a script, you can view which scripts are associated with it directly from the Custom Properties page. 1. Go to Devices section and under three dots menu click on **Set Custom Fields** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-3KJE6MZJ.png) 2. Locate the custom property 3. Click the **script association icon** (displayed before the Delete icon). This opens a tooltip showing the associated scripts for each platform: - **Windows Script**: Displays the linked Windows script name - **macOS Script**: Displays the linked macOS script name - **Linux Script**: Displays the linked Linux script name If no script is linked for a platform, it will show N/A ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-MJZ3V9B8.png) ### Deleting a Custom Property If a custom property is associated with one or more scripts: - You **cannot delete** the property - The Delete option will show a message: > “You have assigned a script to this custom property, please remove the mapping and try again.” To delete the property: 1. Go to the linked script 2. Remove (unbind) the custom property 3. Save the script 4. Return and delete the property ## Custom Properties History Report This report lets you track when and how custom properties were updated by scripts. To view the report: 1. Navigate to **Reports** section on Scalefusion Dashboard and click on **Custom Properties History Report** ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-6HQ2JGVT.png) 2. You can filter by: ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-ADIVELT7.png) - Device or User properties - Specific custom properties - Device groups or user groups - Individual devices or users - Date range (up to 60 days) 3. Report Includes ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-SJ1ELQ4A.png) - Custom Property name - Device or User name - Updated value - Script name - Execution timestamp - Executing device (for user properties) 4. Reports can be **downloaded as CSV** and **XLSX** format > Events older than 60 days are automatically deleted. ![](https://cdn.document360.io/175c0eac-012f-4410-bdc5-ac60794f82d8/Images/Documentation/image-KH60OIPV.png)