• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
ControlUp Community

ControlUp Community

Connect, Learn, and Grow

  • Blog
  • Archives
  • Findings
  • Meetups
  • Videos
  • Events
  • Categories
    • ControlUp One Platform
    • ControlUp for Apps
    • ControlUp for Compliance
    • ControlUp Dashboards
    • ControlUp for Desktops
    • ControlUp for VDI
    • ControlUp Scripts & Triggers
    • ControlUp Synthetic Monitoring
    • ControlUp Workflows
  • Topics
    • Logos & Wallpaper
    • ControlUp.com
  • Join

ControlUp Workflows

Automating Quarterly VDI “Unique Users” Reports with ControlUp Workflows and Custom SQL Queries

Posted on October 9, 2026

A common request in VDI environments is automating the generation and distribution of quarterly reports that include metrics such as "Unique Users" along with detailed user session data. One such use case involves producing an Excel (CSV/XLSX) report that captures the list of users who logged into the VDI environment during the previous quarter and sending it automatically to management via email. ControlUp does not offer a direct, out-of-the-box report that automates this exact task with both unique user counts and full session data in one export, nor does it natively support emailing such reports on a quarterly schedule through the product UI alone. However, this requirement can be addressed using ControlUp’s extensibility and automation features, particularly by leveraging ControlUp Workflows and custom SQL queries within the ControlUp Insights platform. One practical implementation involves creating a custom SQL query that extracts user session activity data—such as usernames and counts of sessions per user over the desired interval. This query can be run on a schedule aligned to quarters. The results are then exported into Excel format using the Microsoft Excel integration available within ControlUp Workflows. An automated workflow can then use the Microsoft Outlook integration to send the generated report via email to predefined recipients at the beginning of each quarter, with the data covering the previous quarter. A useful example comes from a community user who adapted the "Device Inventory Report to Email" workflow template for their use case. They included a custom SQL query to capture user session activity over the last set number of days, generating a report of users and their session counts. This workflow creates a document (Excel file) and attaches it in an email sent automatically to recipients whose addresses are stored in a global variable, enabling easy customization of distribution lists. This approach requires the integrations of ControlUp for VDI, Microsoft Excel, and Microsoft Outlook to function smoothly. While this method does not currently exist as a pre-built ControlUp dashboard or report that directly sends emails on a quarterly schedule, using the powerful combination of custom SQL queries, Workflows automation, and Office integration provides a viable and robust solution. For organizations that cannot utilize AI assistance due to policy restrictions, this approach offers a fully scriptable, controlled, and customizable method to achieve the quarterly "Unique Users" report and distribution goal without manual intervention. ControlUp customers interested in implementing such solutions can explore the ControlUp Workflows feature, the SQL Query Editor in ControlUp Insights, and the email and Excel integrations detailed in the ControlUp documentation and the ControlUp Academy tutorials at https://academy.controlup.com. Additionally, the official workflow templates available in the ControlUp Console or downloadable from the ControlUp community can form a good starting point for customization.

Read the entire article here...


How to Refresh Service and Application Data On-Demand in ControlUp

Posted on October 6, 2026

A common challenge faced by ControlUp users involves timely updating of endpoint data, especially when tracking specific services or applications. In one case, a user wanted to confirm the removal of a service on endpoints but found that ControlUp still reported the service as running despite manual removal. This discrepancy occurs because the ControlUp agent updates different types of metrics at varied intervals. Core system metrics typically refresh every 60 seconds, but certain metrics such as service status and installed applications are updated less frequently—services refresh hourly (and shortly after a system reboot), while installed applications update only once per day. This update schedule means that relying solely on on-demand refresh within ControlUp for some metrics is limited, as there is no built-in immediate refresh capability for services or installed apps. To overcome this, users can create a Custom Action script to gather the needed data on-demand. By scripting, users can query the current service status or application state directly from the endpoints and write the results to a custom data index in ControlUp. This approach provides a precise and immediate reflection of endpoint conditions without waiting for the default agent update cycle. ControlUp’s scripting capabilities are documented in detail in the official scripting guide, available at https://support.controlup.com/docs/scripting-guide. This guide helps users build custom scripts that integrate into ControlUp workflows, enabling on-demand data collection tailored to specific monitoring or troubleshooting needs. As of now, no direct feature exists within ControlUp to force an on-demand refresh of hourly or daily metrics such as service and installed app status, but leveraging Custom Action scripts offers an effective workaround. Users looking to improve real-time monitoring of endpoint services should consider implementing these custom scripted solutions until such features potentially appear on future ControlUp development roadmaps.

Read the entire article here...


Changes to Default Filters for Synthetic Monitoring Scouts in ControlUp and How to Manage Disabled Scouts

Posted on October 6, 2026

ControlUp made a recent change to the default filter behavior for synthetic monitoring scouts within their platform. Previously, scouts that were disabled via workflows, such as those scheduled to run only certain times of the day, still appeared in the default Scouts view. With the update, disabled scouts no longer show up under the default filter, effectively narrowing the default display to only active scouts. This change was implemented to provide users with a clearer and less cluttered view focused on currently running synthetic monitoring instances. As a result, users with scouts enabled and disabled dynamically through workflows may need to manually adjust their filters to locate and manage disabled scouts. Specifically, to view scouts that are currently disabled, users must explicitly apply a filter that includes non-active scouts since they will no longer appear by default. This adjustment aims to improve user experience by reducing confusion and improving table clarity when managing synthetic monitoring. Users are encouraged to provide feedback to ControlUp if this change affects their workflow or if they have suggestions for further improvements. For additional configuration tips about synthetic monitoring scouts and filters, users can refer to the ControlUp official documentation and knowledge base at https://docs.controlup.com.

Read the entire article here...


Overcoming the 100-Device Limit in ControlUp Workflow’s List Devices Node

Posted on October 6, 2026

The ControlUp Workflow *List Devices* node has a built-in limit of returning only 100 device records per query. This limitation affects workflows attempting to process larger device inventories, such as fetching or looping through over 100 devices. The loop node itself does not have a limit and processes all records provided by the *List Devices* node. Therefore, the root cause of the problem is the *List Devices* node restricting the dataset to 100 devices, not the loop processing. Users trying to obtain results for 500 or more devices found that the *List Devices* node response capped at 100, blocking workflows from scaling to larger environments. Currently, no filters or tags applied change this default limit on the *List Devices* node response. This cap is separate from volume limits related to data size, such as the 1GB flow size limit. As a recommended workaround to bypass this 100-device limit, users can employ the *Get Custom Data* node to execute custom Data Access Layer (DAL) queries. By enabling the "Get all records" option in this node, workflows can retrieve all devices in the organization without the 100-device limitation. This method was tested successfully with over 400 tagged devices, confirming its viability for larger inventories. ControlUp representatives acknowledged the 100-device limit in the *List Devices* node and indicated plans to consider removing or adjusting this restriction in future updates. Until then, users needing to work with more than 100 devices in workflows should use custom DAL queries via *Get Custom Data* as the primary method to retrieve full device lists. For further details, users may consult the ControlUp Knowledge Base and official documentation on Workflows and DAL queries at https://docs.controlup.com. The *Get Custom Data* node and its "Get all records" feature provide a powerful alternative for advanced workflow scenarios that require comprehensive device data beyond the standard node limits.

Read the entire article here...


Handling Script Failures and Output in ControlUp Workflows: Error Ignoring, Conditional Logic, and Feature Updates

Posted on October 6, 2026

In a ControlUp workflow, users may want to handle script failures gracefully, akin to a "try-catch" mechanism seen in traditional programming. A user inquired about running an alternative action when a script run on a device fails. Currently, if the script fails, the workflow ends with an error, and no subsequent action is triggered automatically. The recommended approach is to use the "Ignore Error" option on the "Run Script" node, which prevents the workflow from stopping on error. Afterward, an "If Else" node can be added to check the status of the "Run Script" node and conditionally execute alternative actions based on success or failure. This method enables branching logic without halting the workflow. A related challenge encountered was handling multiline output messages from scripts. The native ControlUp environment does not currently support converting multiline output into a single line with or without explicit newline characters such as "\n". The ControlUp team acknowledged this need and plans to introduce this string transformation functionality soon, with expectations for release within a week. While this feature is pending, custom scripting or intermediate handling outside ControlUp might be required to process multiline outputs. Users also raised the idea of more advanced scripting capabilities within workflows, such as embedding secure, sandboxed JavaScript actions or subflows callable like functions. The team confirmed interest in this concept but noted that it is not currently on the immediate roadmap and will require future prioritization. Finally, a limitation was noted: timeout errors from script execution (defaulting to 60 minutes) cannot be ignored by the "Ignore Error" setting; when a script times out, the workflow fails by design. The ControlUp team is investigating possible improvements to how timeouts are handled in workflows. For now, users can implement error handling in workflows using the "Ignore Error" flag combined with conditional checks but should be aware of limitations around timeout errors and multiline output processing. Updates and added features are in development to enhance workflow flexibility and scripting capabilities. For more details on creating and managing workflows, users can visit the official ControlUp documentation at https://docs.controlup.com or the ControlUp Academy at https://cuacademy.controlup.com.

Read the entire article here...


Introducing Blueprints for MSPs: Streamlining Multi-Tenant Configuration Management in ControlUp

Posted on October 5, 2026

ControlUp has launched Blueprints as a generally available feature specifically designed for Managed Service Providers (MSPs) to streamline the management of configurations across multiple customer tenants. Blueprints enable MSPs to create reusable configuration templates that can be applied consistently across various tenant environments. This approach helps reduce repetitive administrative tasks, standardizes deployments, and saves time in both onboarding new customers and maintaining existing tenant fleets. The Blueprints feature supports creating templates for configurations that MSPs commonly use and allows for customization by adding or overriding specific settings to meet individual tenant requirements. Additionally, Blueprints includes version tracking and a diff preview function, which facilitates reviewing changes between different versions of configuration templates, ensuring accuracy and control over modifications. MSPs with Tenant Manager access can now use Blueprints to efficiently roll out standardized configurations across their managed environments. This capability is particularly valuable for improving operational consistency and simplifying management workflows. Detailed documentation and guidance on using Blueprints are available at ControlUp’s support site: https://support.controlup.com/docs/blueprints. MSPs adopting Blueprints can expect to save significant time and effort in tenant configuration processes, thus enhancing their service delivery efficiency and consistency.

Read the entire article here...


Efficiently Combining and Processing Large Index Datasets in ControlUp Workflows Without Native Loop Constructs

Posted on October 2, 2026

A community member faced challenges building a workflow in ControlUp to combine two indexes dynamically for a nightly dashboard summarizing the previous day’s environment status. The primary difficulties arose from limitations in the workflow engine compared to PowerShell scripting, particularly related to looping constructs, array size management, and efficient data handling. Attempting to accumulate all data into a single large array caused performance degradation, and efforts to split data handling into groups of 100 records ran into issues because workflows lacked a traditional for-loop or the ability to reinitialize variables inside loops. ControlUp experts clarified that appending to arrays in loops is generally inexpensive, but performance issues often stem from JSON modification or calculation nodes that operate on the entire array each iteration. Instead of keeping large arrays in memory, a recommended pattern is to flip the subflow logic: allow the subflow to write records directly to the target custom index and return no data to the main flow. The main flow can paginate data requests using Get Custom Data (which supports paging via from/size parameters), looping over pages where each subflow processes one page end-to-end, avoiding large in-memory arrays and reinitialization challenges. To emulate traditional loop behavior, a “fake while loop” workaround was suggested by creating a dummy array representing the number of iterations desired (e.g., 20), then looping over that array. Combined with OpenSearch’s partitioning (`include > partitions` and `include > num_partitions`), this approach divides large datasets into manageable buckets processed in separate iterations. The configuration can be sized to match the environment—for example, capturing 4,000 records per iteration across 20 iterations to cover up to 80,000 results, adjustable as needed. A practical example from the discussion involved combining device data from two ControlUp indexes: one filtering Windows devices by specific event logs, and the other fetching device information filtered by the extracted device IDs. Merging these on the device ID with the "Preserve structure from: both" option enabled results in a unified dataset ready for further processing or custom indexing. This workflow ran efficiently in about four seconds on test data. To control data volume, filtering steps were added to isolate devices exhibiting significant event counts (e.g., more than 5 events in 24 hours), which reduced processing load while focusing on impactful network issues. The conversation highlighted the current lack of a native "for" loop feature in ControlUp workflows, but noted this capability is planned for future releases. Meanwhile, users can leverage paging, subflows writing directly to indexes, and OpenSearch partitions to manage large datasets effectively. Per-iteration writes to custom indexes are feasible if API rate limits and retry logic are properly handled. For large data reads, Get Custom Data is preferred over Get Data Index because of its paging capabilities. These insights provide a reliable framework for users needing to aggregate and analyze dynamic multi-index data in ControlUp workflows while balancing performance and complexity. For additional guidance on ControlUp workflow nodes and custom data handling, refer to ControlUp’s official knowledge-base and documentation at https://docs.controlup.com and https://cuacademy.controlup.com.

Read the entire article here...


Managing FSLogix Profile Size: Best Practices with ControlUp Monitoring and Profile Cleanup Automation

Posted on October 1, 2026

A community member transitioning from eG Enterprise to ControlUp in a virtual desktop infrastructure (VDI) or remote desktop services (RDS) environment inquired about managing FSLogix profile size through logon or logoff scripts executed by ControlUp. The goal was to reduce profile bloat by deleting specific files within user profiles during session start or end. It was clarified that ControlUp does not support traditional logon or logoff scripts in the classical sense, although it can trigger scripts on events such as "User logged On." This functionality, however, is not ideally suited for the described profile cleanup use case. Regarding FSLogix profile management, the conversation highlighted that VHD disk compaction is enabled by default in recent FSLogix releases, which automatically helps reduce profile size. However, disk compaction alone may not be sufficient. A practical approach mentioned involved setting up ControlUp alerts to monitor profile conditions—such as low disk space—triggering notifications through ServiceNow tickets for manual intervention by the VDI team. Although automation was still a work in progress, this method added a layer of proactive management. Another critical recommendation was the use of the FSLogix redirections.xml configuration file. This file allows administrators to exclude certain paths or folders within the user profile—such as temporary files or application cache—from being saved. By strategically excluding these locations, profile bloat can be effectively reduced before it accumulates. The official Microsoft documentation on VHD Disk Compaction (https://learn.microsoft.com/en-us/fslogix/concepts-vhd-disk-compaction) and the redirections.xml configuration (https://learn.microsoft.com/en-us/fslogix/concepts-redirections-xml) provide authoritative guidance on these techniques. For scripted profile cleanup during user logoff, the community recommended leveraging traditional Group Policy Object (GPO) or Citrix Workspace Environment Management (WEM) tools. One valuable resource shared was Aaron Parker’s Profile Cleanup script (https://stealthpuppy.com/fslogix/profilecleanup/), which is widely used for automating the removal of unwanted files in FSLogix profiles. In summary, while ControlUp offers monitoring and alerting capabilities that can assist in managing FSLogix profile size, tasks like cleaning profile contents on logon or logoff are better handled by existing scripting mechanisms triggered outside of ControlUp, such as GPO or WEM. Employing FSLogix’s built-in disk compaction and profile exclusion features forms the foundation of efficient profile size management complemented by monitoring workflows for remediation alerts.

Read the entire article here...


Automating Device Group Assignment in ControlUp Workflows Using Registry Key Data

Posted on September 10, 2026

A community member inquired about automating device group assignment in ControlUp based on a specific registry key value. The initial approach discussed involved writing a PowerShell script to read the registry key and create a custom index in ControlUp, which could then feed into a workflow for moving devices to the appropriate device group. This method also opened possibilities for using the data in dashboards, creating alerts for registry changes, and triggering remediation workflows. A practical PowerShell script example was shared to demonstrate how to write, read, and output a registry key value under the current user (HKCU). This script was integrated with ControlUp’s Device Events by printing the output between defined event markers. Subsequently, a more detailed script was contributed, which collects registry information along with system and timestamp metadata, outputs it as a compressed JSON object, and supports error handling if the registry key access fails. This script is intended to run periodically to populate ControlUp’s data index, providing the basis for alerting and workflow triggers. The recommended implementation steps include adding the script to the environment to gather registry data regularly, setting up alerts to trigger on specific registry values, and using ControlUp workflows with webhooks to move devices to the correct device groups based on the registry data. While alerts were initially used for this purpose, the community acknowledged the drawback of proliferation—needing many alerts for multiple groups—and expressed a preference to rely more on workflows for automation, preserving alerts for genuine issues. To advance beyond alerts, the suggestion was made to leverage ControlUp’s API to retrieve custom data directly, enabling workflows to act on this real-time data without spawning numerous alerts. This approach supports scalable device management workflows, automating group assignments effectively. A recommendation was offered to engage ControlUp Customer Success Management (CSM) or Professional Services for further assistance with complex workflow setups integrating API data extraction. The discussion underscores the evolving use of ControlUp’s scripting, alerting, and workflow capabilities to streamline device group management based on registry key states. For further reference, ControlUp’s official documentation on custom data scripting, workflows, and alerts can be found at https://docs.controlup.com, and detailed learning modules are available via ControlUp Academy at https://cuacademy.controlup.com.

Read the entire article here...


How to Pass Command Output Between Workflow Steps in ControlUp Using Data Index as a Workaround

Posted on September 8, 2026

In a recent discussion among ControlUp community members, the capability of passing output from the "Run System Command" node directly into the next step of a workflow was explored. The specific use case involved reading a device’s Organizational Unit (OU) from Active Directory (AD) and using that information to dynamically assign tags through the "Update Tags" node in a workflow. The question centered on whether the result of a command or script executed by the "Run System Command" node could be piped directly to the subsequent node for immediate processing. The response clarified that currently, ControlUp's "Run System Command" or script execution nodes do not support the direct output transfer or piping of command results into subsequent workflow steps. This limitation means that you cannot directly feed command or script output into another node like "Update Tags" within the same workflow step sequence. A recommended workaround involves using a data index alongside a script. The script, executed by the "Run System Command" node, can write the needed output (such as device OU information) to a ControlUp data index. The "Update Tags" node or any subsequent workflow step can then query and apply data from this index, thereby indirectly passing the information through the workflow with a slight delay compared to direct piping. Another mentioned option involves invoking a new flow via a REST API call from the script once execution completes, which offers a programmatic way to chain operations but also introduces additional complexity. While there is no current timeline for enabling direct output passing from the "Run System Command" node, the ControlUp team acknowledged the usefulness of this feature and indicated plans to add it in the future to streamline workflows by eliminating the need for external data storage steps or additional scripts. For further guidance on automating tags based on device attributes, workflows, and data indexing in ControlUp, users may refer to the official ControlUp documentation at https://docs.controlup.com and the ControlUp Academy at https://cuacademy.controlup.com, where detailed instructions and best practices for workflow automation and integrating Active Directory data can be found.

Read the entire article here...


  • Page 1
  • Page 2
  • Page 3
  • Interim pages omitted …
  • Page 9
  • Go to Next Page »

Primary Sidebar

ControlUp Academy

Enroll in ControlUp Academy for expert-led technical training, equipping you with skills to effectively deploy, manage, and grow your ControlUp investment.

Learn here >

Rotating Images

Hidden Gem from our Community on Slack!

ControlUp Betas - What's Coming Next?
NEW ControlUp Features - Stay Up-to-Date!
ControlUp Scripts - Scripting, Zero to Hero
Latest KB Articles - Be the First to Learn

Video Tutorials Library

Visit our technical how-to videos, offering step-by-step tutorials on advanced features, troubleshooting, and best practices.

Watch here >

ControlUp Blog

Check out the ControlUp blog for expert advice and in-depth analysis.

Read here >

ControlUp Script Library

Visit the ControlUp technical script library, which offers a multitude of pre-built scripts and custom actions for your monitoring and troubleshooting requirements.

See here >

ControlUp Support

Visit the ControlUp support home and to delve deeper into ControlUp DEX solutions.

Browse here >

Footer

      

ControlUp Community
Of Techie, By Techie, For Techie!

Terms of Use | Privacy Policy | Security
Dive Deeper, Learn more at ControlUp.com

  • facebook
  • twitter
  • youtube
  • linkedin

© 2023–2026 ControlUp Technologies LTD, All Rights Reserved.

We use cookies to ensure that we give you the best experience on our website. by continuing to use this site you agree to our Cookie policy..