Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Search our knowledge base, curated by global Support, for answers ranging from account questions to troubleshooting error messages.
This article describes how to resolve the NPrinting connection verification error:
x Qlik NPrinting webrenderer can reach Qlik Sense hub error
With the new inclusion of the Get Chart Image block in the Qlik Reporting connector in Qlik Application Automation, you now have more options to notify a group of users with more in-depth data and charts using Slack, Microsoft Teams, and email.
This article will guide you in sending your first chart image to Slack with 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 'Send a Chart Image to Slack' or 'Embed a chart image in an email' in the search bar, and clicking the Use template option.
For guidance on sending charts via Microsoft Teams and mail, go to the "Next Steps" section at the end of this article.
You can download examples of the automations from this article: Send-chart-image-to-slack.json, Send-chart-image-to-outlook.json, Send-chart-image-to-mail.json, Send-chart-image-to-microsoft-teams.json
Warning: Whenever the “Get Chart Image” block is to be used, we advise you to only use it with temporary bookmarks or pre-existing persistent bookmarks.
If the condition block outcome evaluates to false:
Gmail does not support embedding base64 encoded images due to security constraints. To work around this, we advise sending the chart image as an attachment through the Send Mail block in the Mail connector if you use a Gmail account.
See Gmail blocking small embedded inline images in email template for details on the restriction.
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.
To help Qlik customers manage costs more effectively, Qlik has developed the Qlik Snowflake Monitoring application, designed to provide invaluable insights about your Snowflake costs, usage, inventory, security, performance and contract utilization. This app utilizes Qlik's Associative Engine to connect directly to your Snowflake instance and reveal insights from Snowflake's detailed metadata, offering valuable information that traditional query-based tools and Snowflake's own reports are unable to provide.
Leveraging Qlik Application Automation, and Data Alerts, you can:
*Minor configuration is required on first run to create the required data connections.
Content:
This automation template is a fully guided installer/updater for the Qlik Snowflake Monitor. Leverage this automation template to easily install and update this application. The application itself is community-supported; and it is provided through Qlik’s Open-Source Software GitHub and thus is subject to Qlik’s open-source guidelines & policies.
For more information, refer to the GitHub Repository.
If the monitoring app was installed manually (i.e. not through the application automation installer), then the app 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 application and check their versions. This is because the application is tagged with ‘QCS - QSM - {App Name}’ and ‘QCS – QSM - {Version}’ during the installation process through the automation. Manually installed applications will not have these tags and therefore will not be detected.
The Qlik Snowflake Monitor requires two connections, one to your Snowflake instance to feed the data for your analytics, and one REST connection to the qlik-oss repository to run a version check on the monitor.
You will need to create a custom User, Role and Warehouse on your snowflake tenant. This is to ensure this user and role can see the monitoring details and can be monitored.
For Authentication, this setup is defaulted to username & password.
Finally, you need to name the connection as follows:
If you wish to use an alternative authentication method, please follow the documentation accordingly on both Snowflake & Qlik.
The REST connection is used to fetch version details from the GitHub repository. On reload it will look for the the latest released version in github and check this against the version you have installed. You can later use this in ‘Part Three’ to create an alert when updates to the application are available. To create a REST connection the following information is required:
Once these two connections have been set up, you can reload the application. The application has been created to accommodate Snowflake tenants of all sizes. If you have a small tenant, you will find the initial run of the load script can take around 30 minutes, and for larger tenants this can be over an hour or two. Subsequent runs will utilize cached QVDs that update daily to reduce reload times each subsequent day.
If a new release of the application is made, occasionally a full reload of data is required, but generally, if the data schema is unchanged the existing QVDs will be maintained. This is through the use of versions in the names of the QVDs used to store the data.
The application has the following two variables:
To create a new Data Alert for updates to the monitoring app, follow these steps:
The Qlik Snowflake Monitor can be easily installed by following these steps above. If you wish to find out more, check out this Ometis blog post and this Ometis Webinar to get a run through of the analytics this application can offer.
If you face any issues, please use the GitHub and raise an issue through the repository.
This article provides an overview of how to notify your team on Microsoft Teams based on a measure with Qlik Application Automation.
The template is available via the template picker. You can find it by navigating to Add new -> New automation -> Search templates searching for 'Notify your team on Microsoft Teams based on a measure.json' in the search bar, and clicking the Use template option.
You will find a version of this automation attached to this article: "Notify-your-team-on-Microsoft-Teams-based-on-a-measure.json".
Content:
The following steps describe how to build the demo automation:
This article provides an overview of how to export a Qlik Sense app without data to an Amazon S3 bucket and import it back to the Qlik Cloud tenant from the file on Amazon S3 using Qlik Application Automation.
The template is available on the template picker. You can find it by navigating to Add new -> New automation -> Search templates, searching for 'Scheduled app export to an Amazon S3 bucket (without data)' or 'Import an app from a file on Amazon S3' in the search bar, and clicking the Use template option.
You can download examples of the automations from this article: Scheduled-app-export-to-an-Amazon-S3-bucket.json, Import-an-app-from-a-file-on-Amazon-S3.json.
Content:
The following steps describe how to build the demo automation:
The following steps describe how to build the demo automation:
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.
Related Content
Content:
To create a Mail connection in Application Automation, do the following:
The Mail connection will now be listed in My connections.
Verify the Mail connection by creating a simple automation.
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.
Loop and Reduce will remove an app's section access that was defined through the load script. Offline usage needs to be enabled in your tenant's management console in order to use the Loop And Reduce block on an app outside a personal space. More information on offline usage.
See How to Loop and Reduce with always one selected value fields if your app contains always one selected value fields.
This article explains how a loop and reduce operation can be performed on a Qlik Sense app by using Qlik Application Automation. It covers two examples, in the first one, the reloaded apps will be (re)published to one space. In the second example, each reduced app will be (re)published to a separate space.
This article covers two advanced examples, a more basic example can be found here .
The source app used in this article can be downloaded here.
Attached to this article are 2 files of the exported automations used in this article. More information on importing automations can be found here.
In this example, all reduced apps will be (re)published to the same space.
Create a new automation and follow these steps to perform a loop and reduce action on a Qlik Cloud app:
An example of a completed automation:
Attached example file: loop_and_reduce_to_same_space.json
In this example, each reduced app will be published to a different space. We'll use the Insurance Claims app and the automation for the first example again. Since this app reduces on the field CountryName, we'll start by creating a managed space for each unique value that's found for CountryName. This results in the following list of spaces:
Next is to create a mapping for each unique reduction value and the corresponding space's id. There are multiple ways to achieve this. In this example, this mapping is stored in a JSON list of objects with the keys reduction_value and space_id. Feel free to use an automation to create the managed spaces and build this list.
Example:
[
{
"reduction_value": "Scotland",
"space_id": "6138a3062c1054d8158c189a"
},
{
"reduction_value": "Northern Ireland",
"space_id": "6138a318faed485d36ae911f"
},
{
"reduction_value": "England",
"space_id": "6138a337faed485d36ae9126"
},
{
"reduction_value": "Wales",
"space_id": "6138a33f98b0d0bf7e719dfb"
},
{
"reduction_value": "Guernsey",
"space_id": "6138a349faed485d36ae912b"
},
{
"reduction_value": "Isle of Man",
"space_id": "6138a35aba392246d331e611"
},
{
"reduction_value": "Jersey",
"space_id": "6138a3653ec592fe53a8d55b"
}
]
The next step is to store the mapping in the automation. Execute the following steps to do this:
Attached example file: loop_and_reduce_to_mulitple_spaces.json
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 notify your team on Microsoft Teams using data from multiple apps with Qlik Application Automation.
The template is available via the template picker. You can find it by navigating to Add new -> New automation -> Search templates searching for 'Notify your team on Microsoft Teams with data from multiple apps' in the search bar, and clicking the Use template option.
You will find a version of this automation attached to this article: "Notify-your-team-on-Microsoft-Teams-with-data-from-multiple-apps.json".
Content:
The following steps describe how to build the demo automation:
This article provides an overview of how to send straight table data to Microsoft Teams as a table using Qlik Application Automation.
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 article provides an overview of how to send straight table data as a message to Microsoft Teams using Qlik Application Automation.
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 message' 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-message.json".
Content:
The following steps describe how to build the demo automation:
An example output of the message 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 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
With Microsoft and Google terminating support for Basic Authentication, Qlik suggests using a dedicated tool (such as Sendgrid, Mailchimp, or Mailgun) for bulk emails. While Qlik does not specifically endorse any of these services over the others, here's an example on how to setup Qlik Cloud Services SMTP settings with Sendgrid, taking advantage of their free tier. Going beyond that tier might require adopting a paying subscription from either Sendgrid or any of their competitors.
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.
Implement advanced SMTP authentication options for alerts and subscriptions in Qlik Cloud
How to use Mailchimp bulk email service SMTP with Qlik Cloud Services and Qlik Application Automation
This article describes the setup of an automation to run every time an app reload fails.
This can be done using the new Reload status filter on the App Reload Finished webhook event.
The automation can trigger an alert to Microsoft Teams, Slack, or another messaging tool. It can also be used to create a ticket in Jira or ServiceNow to make sure someone in your team will follow up on the failed reload.
Start by creating a new automation from your Qlik Cloud tenant. You can do this through the Add new button in the upper-right corner of the Qlik hub. Choose to start with a blank template, give the automation a name, and follow the below steps to configure the webhook.
Qlik Sense Reload and Task Best Practices
How to get started with Microsoft Teams in Qlik Application Automation
How to send chat messages using the Microsoft Teams connector
How to get started with SendGrid in Qlik Application Automation
How to send a message to a channel in Slack in Qlik Application Automation
Qlik Cloud
Qlik Application Automation
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 the Reporting connector in Qlik Application Automation can be used to generate multi-app reports. It also explains how the generated report can be stored on a cloud storage tool, like Microsoft SharePoint.
Multi-app reports
A multi-app report is a report that contains sheets from multiple apps. This type of report can be created in Qlik Application Automation with the Create Multi App Report and the Add Sheet to Multi App Report blocks.
To add selections to these sheets, you can still use the Add Selection To Sheet block. To add selections to the report, you can use the Add Selection To Report block.
Example
In this example, we'll create an automation that generates a report containing two sheets from two different apps, with selections applied to the second sheet.
Before you continue, please create a new automation and search for the reporting connector in the Block Library:
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.
Installing, upgrading, and managing the Qlik Cloud Monitoring Apps has just gotten a whole lot easier! With two new Qlik Application Automation templates coupled with Qlik Data Alerts, you can now:
The above allows you to deploy the monitoring apps to your tenant with a hands-off approach. Dive into the individual components below.
Some monitoring apps are designed for specific Qlik Cloud subscription types. Refer to the compatibility matrix within the Qlik Cloud Monitoring Apps repository.
Content:
This automation template is a fully guided installer/updater for 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 GitHub and thus are subject to Qlik's open-source guidelines and policies.
For more information, refer to the GitHub repository.
Note that 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.
This template is intended to be used alongside the Qlik Cloud Monitoring Apps for user-based subscriptions template. This automation provides the ability to keep the API key and associated data connection used for the Qlik Cloud Monitoring Apps up to date on a scheduled basis. Simply input the space Id where the monitoring_apps_REST data connection should reside, and the automation will recreate both the API key and data connection regularly. Ensure that the cadence of the automation’s schedule is less than the expiry of the API key.
Enter in the Id of the space where the monitoring_apps_REST data connection should reside.
Ensure that this automation is run off-hours from your scheduled monitoring application reloads so it does not disrupt the reload process.
Each Qlik Cloud Monitoring App has the following two variables:
With these variables, we can create a new Qlik Data Alert on a per-app basis. For each monitoring app that you want to be notified on if it falls out of date:
Here is an example of an alert received for the App Analyzer, showing that at this point in time, the latest version of the application is 5.1.3 and that the app is out of date:
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. Run the installer, select which applications should be checked and select the space that they reside in. If any of the selected applications are not installed or are upgradeable, a prompt will appear to continue to install/upgrade for the relevant applications.
Q: What if multiple people install monitoring applications in different spaces?
A: The template scopes the applications install process to a “target” space, i.e., a shared space (if not published) or a managed space. It will scope the API key name to `QCMA – {spaceId}` of that target 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 and 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. The template receives the list of applications dynamically from GitHub. If a new monitoring application is released, it will become available immediately through the template.
Q: I would like to be notified whenever a new version of a monitoring applications is released. Can this template do that?
A: As per the article above, the automation templates are not responsible for notifications of whether the applications are out of date. This is achieved using Qlik Alerting on a per-application basis as described in Part 3.
Q:I have updated my application, but I noticed that it did not preserve the history. Why is that?
A: 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. Each upgrade will generate a new set of QVDs as the data models for the applications sometimes change due to bug fixes, updates, new features, etc. If you want to preserve the history when updating, the application can be upgraded with the “Publish side-by-side” method so that the older version of the application will remain as an archival application. However note that the Qlik Alert (from Part 3) will need to be recreated and any community content that was created on the older application will not be transferred to the new application.
With Qlik Application Automation, you can get data out of Qlik Cloud and distributing it to different users in formatted Excel. The workflow can be automated by leveraging the connectors for Office 365, specifically Microsoft SharePoint and Microsoft Excel.
Here I share two example Qlik Application Automation workspaces that you can use and modify to suit your requirements.
Content:
Video:
Note - These instructions assume you have already created connections as required in Example 1.
This On-Demand Report Automation can be used across multiple apps and tables. Simply copy the extension object between apps & sheets, and update the Object ID (Measure 3) for each instance.
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 manage users using Qlik Application Automation. This approach can be useful when migrating from QlikView, or Qlik Sense Client Managed, to Qlik Sense Cloud when security concerns prevent the usage of Qlik-CLI and PowerShell scripting.
You will find an automation attached to this article that works with the Microsoft Excel connector. More information on importing automation can be found here.
Content
In this example, we use a Microsoft Excel file as a source file to manage users. A sheet name, for example, Users, must be added and this must also be provided as input when running the automation. The sheet must also contain these headers: userId, Name, Subject, Email, Roles, Licence, and Flag.
Example of sheet configuration:
If users are to be created the Flag column must be set to create. If users are to be deleted, there's no need to include roles, but Flag must be set to delete.
Add the List Rows With Headers block from the Microsoft Excel connector to read the values that have been configured in the Excel sheet.
When running the automation you must provide input to the automation, this includes the name of the worksheet to read data from. You also need to specify the first and last cell to read data from, as well as if users are to be created or deleted. Example :
Input | Value |
Worksheet Name | Users |
Excel Start Cell | A1 |
Excel End Cell | G5 |
Mode | Create |
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 manage space membership (users)
This article provides a step-by-step guide on building a write back solution with only native Qlik components and automations.
Content:
Disclaimer for reporting use cases: this solution could produce inconsistent results in reports produced with automations; when using the button to pass through selections, the intended report composition and associated data reduction for the report may not be achieved. This is due to the fact that the session state of Qlik Application Automation cannot be transferred to the report composition definition that is passed to the Qlik Reporting Service.
When analyzing results in a Qlik Sense app, it could happen you spot a mistake in your data or something that seems odd. To address this, you may want someone from your team to investigate this or you may want to update data in your source systems directly without leaving Qlik. Or maybe your data is just fine but you want to add a new record from within Qlik without having to open your business application. These scenarios fit in the following use cases:
This is the least intrusive form of writing back that delegates the change to someone in your data team. The idea is that you create a ticket in a task management system like Jira or ServiceNow. Someone from your team will then pick up the ticket, investigate your comment, and review the data. The difference with sending an alert or email is that the ticketing system guarantees that the request is tracked.
Another option to communicate changes is to write a comment or a tag for one or more records directly to the source system. This could be a comment on a deal record in your CRM or it could be stored in a separate database table if you're loading data from a database.
The final use case allows for updating records directly from within the sheet. Make sure you know who has access to the button before setting this up since this will allow users to change records directly.
All the above use cases can be realized in the same way: by configuring a native Qlik Sense button in your sheet to run an automation. Before you start this tutorial, make sure you already have an app and a new, empty automation. The tutorial has 2 parts:
To configure the app, we'll use the following native Qlik Sense components:
Steps:
Enable the "Show notifications" toggle, this will send a toast notification back to the user in the sheet after the automation completes. Feel free to increase the duration.
Tip: using a Container component will allow your variable inputs & button to scale better for smaller screens.
Upon automation run, this will resolve to the first text value selected for the field hs_object_id (which corresponds to the deal ID from HubSpot). To update this to a comma-separated list of IDs, the mapping must first be changed to output a list of all values for hs_object_id. To do this, toggle the formula parsing:
Bonus: add a link to the toast notification
Instead of showing a plain message in the toast notification, it's also possible to include a link to point the user to a certain resource. This can be done by configuring the Update Run Title block with the following snippet:
{"message":"Ticket created", "url": "https://<link to jira ticket>"}
Depending on the button's configuration and the automation run mode, use either the Update Run Title block or the Output block to show the toast notification.
See the below table for each option:
Run mode configuration in the automation | Run mode in the button | Block for toast notification | Who can see the notification |
Triggered async | Triggered | Update Run Title | Automation owner only |
Triggered sync | Triggered | Output | Everyone |
Triggered sync | Not triggered | Update Run Title | Automation owner only |
The run mode in the button can be configured by toggling the 'Run mode: triggered' option in the button's settings:
The run mode in the automation can be configured here in the Start block:
After writing back to your source systems, you'll want to do a reload to see your changes reflected in the app. Be mindful of the impact of doing these reloads. If multiple people are using this button at the same time, you don't want to do a reload for each update.
Problems:
Improvements:
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.