Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
This template was updated on December 4th, 2025 to replace the original installer and API key rotator with a new, unified deployer automation. Please disable or delete any existing installers, and create a new automation, picking the Qlik Cloud monitoring app deployer template from the App installers category.
Installing, upgrading, and managing the Qlik Cloud Monitoring Apps has just gotten a whole lot easier! With a single Qlik Automate template, you can now install and update the apps on a schedule with a set-and-forget installer using an out-of-the-box Qlik Automate template. It can also handle API key rotation required for the data connection, ensuring the data connection is always operational.
Some monitoring apps are designed for specific Qlik Cloud subscription types. Refer to the compatibility matrix within the Qlik Cloud Monitoring Apps repository.
This automation template is a set-and-forget template for managing the Qlik Cloud Monitoring Applications, including but not limited to the App Analyzer, Entitlement Analyzer, Reload Analyzer, and Access Evaluator applications. Leverage this automation template to quickly and easily install and update these or a subset of these applications with all their dependencies. The applications themselves are community-supported; and, they are provided through Qlik's Open-Source Software (OSS) GitHub and thus are subject to Qlik's open-source guidelines and policies.
For more information, refer to the GitHub repository.
Update just the configuration area to define how the automation runs, then test run, and set it on a weekly or monthly schedule as desired.
Configure the run mode of the template using 7 variable blocks
Users should review the following variables:
If the monitoring applications have been installed manually (i.e., not through this automation), then they will not be detected as existing. The automation will install new copies side-by-side. Any subsequent executions of the automation will detect the newly installed monitoring applications and check their versions, etc. This is due to the fact that the applications are tagged with "QCMA - {appName}" and "QCMA - {version}" during the installation process through the automation. Manually installed applications will not have these tags and therefore will not be detected.
Q: Can I re-run the installer to check if any of the monitoring applications are able to be upgraded to a later version?
A: Yes. The automation will update any managed apps that don't match the repository's manifest version.
Q: What if multiple people install monitoring applications in different spaces?
A: The template scopes the application's installation process to a managed space. It will scope the API key name to `QCMA – {spaceId}` of that managed space. This allows the template to install/update the monitoring applications across spaces and across users. If one user installs an application to “Space A” and then another user installs a different monitoring application to “Space A”, the template will see that a data connection and associated API key (in this case from another user) exists for that space already. It will install the application leveraging those pre-existing assets.
Q: What if a new monitoring application is released? Will the template provide the ability to install that application as well?
A: Yes, but an update of the template from the template picker will be required, since the applications are hard coded into the template. The automation will begin to fail with a notification an update is needed once a new version is available.
Q:I have updated my application, but I noticed that it did not preserve the history. Why is that?
A: Each upgrade may generate a new set of QVDs if the data models for the applications have changed due to bug fixes, updates, new features, etc. The history is preserved in the prior versions of the application’s QVDs, so the data is never deleted and can be loaded into the older version.
NPrinting has a library of APIs that can be used to customize many native NPrinting functions outside the NPrinting Web Console.
An example of two of the more common capabilities available via NPrinting APIs are as follows
These and many other public NPrinting APIs can be found here: Qlik NPrinting API
In the Qlik Sense data load editor of your Qlik Sense app, two REST connections are required (These two REST Connectors must also be configured in the QlikView Desktop application>load where the API's are used. See Nprinting Rest API Connection through QlikView desktop)
Requirements of REST user account:
Creating REST "GET" connections
Note: Replace QlikServer3.domain.local with the name and port of your NPrinting Server
NOTE: replace domain\administrator with the domain and user name of your NPrinting service user account
Creating REST "POST" connections
Note: Replace QlikServer3.domain.local with the name and port of your NPrinting Server
NOTE: replace domain\administrator with the domain and user name of your NPrinting service user account
Ensure to enter the 'Name' Origin and 'Value' of the Qlik Sense (or QlikView) server address in your POST REST connection only.
Replace https://qlikserver1.domain.local with your Qlik sense (or QlikView) server address.
Ensure that the 'Origin' Qlik Sense or QlikView server is added as a 'Trusted Origin' on the NPrinting Server computer
NOTE: The information in this article is provided as-is and to be used at own discretion. NPrinting API usage requires developer expertise and usage therein is significant customization outside the turnkey NPrinting Web Console functionality. Depending on tool(s) used, customization(s), and/or other factors ongoing, support on the solution below may not be provided by Qlik Support.
Qlik introduced a change in how automation permissions are handled for the Analytics Admin role.
The change is already live as of the 11th of May, 2026.
Analytics Admins can now claim ownership of another user's automation. After claiming ownership, they can make necessary changes to it and enable the automation. However, they can no longer transfer ownership to another user.
As an Analytics admin, to claim ownership of an automation:
This behavior change only applies to Analytics Admins. Tenant admins can still transfer ownership to any user with the appropriate access rights in the tenant.
The distribution of QlikView apps from QlikView Distribution Service to Qlik Cloud fails with the error "TestCloudLicense: Failed - Unauthorized. Failed to retrieve qv_nodes tag."
Please, reach out to your account manager to have that fixed.
This is a current limitation.
Variables are among the settings that are only saved (as value, not as formulas) when the subscription is saved.
The subscription report will continue to use first value.
We have an improvement planned to include variables as formulas planned, but currently no precise ETA.
It is possible to save files generated by Qlik Automate (such as reports from the Generate Report and Copy File block) directly to a custom SharePoint document library instead of the default Shared Documents or Documents library.
By default, the Drive ID dropdown in the Copy File block will only show the default library; this article explains how to correctly target any custom library using the List Drives From Site block.
The Microsoft SharePoint connector in Qlik Automate uses the concept of Drives, where each SharePoint document library is a separate Drive with its own unique Drive ID (GUID).
By default, when you use the Copy File on Microsoft SharePoint (or any similar write blocks) and perform a Do Lookup on the Drive Id field, Qlik Automate only displays and allows selection of the site's default document library, which is typically called Documents or Shared Documents.
Even if you have created additional custom document libraries and they appear correctly in the SharePoint Site Contents view as separate Folders, these custom libraries do not appear in the simple Drive ID dropdown of the Copy File block.
As a result, any file copy operation defaults to the default library. If you enter a path such as New Folder/QLIK/filename.pdf, the automation interprets New Folder as a subfolder inside the default library, causing the file to be saved under /Shared documents/New Folder/QLIK/... instead of directly at the root of the custom library.
To target a custom document library, we retrieve its unique Drive ID and then use that ID in the Copy File block. But before we can do this, we need to first discover all available document libraries (drives) on the SharePoint site so we can select the correct Drive ID for the custom library instead of defaulting to Documents.
Do not include the library name in the path.
This article overviews the available blocks in the Snowflake connector in Qlik Application Automation. It will also cover some basic examples of retrieving data from a Snowflake database and creating a record in a database.
The Snowflake connector has the following blocks:
To create a new connection to Snowflake, the following parameters are required:
Warning
Account names that include underscores can cause issues for certain features. For this reason, Snowflake also supports a version of the account name that substitutes the hyphen character (-) in place of the underscore character. For example, both of the following URLs are supported:
URL with underscores:
https://acme-marketing_test_account.snowflakecomputing.comURL with dashes:
https://acme-marketing-test-account.snowflakecomputing.com
More details about the account name can be found in the below Snowflake documentation
The password field is a required field when configuring a Snowflake connection in Qlik Automate. While Snowflake does permit the use of unencrypted private keys, which do not require a passphrase, Qlik's connector mandates the password field for both username and password authentication and key pair authentication with a password-protected keyfile.
If you have a keyfile without a passphrase, tools such as OpenSSL can be used to add one.
Example OpenSSL command to add a passphrase:openssl pkcs8 -topk8 -in existing_key.p8 -out encrypted_key.p8-in existing_key.p8: your current private key file
-out encrypted_key.p8: the output file for the encrypted key
You will be prompted to enter and confirm a new passphrase after running the command.
The Do Query block can be used to perform actions in Snowflake that aren't supported by the other blocks.
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
Content:
To create a Mail connection in Qlik Automate, do the following:
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
This article explains how to extract changes from a Change Store by using the Qlik Cloud Services connector in Qlik Automate and how to sync them to a database.
The example will use a MySQL database, but can easily be modified to use other database connectors supported in Qlik Automate, such as MSSQL, Postgres, AWS DynamoDB, AWS Redshift, Google BigQuery, Snowflake.
The article also includes:
Content
Here is an example of an empty database table for a change store with:
Run the automation manually by clicking the Run button in the automation editor and review that you have records showing in the MySQL table:
Currently, there is no incremental version yet for the Get Change Store History block. While this is on our roadmap, the automation from this article can be extended to do incremental loads, by first retrieving the highest updatedAt value from the MySQL table. The below steps explain how the automation can be extended:
SELECT MAX(updatedAT) FROM <your database table>
The solution documented in the previous section will execute the Upsert Record block once for each cell with changes in the change store. This may create too much traffic for some use cases. To address this, the automation can be extended to support bulk operations and insert multiple records in a single database operation.
The approach is to transform the output of the List Change Store History block from a nested list of changes into a list of records that contains the changes grouped by primary key, userId, and updatedAt timestamp.
See the attached automation example: Automation Example to Bulk Extract Change Store History to MySQL Incremental.json.
The provided automations will require additional configuration after being imported, such as changing the store, database, and primary key setup.
Automation Example to Extract Change Store History to MySQL Incremental.json
Automation Example to Bulk Extract Change Store History to MySQL Incremental.json
If field names in the change store don't match the database (or another destination), the Replace Field Names In List block can be used to translate the field names from one system to another.
To add a more readable parameter to track the user who made changes, the Get User block from the Qlik Cloud Services connector can be used to map User IDs into email addresses or names.
A user's name might not be sufficient as a unique identifier. Instead, combine it with a user ID or user email.
Add a button chart object to the sheet that contains the Write Table, allowing users to start the automation from within the Qlik app. See How to run an automation with custom parameters through the Qlik Sense button for more information.
Environment
This article provides details about the new permissions available for Private automations, which will replace the previous Automation Creator role.
You can assign these permissions to a custom role or the User Default. More information about creating & managing custom roles is available here.
The existing Automation Creator role will be deprecated later in 2026.
These permissions allow users to run and create automations in their personal space.
Earlier in 2025, we introduced the shared automation permission that allows users to run, create, and manage automations in shared spaces in which they have the correct permissions. More information about which space roles are required for the various automation actions is available here:
This article explains how the Qlik Sense app button component can be used to send custom parameters directly to the automation without requiring a temporary bookmark. This can be useful when creating a writeback solution on a big app as creating and applying bookmarks could take a bit longer for big apps which adds delays to the solution. More information on the native writeback solution can be found here: How to build a native write back solution.
Contents
If you want to limit this to a specific group of users, you can leave the automation in Manual run mode and place it in a shared space that this group of users can access. More information about this is available here: Introducing Automation Sharing and Collaboration. Make sure to disable the Run mode: triggered option in the button configuration.
Environment
The information in this article is provided as-is and will be used at your discretion. Depending on the tool(s) used, customization(s), and/or other factors, ongoing support on the solution below may not be provided by Qlik Support.
This article gives an overview of the available blocks in the Github connector in Qlik Application Automation. It will also go over some basic examples of retrieving file/blob contents from your repos as well as other functionalities within a GitHub account.
As with most connectors provided for automations the authentication for this connector is based on the oAuth2 Protocol, so when connecting to it you provide the user name and password of the account directly to the Github platform to request access so it is done in the most secure manner there is.
Let's now go over a few basic examples of how to use the Github connector:
How to list owned repositories and check their contents from your Github account:
Now the "list my repositories" block offers a couple of filtering options depending what result you want (all repos or just the private or public ones and if you want the result to come in sorted by some rule) but they are mostly optional. Not filling them in will return by default all repositories.
As for the "List repository contents" block you will need to fill in the username you use for your github account as well as the repository name which can be filled in with the results gotten from the first block. You can leave the path parameter empty to get the contents from the root folder or you can specify a path and the contents of that path will be returned.
As stated, if you expect to retrieve only one record, the use of "get repository content" block is more better suited. Also, you might want to switch this "List repository contents" block On Error status to either warning or ignore since Github API platform returns a 404 error if one of the queried repositories is empty.
Now if you are planning to use the "Get repository content" block another warning should be mentioned and that this block only works for files or blobs up to a maximum of 1 MB in size, as per Githubs platform limitations. The response of this block should look like:
As you can see we have a couple of information stubs of that file, but most importantly from here is the SHA property, which is needed if you are planning to later on use the "Create or update file contents" block, required input parameter for the update of a file/blob.
Now if you're planning on updating files that are bigger than 1MB and you require the SHA of that file, we suggest using the list repository contents block and search for the required file and SHA in that result.
As for other functionalities of the Github connector we support also getting and listing commits or issues present in a repository, listing of users and many other requests but, if you are in need of a request that isn't present, we also offer the functionality to create your own requests to the Github API by making use of the RAW API blocks. These API blocks and their uses are explained in a separate article.
You can find attached to this article a simple JSON example which you can upload to your workspace, if you want to see a quick example of how to use version control to back up your QCS apps I suggest visiting the related article.
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
How to: Qlik Application Automation for backing up and versioning Qlik Cloud apps on Github
Understanding and managing your Qlik Cloud subscription consumption is essential for maintaining predictable costs, ensuring uninterrupted service, and optimizing resource allocation across your organization. This guide provides you with the tools, strategies, and best practices to gain complete visibility into how your subscription is being consumed and implement proactive controls to stay within your capacity limits.
While Qlik Cloud measures consumption at the tenant level, you can achieve effective governance through strategic monitoring, automated alerting, and space-based management practices. This guide will walk you through the monitoring tools available, how to automate their deployment and refresh, and practical approaches to tracking consumption patterns and implementing controls that align with your organizational needs.
Content:
The Administration activity center Home page provides your first line of visibility into capacity consumption. Understanding what this view offers and how it complements the detailed monitoring apps will help you build an effective monitoring strategy.
Navigate to the Administration activity center → Home to see a real-time dashboard summarizing capacity consumption. This view displays visual bar charts for consumption metrics relevant to your subscription:
Common metrics displayed:
Additional metrics may include Data Moved, Large App consumption, Qlik Predict deployed models, and others, depending on your subscription.
Metrics appear dynamically as features are adopted. If no one has asked an assistant question yet, that metric won't display until first use, keeping the dashboard focused on what you're consuming.
The Data for Analysis chart shows a current snapshot with the last update timestamp. Most metrics update multiple times per hour, providing near real-time visibility into your consumption position.
The Administration activity center provides high-level consumption visibility designed for rapid assessment. For detailed analysis, investigation, and proactive monitoring, you'll complement this view with a set of monitoring apps.
Daily quick check (2 minutes):
When you need more detail, the Home page tells you what is being consumed. The monitoring apps tell you who, where, when, and why. Capacity subscriptions should use the Data Capacity Reporting App as the source of truth, while the Qlik Cloud Monitoring apps can be treated as estimated consumption reports, for example:
Use the Home page for daily checks and status awareness. When consumption requires attention or you need to understand trends, drill into the appropriate monitoring app for detailed analysis.
For more information, see Monitoring resource consumption.
The Data Capacity Reporting App is your official, billable record of consumption for capacity-based subscriptions. This Qlik-supported application is generated once per day (morning Central European Time) and provides the definitive view of your consumption against your entitlement.
The app tracks eight key value meters across the current and previous two months:
This app represents your billable consumption record. The data in this app is what Qlik uses for official capacity reporting and billing purposes. When there's any discrepancy between this app and other monitoring sources, the Data Capacity Reporting App is the authoritative source. This app refreshes only once daily, meaning you see yesterday's official position, not real-time consumption. For more frequent monitoring and estimated usage, you'll complement this with the Qlik Cloud Monitoring Apps.
For detailed information, see Monitoring detailed consumption for capacity-based subscriptions.
Rather than manually distributing the consumption app from the Administration activity center each day, automate this process using the Capacity consumption app deployer template in Qlik Automate.
Setup steps:
This automation creates or uses designated spaces, imports the latest version, publishes it to a managed space, and maintains version history according to your configuration. You now have a single source of truth that updates automatically each day. Create automations or alerts on the published app for automated insights.
For complete details, see the Qlik Community article: Automate deployment of the Capacity consumption app with Qlik Automate.
While the official consumption report updates once daily, the Qlik Cloud Monitoring Apps (community-supported) can be reloaded multiple times per day up to your contractual reload limits, giving you more timely estimated usage insights.
The Qlik Cloud Monitoring Apps provide estimated consumption data that may differ slightly from the official Data Capacity Reporting App. Use these apps for trend monitoring, troubleshooting, and proactive management, but always refer to the Data Capacity Reporting App for official billable consumption figures.
Particularly valuable monitoring apps include:
App Analyzer: Provides comprehensive application usage and operational analytics, including:
Automation Analyzer: Provides detailed analysis of automation runs, including:
Reload Analyzer: Tracks data refresh activity, including:
Access Evaluator: Analyzes user roles, access, and permissions across your tenant
Report Analyzer: Tracks report generation, including:
Entitlement Analyzer: For user-based subscriptions, provides insights into:
For a complete list of available monitoring apps, see the Qlik Community article: The Qlik Sense Monitoring Applications for Cloud and On-Premise.
The Qlik Cloud Monitoring Apps deployer template simplifies installation and maintenance of these community apps.
What it handles:
Reload frequency considerations: You can reload these monitoring apps multiple times per day to get more current estimated usage data. However, each reload counts against your tenant's reload capacity limits. Consider your contractual limits when scheduling. For most organizations, reloading 2-4 times per day provides a good balance between timely insights and consumption.
For complete implementation details, see the Qlik Community guide: Qlik Cloud Monitoring Apps Workflow Guide.
The monitoring apps are also available on GitHub: qlik-oss/qlik-cloud-monitoring-apps.
Effective governance comes from monitoring consumption at multiple levels and implementing proactive interventions. Here's how to approach monitoring for key consumption metrics.
Automation runs are counted across all automations in your tenant, regardless of owner or run mode (manual, scheduled, triggered, webhook, API). Test runs within the automation editor also count toward your limit.
What to monitor:
Tenant level:
Space level:
Automation level:
User level:
Example alert scenario: Using the Automation Analyzer, create alerts when:
Data for Analysis is measured by monthly peak usage. A single day's spike can impact your entire month's consumption.
This data is only available via the Data Consumption report; it is a lagging metric and currently lacks customer data such as app names, user names, and space names. As such, use of an automation template to provide notifications may be preferable to standard alerts, and some app size metrics may be better analyzed in the reload analyzer.
What to monitor:
Tenant level:
App level:
Space level:
Example alert scenario: Using the Data Capacity Reporting App and Reload Analyzer:
Each subscription tier has limits on maximum concurrent reloads, and capacity subscriptions have daily reload counts. Exceeding concurrent limits causes queuing; exceeding daily limits can block operations.
What to monitor:
Tenant level:
Space level:
App level:
Example alert scenario: Using the Reload Analyzer:
Report generation counts vary by subscription tier, with add-on packs available for purchase. Across all reporting capabilities, tenants have a maximum of 30,000 reporting-related requests per day.
What to monitor:
Tenant level:
Report task level:
Example alert scenario: Using consumption reporting and monitoring apps:
For detailed information on report limits, see Qlik Reporting Service specifications and limitations.
While Qlik Cloud measures consumption at the tenant level, you can implement effective governance practices that provide meaningful control over resource usage.
Make users aware of the impacts of their consumption and empower them to monitor their own usage.
Implementation:
Create early warning systems that trigger well before official capacity notifications.
Implementation:
Alert tier 1 (60-70% of capacity):
Alert tier 2 (75-85% of capacity):
Alert tier 3 (90%+ of capacity):
Use strict space controls to prevent development consumption from impacting production limits, or procure a development subscription from Qlik to fully isolate capacity.
Implementation:
For information on subscription types and capacity planning, see Qlik Cloud capacity-based subscriptions.
Now that you have the monitoring apps deployed and refreshed regularly, you can leverage Qlik Cloud's built-in alerting and distribution capabilities to create a proactive monitoring system. These tools transform static consumption data into actionable intelligence that reaches the right people at the right time.
Data Alerts: Create threshold-based alerts that evaluate conditions on a schedule and notify recipients when conditions are met. Alerts can be created on any chart or measure in your monitoring apps and can be shared with users or groups. Inclusive in all plans.
Subscriptions: Schedule automatic distribution of charts, sheets, or entire apps to users via email or Microsoft Teams. Subscriptions ensure stakeholders receive regular consumption reports without needing to log into Qlik Cloud. Inclusive in all plans.
In-app monitoring: Create bookmarks and sheets in the monitoring apps that focus on specific consumption areas. Share these bookmarks with space owners or functional teams so they can self-service their consumption monitoring. Inclusive in all plans.
Automations: Build custom workflows that trigger actions based on consumption thresholds, such as sending notifications through Slack, creating tickets in ServiceNow, or disabling specific automations when limits are approached. Value-add feature, if third-party connectors are used.
Creating Data Alerts:
Sum(AutomationRuns) > 4000)Creating Subscriptions:
Creating In-App Bookmarks:
Creating Automations:
All of these tools support distribution to groups, making it easy to ensure the right teams have visibility into the consumption metrics relevant to them. Space administrators can receive alerts about their space consumption, development teams can get daily subscription reports, and executive stakeholders can receive monthly summary reports.
The following examples demonstrate how to set up comprehensive monitoring for different consumption metrics. These examples assume you have deployed the Capacity consumption app deployer (running daily around midday UTC) and the Qlik Cloud Monitoring Apps deployer (running overnight) with default settings.
Explore the apps to discover a wide range of operational metrics you can monitor, alert, automate, and subscribe to.
Scenario: Your organization uses third-party automation blocks (such as Slack, ServiceNow, or Salesforce connectors), which incur additional costs based on consumption. You need to monitor third-party automation runs to prevent unexpected charges and identify which automations are driving costs.
Navigate to the Automation Analyzer and create the following alerts:
Alert 1: Third-party runs approaching limit
Alert 2: Individual user excessive third-party runs
Automation - Automation usage notifier: Automation or user email notifications
This approach allows you to send email notifications or take action directly on executing users or owners, while sending a fully customised template to notify them that they are approaching limits.
See Automation Usage Notifier | GitHub for details.
Scenario: Your Data for Analysis consumption is measured by monthly peak usage. You need early warning when daily peaks are trending upward and visibility into which apps are driving consumption.
Step 1: Create peak usage alerts in the Data Capacity Reporting App
Alert 1: Warning capacity threshold
Alert 2: Critical capacity threshold
Step 2: Create a weekly trend subscription
In the Data Capacity Reporting App:
Scenario: You want to create a comprehensive monthly review package that combines official billable data with estimated usage trends to facilitate informed capacity planning discussions.
Create a Qlik Automate automation that runs on the first business day of each month:
The key to managing Qlik Cloud consumption effectively is shifting from reactive (waiting for 80%/90%/100% notifications) to proactive (continuous monitoring with early intervention).
This week:
This month:
Ongoing:
By combining automated monitoring through the official Data Capacity Reporting App and community monitoring apps, tiered alerts, clear governance policies, and proactive intervention workflows, you can effectively manage your subscription costs and maintain predictable, controlled consumption across your organization.
Qlik Help documentation:
Qlik Community Official Support Articles:
Developer resources:
The Qlik Cloud Monitoring Apps are community-supported and provided as-is. They are not officially supported by Qlik, though they are maintained through Qlik's Open-Source Software GitHub. The Capacity consumption app deployer and Qlik Cloud Monitoring Apps deployer are supported automation templates found in the template picker catalog.
The event payloads emitted by the Qlik Cloud webhooks service are changing. Qlik is replacing a legacy event format with a new cloud event format.
Any legacy events (such as anything not already cloud event compliant) will be updated to a temporary hybrid event containing both legacy and cloud event payloads. This will start on or after November 3, 2025.
Please consider updating your integrations to use the new fields once added.
A formal deprecation with at least a 6-month notice will be provided via the Qlik Developer changelog. After that period, hybrid events will be replaced entirely by cloud events.
Webhook automations in Qlik Automate will not be impacted at this time.
The webhooks service in Qlik Cloud enables you to subscribe to notifications when your Qlik Cloud tenant generates specific events.
At the time of writing, the following legacy events are available:
| Service | Event name | Event type | When is event generated |
| API keys | API key validation failed | com.qlik.v1.api-key.validation.failed | The tenant tries to use an API key which is expired or revoked |
| Apps (Analytics apps) | App created | com.qlik.v1.app.created | A new analytics app is created |
| Apps (Analytics apps) | App deleted | com.qlik.v1.app.deleted | An analytics app is deleted |
| Apps (Analytics apps) | App exported | com.qlik.v1.app.exported | An analytics app is exported |
| Apps (Analytics apps) | App reload finished | com.qlik.v1.app.reload.finished | An analytics app has finished refreshing on an analytics engine (not it may not be saved yet) |
| Apps (Analytics apps) | App published | com.qlik.v1.app.published | An analytics app is published from a personal or shared space to a managed space |
| Apps (Analytics apps) | App data updated | com.qlik.v1.app.data.updated | An analytics app is saved to persistent storage |
| Automations (Automate) | Automation created | com.qlik.v1.automation.created | A new automation is created |
| Automations (Automate) | Automation deleted | com.qlik.v1.automation.deleted | An automation is deleted |
| Automations (Automate) | Automation updated | com.qlik.v1.automation.updated | An automation has been updated and saved to persistent storage |
| Automations (Automate) | Automation run started | com.qlik.v1.automation.run.started | An automation run began execution |
| Automations (Automate) | Automation run failed | com.qlik.v1.automation.run.failed | An automation run failed |
| Automations (Automate) | Automation run ended | com.qlik.v1.automation.run.ended | An automation run finished successfully |
| Reloads (Analytics reloads) | Reload finished | com.qlik.v1.reload.finished | An analytics app has been refreshed and saved |
| Users | User created | com.qlik.v1.user.created | A new user is created |
| Users | User deleted | com.qlik.v1.user.deleted | A user is deleted |
Any events not listed above will remain as-is, as they already adhere to the cloud event format.
Each event will change to a new structure. The details included in the payloads will remain the same, but some attributes will be available in a different location.
The changes being made:
data object.cloudEventsVersion is replaced by specversion. For most events this will be from cloudEventsVersion: 0.1 to specversion: 1.0+.contentType is replaced by datacontentype to describe the media type of the data object.eventId is replaced by id.eventTime is replaced by time.eventTypeVersion is not present in the future schema.eventType is replaced by type.extensions.actor is replaced by authtype and authclaims.extensions.updates is replaced by data._updatesextensions.meta, and any other direct objects on extensions are replaced by equivalents in data where relevant.extensions object will be moved to the root and renamed to be lowercase if needed, such astenantId,userId,spaceId, etc.
This is the current legacy payload of the automation created event:
{
"cloudEventsVersion": "0.1",
"source": "com.qlik/automations",
"contentType": "application/json",
"eventId": "f4c26f04-18a4-4032-974b-6c7c39a59816",
"eventTime": "2025-09-01T09:53:17.920Z",
"eventTypeVersion": "1.0.0",
"eventType": "com.qlik.v1.automation.created",
"extensions": {
"ownerId": "637390ef6541614d3a88d6c3",
"spaceId": "685a770f2c31b9e482814a4f",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"userId": "637390ef6541614d3a88d6c3"
},
"data": {
"connectorIds": {},
"containsBillable": null,
"createdAt": "2025-09-01T09:53:17.000000Z",
"description": null,
"endpointIds": {},
"id": "cae31848-2825-4841-bc88-931be2e3d01a",
"lastRunAt": null,
"lastRunStatus": null,
"name": "hello world",
"ownerId": "637390ef6541614d3a88d6c3",
"runMode": "manual",
"schedules": {},
"snippetIds": {},
"spaceId": "685a770f2c31b9e482814a4f",
"state": "available",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"updatedAt": "2025-09-01T09:53:17.000000Z"
}
}
This will be the temporary hybrid event for automation created:
{
// cloud event fields
"id": "f4c26f04-18a4-4032-974b-6c7c39a59816",
"time": "2025-09-01T09:53:17.920Z",
"type": "com.qlik.v1.automation.created",
"userid": "637390ef6541614d3a88d6c3",
"ownerid": "637390ef6541614d3a88d6c3",
"tenantid": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"description": "hello world",
"datacontenttype": "application/json",
"specversion": "1.0.2",
// legacy event fields
"eventId": "f4c26f04-18a4-4032-974b-6c7c39a59816",
"eventTime": "2025-09-01T09:53:17.920Z",
"eventType": "com.qlik.v1.automation.created",
"extensions": {
"userId": "637390ef6541614d3a88d6c3",
"spaceId": "685a770f2c31b9e482814a4f",
"ownerId": "637390ef6541614d3a88d6c3",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
},
"contentType": "application/json",
"eventTypeVersion": "1.0.0",
"cloudEventsVersion": "0.1",
// unchanged event fields
"data": {
"connectorIds": {},
"containsBillable": null,
"createdAt": "2025-09-01T09:53:17.000000Z",
"description": null,
"endpointIds": {},
"id": "cae31848-2825-4841-bc88-931be2e3d01a",
"lastRunAt": null,
"lastRunStatus": null,
"name": "hello world",
"ownerId": "637390ef6541614d3a88d6c3",
"runMode": "manual",
"schedules": {},
"snippetIds": {},
"spaceId": "685a770f2c31b9e482814a4f",
"state": "available",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"updatedAt": "2025-09-01T09:53:17.000000Z"
},
"source": "com.qlik/automations"
}
This article documents how to schedule automations between specific hours and days of the week. This is intended as a workaround until a native solution is delivered.
The information in this article is provided as-is and will be used at your discretion. Depending on the tool(s) used, customization(s), and/or other factors, ongoing support on the solution below may not be provided by Qlik Support.
This article explains how to extract changes from a Change Store by using the Qlik Cloud Services connector in Qlik Automate and how to sync them to an Excel file.
While the example uses a Microsoft Excel file, it can easily be modified to create a CSV as well.
The article also includes:
Content
You will need the following:
Week start is included in the primary key because the purchasing process (making the changes) happens on a weekly basis.
Product Name is included in the primary key to make sure it is always returned when retrieving changes through the Get Current Changes From Change Store block in Qlik Automate.
Below is an example of the table in an app:
Optionally, you can use the app that is included in this article. Follow these steps to install the app and configure the Write Table:
Set the third one (Value) to the destinationFileName (E) variable.
Operator: equals
Search for the Right trim formula.
Configure the Character to trim parameter to a single comma.
Type a single square bracket after the field mapping in the Rows input field:
The automation is now configured and can be run manually. But ideally, a user can run it from within the Qlik Sense app whenever they are finished with creating orders through the Write Table.
This article will only cover the button’s configuration in a sheet. A step-by-step guide on configuring the button object to run automations is available in How to run an automation with custom parameters through the Qlik Sense button.
The Copy File block will fail when there already exists an Excel file with the same name. Depending on the use case, that might be the right behavior or you might want to overwrite the file.
The overwrite process explained below will delete the existing file and then create a new file.
Add a Condition block to the automation and configure it to evaluate the output from the Check If File Exists block.
This block will return a Boolean (true or false) result. If it is true, the file exists.
Configure the Condition block to evaluate that output using the Boolean 'is true' operator:
Qlik Automate can also be used to share the purchase order with your purchasing team. This can be built in the same automation or in a separate automation. Below are the steps to add this to the same automation.
Tip! Update the button label to make it clear to users of your app that clicking it will also send the purchase order.
As an alternative, it is also possible to add these blocks to a new automation that is triggered from a second button.