Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 gives an overview of exporting the Qlik Sense apps from the source to a target shared space for backup purposes using Qlik Application Automation.
It explains a basic example of a template configured in Qlik Application Automation for this scenario.
You can make use of the template which is available in the template picker. You can find it by navigating to Add new -> New automation -> Search templates and searching for 'Export an app to a shared space as a backup' in the search bar and clicking on the Use template option in order to use it in the automation.
You will find a version of this automation attached to this article: "Export-app-to-shared-space.json". More information on importing automations can be found here.
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.
Export Qlik Sense Apps to GitHub
This article provides an overview of how to send straight table data to email as an HTML table using Qlik Automate.
The template is available on the template picker. You can find it by navigating to Add new -> New automation -> Search templates and searching for 'Send straight table data to email as table' in the search bar, and clicking the Use template option.
You will find a version of this automation attached to this article: "Send-straight-table-data-to-email -as-HTML-table.json".
Content:
The following steps describe how to build the demo automation:
An example output of the email sent:
The information in this article is provided as-is and will be used at your discretion. Depending on the tool(s) used, customization(s)andor other factors, ongoing support on the solution below may not be provided by Qlik Support.
How to export more than 100k cells using Get Straight Table Data Block
This article explains how you can Delete spaces in Qlik Cloud Services using Qlik Automate. Multiple spaces can be deleted during one run. As when deleting a space via the user interface, this will also delete any apps, data files or other content within the space(s) using the relevant blocks for those content types.
For information about spaces in Qlik Cloud, see Navigating Spaces.
This automation is not designed to be triggered using a webhook or on a schedule. It has been designed with manual user input in mind and requires multiple confirmations.
If you use your own automation to delete spaces, know that deleting a space via the space blocks will not delete the content in the space, and will instead result in that content being orphaned in the tenant. Leverage the examples in this automation to first delete content from spaces prior to deleting the space.
Once deleted, spaces, apps, or data files cannot be recovered.
Content:
This automation assumes you have a TenantAdmin role.
The automation is divided into five sections:
The Start section retrieves all available spaces and prompts you to select what spaces you want to delete.
Overview:
Setting it up:
This section provides the possibility to review the selected spaces before deleting them.
Overview:
Setting it up:
Once deleted, spaces, apps, or data files cannot be recovered.
This section deletes all existing apps inside the space(s). A space cannot be removed before all apps are deleted.
Overview:
Setting it up:
Once deleted, spaces, apps, or data files cannot be recovered.
This section deletes all data files within the selected space(s).
Overview:
Setting it up:
Once deleted, spaces, apps, or data files cannot be recovered.
This section deletes all selected spaces.
Overview:
Setting it up:
This section wraps up the automation and updates the final status of the automation run.
Overview:
Setting it up:
Navigating Spaces
Managing permissions in shared spaces
Managing permissions in managed spaces
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 capability has been rolled out across regions over time:
With the introduction of shared automations, it is now possible to create, run, and manage automations in shared spaces.
Limit the execution of an automation to specific users.
Every automation has an owner. When an automation runs, it will always run using the automation connections configured by the owner. Any Qlik connectors that are used will use the owner's Qlik account. This guarantees that the execution happens as the owner intended it to happen.
The user who created the run, along with the automation's owner at run time, are both logged in the automation run history.
These are five options on how to run an automation:
Collaborate on an automation through duplication.
Automations are used to orchestrate various tasks; from Qlik use cases like reload task chaining, app versioning, or tenant management, to action-oriented use cases like updating opportunities in your CRM, managing supply chain operations, or managing warehouse inventories.
To prevent users from editing these live automations, we're putting forward a collaborate through duplication approach. This makes it impossible for non-owners to change an automation that can negatively impact operations.
When a user duplicates an existing automation, they will become the owner of the duplicate. This means the new owner's Qlik account will be used for any Qlik connectors, so they must have sufficient permissions to access the resources used by the automation. They will also need permissions to use the automation connections required in any third-party blocks.
Automations can be duplicated through the context menu:
As it is not possible to display a preview of the automation blocks before duplication, please use the automation's description to provide a clear summary of the purpose of the automation:
The Automations Activity Centers have been expanded with information about the space in which an automation lives. The Run page now also tracks which user created a run.
Note: Triggered automation runs will be displayed as if the owner created them.
The Automations view in Administration Center now includes the Space field and filter.
The Runs view in Administration Center now includes the Executed by and Space at runtime fields and filters.
The Automations view in Automations Activity Center now includes Space field and filter.
Note: Users can configure which columns are displayed here.
The Runs view in the Automations Activity Center now includes the Space at runtime, Executed by, and Owner fields and filters.
In this view, you can see all runs from automations you own as well as runs executed by other users. You can also see runs of other users's automations where you are the executor.
To see the full details of an automation run, go to Run History through the automation's context menu. This is also accessible to non-owners with sufficient permissions in the space.
The run history view will show the automation's runs across users, and the user who created the run is indicated by the Executed by field.
The metrics tab in the automations activity center has been deprecated in favor of the automations usage app which gives a more detailed view of automation consumption.
This article gives an overview of the available blocks in the dbt Cloud connector in Qlik Application Automation.
The purpose of the dbt cloud connector is to be able to schedule or trigger your jobs in dbt from action in Qlik Sense SaaS.
Authentication to dbt Cloud happens through an API key. The API key can be found in the user profile when logged into dbt Cloud under API Settings. Instructions on the dbt documentation are at: https://docs.getdbt.com/dbt-cloud/api-v2#section/Authentication
The blocks we have available are built around the objects Jobs and Runs. Furthermore for easy use of the connector there are helper blocks for accounts and projects. For any gaps we have raw API request blocks to allow more freedom to end users where our blocks do not suffice.
Blocks for Jobs:
Blocks for Runs:
The following automation is added as an attachment and shown as an image and will run a job in dbt Cloud and if successful reloads an app in Qlik Sense SaaS. It will always send out an email, this of course can be changed to a different channel. Also it would be possible to extend this to multiple dbt jobs:
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 provides an overview of how to send straight table data to Microsoft Teams as a table using Qlik Automate.
The template is available on the template picker. You can find it by navigating to Add new -> New automation -> Search templates, searching for 'Send straight table data to Microsoft Teams as a table' in the search bar, and clicking the Use template option.
You will find a version of this automation attached to this article: "Send-straight-table-data-to-Microsoft-Teams-as-a-table.json".
Content:
The following steps describe how to build the demo automation:
An example output of the table sent to the Teams channel:
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 template was updated on December 4th, 2025 to replace the original installer and API key rotator with a new, unified deployer automation.
The original templates will remain available for a short period; these will be removed on or after January 28, 2026.
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.
Qlik Automate is a no-code automation and integration platform that lets you visually create automated workflows. It allows you to connect Qlik capabilities with other systems without writing code. Powered by Qlik Talend Cloud APIs, Qlik Automate enables users to create powerful automation workflows for their data pipelines.
Learn more about Qlik Automate.
In this article, you will learn how to set up Qlik Automate to deploy a Qlik Talend Cloud pipeline project across spaces or tenants.
To ease your implementation, there is a template on Qlik Automate that you can customize to fit your needs.
You will find it in the template picker: navigate to Add new → New automation → Search templates and search for ‘Deploying a Data Integration pipeline project from development to production' in the search bar, and click Use template.
ℹ️ This template wil be generally available on October 1, 2025.
In this deployment use case, the development team made changes to an existing Qlik Talend Cloud (QTC) pipeline.
As the deployment owner, you will redeploy the updated pipeline project from a development space to a production space where an existing pipeline is already running.
To reproduce this workflow, you'll first need to create:
Using separate spaces and databases ensures a clear separation of concerns and responsibilities in an organization, reduces the risk to production pipelines while the development team is working on feature changes.
Workflow steps:
ℹ️ Note: This is a re-deployment workflow. For initial deployments, create a new project prior to proceeding with the import.
Use the 'Export Project' block to call the corresponding API, using the ProjectID.
This will download your DEV project as a ZIP file. In Qlik Automate, you can use various cloud storage options, e.g. OneDrive. Configure the OneDrive 'Copy File on Microsoft OneDrive' block to store it at the desired location.
To avoid duplicate file names (which may casue the automation to fail) and to easily differentiate your project exports, use the 'Variable' block to define a unique prefix (such as dateTime).
From the 'Qlik Talend Data Integration' connector, use the 'Get Project Binding' block to call the API endpoint.
The 'bindings' are project variables that are tied to the project and can be customized for reuse in another project. Once you test-run it, store the text response for later use from the 'History' tab in the block configuration pane on the right side of the automation canvas:
We will now use the 'bindings' from the previous step as a template to adjust the values for your PROD pipeline project, before proceeding with the import.
From the automation, use the 'Update Project Bindings' block. Copy the response from the 'Get Project Binding' block into the text editor and update the DEV values with the appropriate PROD variables (such as the source and target databases). Then, paste the updated text into the Variables input parameter of the 'Update Project Binding' block.
ℹ️ Note: these project variables are not applied dynamically when you run the 'Update Bindings' using the Qlik Automate block. They are appended and only take effect when you import the project.
For a Change Data Capture (CDC) project, you must stop the project before proceeding with the import.
Use the 'Stop Data Task' block from the 'Qlik Talend Data Integration' connector. You will find the connectors in the Block Library pane on the left side of the automation canvas.
Fill in the ProjectID and TaskID:
ℹ️ We recommend using a logic with variables to handle task stopping in the automation. Please refer to the template configuration and customize it to your needs.
You’re now ready to import the DEV project contents into the existing PROD project.
⚠️ Warning: Importing the new project will overwrite any existing content in the PROD project.
Using the OneDrive block and the 'Import Project' blocks, we will import the previously saved ZIP file.
ℹ️ In this template, the project ID is handled dynamically using the variable block. Review and customize this built-in logic to match your environment and requirements.
After this step is completed, your project is now deployed to production.
It is necessary to prepare your project before restarting it in production. Preparing ensures it’s ready to be run by creating or recreating the required artifacts (such as tables, etc).
The 'Prepare Project' block uses the ProjectID to prepare the project tasks by using the built-in project logic. You can also specify one or more specific tasks to prepare using the 'Data Task ID' field. In our example, we are reusing the previously set variable to prepare the same PROD project we just imported.
If your pipeline is damaged, and you need to recreate artifacts from scratch, enable the 'Allow recreate' option. Caution: this may result in data loss.
Triggering a 'Prepare' results in a new 'actionID'. This ID is used to query the action status via the 'Get Action Status' API block in Qlik Automate. We use an API polling strategy to check the status at a preset frequency.
Depending on the number of tables, the preparation can take up to several minutes.
Once we get the confirmation that the preparation action was 'COMPLETED', we can move on with restarting the project tasks.
If the preparation fails, you can define an adequate course of action, such as creating a ServiceNow ticket or sending a message on a Teams channel.
ℹ️ Tip: Review the template's conditional blocks configuration to handle different preparation statuses and customize the logic to fit your needs.
Now that your project is successfully prepared, you can restart it in production.
In this workflow, we use the 'List Data Tasks' to filter on 'landing' and 'storage' for the production project, and restart these tasks automatically.
All done: your production pipeline has been updated, prepared, and restarted automatically!
Now it’s your turn: fetch the Qlik Automate template from the template library and start automating your pipeline deployments.
Start a Qlik Talend Cloud® trial
How to get started with the Qlik Talend Data Integration blocks in Qlik Automate
This template was released on September 29, 2025.
Many customers rely on the Capacity Consumption Report in Qlik Cloud to understand usage and billing patterns. Until now, deploying and refreshing this app required repetitive manual steps: downloading from the admin console, publishing it into a managed space, and re-publishing every time a new version was needed.
This approach made monitoring difficult and often left customers with out-of-date insights.
A new Qlik Automate template automates the end-to-end deployment of the consumption app into a managed space of your choice. Once set up, the app is refreshed daily - ready for admins or billing users to work with.
With this in place, you can:
Stay current – The app refreshes once per day (morning CET), so your analytics reflect the latest usage data.
Collaborate easily – Place the app directly into a managed space for shared access.
Enable subscriptions and alerts – Users can subscribe to sheets or KPIs, or create alerts on thresholds that matter to them.
Maintain governance – The template creates/uses the right spaces and applies roles automatically.
Eliminate manual work – No more re-publishing or searching through personal space copies.
The automation checks that you are on a capacity-based subscription (your app size must be 100MB or less; larger data sets still need to be deployed manually or via script).
It ensures you are a TenantAdmin (required for license and app access).
It creates a staging space (for imports) and a managed space (for sharing).
It imports the latest version of the app into staging, then publishes it to the managed space.
You can configure how many historic versions you want to keep in the shared space. By default, no staged apps are kept.
Since the underlying data is refreshed once per day in the morning CET, we recommend scheduling this automation to run around midday CET. This ensures that your managed space always holds the latest daily version of the app.
TenantAdmin role
Capacity-based subscription
Report size ≤100MB (larger reports cannot currently be deployed with Qlik Automate)
Create a new automation, navigate to the App Installer category, and select the Capacity consumption app deployer template.
Update the variables (space names, versions to keep).
Test manually once.
Schedule it to run daily (around midday CET).
Once enabled, you’ll have a single source of truth for consumption reporting - ready to drive alerts, subscriptions, and collaborative analysis across your admins.
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.
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"
}
When querying the /api/v1/apps endpoint in Qlik Cloud Analytics, the results also include Scripts, Data Flows, and Table Recipes.
Is there a way to see only the apps?
Example output:
{
"attributes": {
"_resourcetype": "app",
"createdDate": "2025-08-27T06:31:14.767Z",
"custom": {},
"description": "",
"dynamicColor": "",
"encrypted": true,
"hasSectionAccess": false,
"id": "54b3b705-f00f-48ce-bbff-2497926f79e0",
"isDirectQueryMode": false,
"lastReloadTime": "",
"modifiedDate": "2025-08-27T06:31:15.215Z",
"name": "THIS IS ACTUALLY A TABLE RECIPE",
"originAppId": "",
"owner": "auth0|omitted",
"ownerId": "omitted",
"publishTime": "",
"published": false,
"thumbnail": "",
"usage": "SINGLE_TABLE_PREP"
},
"create": [
{
"canCreate": true,
"resource": "sheet"
...
This is working as designed. From the Qlik Cloud Analytics perspective, Scripts, Data Flows, and Table Recipes are considered apps.
To recognize them, the “usage” attribute needs to be checked:
"usage": “ANALYTICS” → apps
"usage": "SINGLE_TABLE_PREP" → table recipes
"usage": "DATA_PREPARATION" → scripts
"usage": "DATAFLOW_PREP" → data flows
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.