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.
Qlik offers a wide range of channels to assist you in troubleshooting, answering frequently asked questions, and getting in touch with our technical experts. In this article, we guide you through all available avenues to secure your best possible experience.
For details on our terms and conditions, review the Qlik Support Policy.
Index:
We're happy to help! Here's a breakdown of resources for each type of need.
Support | Professional Services (*) | |
Reactively fixes technical issues as well as answers narrowly defined specific questions. Handles administrative issues to keep the product up-to-date and functioning. | Proactively accelerates projects, reduces risk, and achieves optimal configurations. Delivers expert help for training, planning, implementation, and performance improvement. | |
|
|
(*) reach out to your Account Manager or Customer Success Manager
Your first line of support: https://community.qlik.com/
Looking for content? Type your question into our global search bar:
Leverage the enhanced and continuously updated Knowledge Base to find solutions to your questions and best practice guides. Bookmark this page for quick access!
Subscribe to maximize your Qlik experience!
The Support Updates Blog
The Support Updates blog delivers important and useful Qlik Support information about end-of-product support, new service releases, and general support topics. (click)
The Qlik Design Blog
The Design blog is all about product and Qlik solutions, such as scripting, data modelling, visual design, extensions, best practices, and more! (click)
The Product Innovation Blog
By reading the Product Innovation blog, you will learn about what's new across all of the products in our growing Qlik product portfolio. (click)
Q&A with Qlik
Live sessions with Qlik Experts in which we focus on your questions.
Techspert Talks
Techspert Talks is a free webinar to facilitate knowledge sharing held on a monthly basis.
Technical Adoption Workshops
Our in depth, hands-on workshops allow new Qlik Cloud Admins to build alongside Qlik Experts.
Qlik Fix
Qlik Fix is a series of short video with helpful solutions for Qlik customers and partners.
Suggest an idea, and influence the next generation of Qlik features!
Search & Submit Ideas
Ideation Guidelines
Get the full value of the community.
Register a Qlik ID:
Incidents are supported through our Chat, by clicking Chat Now on any Support Page across Qlik Community.
To raise a new issue, all you need to do is chat with us. With this, we can:
Log in to manage and track your active cases in the Case Portal. (click)
Please note: to create a new case, it is easiest to do so via our chat (see above). Our chat will log your case through a series of guided intake questions.
When creating a case, you will be prompted to enter problem type and issue level. Definitions shared below:
Select Account Related for issues with your account, licenses, downloads, or payment.
Select Product Related for technical issues with Qlik products and platforms.
If your issue is account related, you will be asked to select a Priority level:
Select Medium/Low if the system is accessible, but there are some functional limitations that are not critical in the daily operation.
Select High if there are significant impacts on normal work or performance.
Select Urgent if there are major impacts on business-critical work or performance.
If your issue is product related, you will be asked to select a Severity level:
Severity 1: Qlik production software is down or not available, but not because of scheduled maintenance and/or upgrades.
Severity 2: Major functionality is not working in accordance with the technical specifications in documentation or significant performance degradation is experienced so that critical business operations cannot be performed.
Severity 3: Any error that is not Severity 1 Error or Severity 2 Issue. For more information, visit our Qlik Support Policy.
If you require a support case escalation, you have two options:
When other Support Channels are down for maintenance, please contact us via phone for high severity production-down concerns.
A collection of useful links.
Qlik Cloud Status Page
Keep up to date with Qlik Cloud's status.
Support Policy
Review our Service Level Agreements and License Agreements.
Live Chat and Case Portal
Your one stop to contact us.
In a Windows multi-node deployment, the App Distribution Service (ADS) distributes apps from Qlik Sense Enterprise on Windows to Qlik Sense Enterprise SaaS. The service is installed on every node. However, Qlik Sense does not have load balancing for ADS, meaning if not all nodes have access to the apps, distribution may fail. See App Distribution from Qlik Sense Enterprise to Qlik Cloud fails when distributed from RIM NODE.
If you wish to disable app distribution from certain nodes:
[appdistributionservice]
Disabled=true
Identity=Qlik.app-distribution-service
DisplayName=App Distribution Service
ExePath=dotnet\dotnet.exe
UseScript=false
[hybriddeploymentservice]
Disabled=true
Identity=Qlik.hybrid-deployment-service
DisplayName=Hybrid Deployment Service
ExePath=dotnet\dotnet.exe
UseScript=false
The information and script in this article are provided as is. For further customization and assistance, engage with our active QlikView or Qlik Sense app-building boards.
If you have a group of fields that are related, or if fields carry information that can be broken up into smaller parts that are relevant when creating dimensions or measures, you can create field definitions that can be used to generate derived fields. One example is a date field, from which you can derive several attributes, such as year, month, week number, or day name. All these attributes can be calculated in a dimension expression using Qlik Sense date functions, but an alternative is to create a calendar definition that is common for all fields of date type. Field definitions are stored in the data load script.
Note in case that you need to change the format / to customize the date you need to do it from the script, and most probably drill down to all levels, depending of course the object and what you want to accomplish.
Here is such an example of an autocalendar that can be used in any case:
[autoCalendar]:
DECLARE FIELD DEFINITION Tagged ('$date')
FIELDS
Dual(Year($1), YearStart($1)) AS [Year] Tagged ('$axis', '$year'),
Dual('Q'&Num(Ceil(Num(Month($1))/3)),Num(Ceil(NUM(Month($1))/3),00)) AS [Quarter] Tagged ('$quarter', '$cyclic'),
Dual(Year($1)&'-Q'&Num(Ceil(Num(Month($1))/3)),QuarterStart($1)) AS [YearQuarter] Tagged ('$yearquarter', '$qualified'),
Dual('Q'&Num(Ceil(Num(Month($1))/3)),QuarterStart($1)) AS [_YearQuarter] Tagged ('$yearquarter', '$hidden', '$simplified'),
Month($1) AS [Month] Tagged ('$month', '$cyclic'),
Dual(Year($1)&'-'&Month($1), monthstart($1)) AS [YearMonth] Tagged ('$axis', '$yearmonth', '$qualified'),
Dual(Month($1), monthstart($1)) AS [_YearMonth] Tagged ('$axis', '$yearmonth', '$simplified', '$hidden'),
Dual('W'&Num(Week($1),00), Num(Week($1),00)) AS [Week] Tagged ('$weeknumber', '$cyclic'),
Date(Floor($1)) AS [Date] Tagged ('$axis', '$date', '$qualified'),
Date(Floor($1), 'D') AS [_Date] Tagged ('$axis', '$date', '$hidden', '$simplified'),
If (DayNumberOfYear($1) <= DayNumberOfYear(Today()), 1, 0) AS [InYTD] ,
Year(Today())-Year($1) AS [YearsAgo] ,
If (DayNumberOfQuarter($1) <= DayNumberOfQuarter(Today()),1,0) AS [InQTD] ,
4*Year(Today())+Ceil(Month(Today())/3)-4*Year($1)-Ceil(Month($1)/3) AS [QuartersAgo] ,
Ceil(Month(Today())/3)-Ceil(Month($1)/3) AS [QuarterRelNo] ,
If(Day($1)<=Day(Today()),1,0) AS [InMTD] ,
12*Year(Today())+Month(Today())-12*Year($1)-Month($1) AS [MonthsAgo] ,
Month(Today())-Month($1) AS [MonthRelNo] ,
If(WeekDay($1)<=WeekDay(Today()),1,0) AS [InWTD] ,
(WeekStart(Today())-WeekStart($1))/7 AS [WeeksAgo] ,
Week(Today())-Week($1) AS [WeekRelNo] ;
DERIVE FIELDS FROM FIELDS [Date] USING [autoCalendar] ;
A variable definition (which is created in qvw document under Setting -> Variable Overview -> Add) disappears after distribution. This behavior is working as designed. During reload and distribution the document is opened without data - for optimization reasons. During that time variables defined in the document are not available.
Conditions:
Create and define a variable in the script, not in the document.
e.g.
SET Variable1=today();
Uncheck [+] checkbox in the Variable Overview.
Product Defect ID: QV-25116
A Qlik Replicate task fails and stops with the error:
[INFRASTRUCTURE ]E: Json doesn't start with '{' [1003001] (at_cjson.c:1790)
Resuming the task may lead to this error message as the last saved file was improperly saved.
Restart the task from a timestamp instead of resuming the task to regenerate the file:
If the target system uses files, such as ADLS or Databricks), a network disconnect occurring while a file is being pushed to the target can lead to an incomplete file being saved on the Qlik Replicate server. When the file is saved improperly, the task will not be able to use it to resume the task.
Regeneration of the last file will be needed.
The steps below are for an example test setup of SAML authentication using auth0 as Identity Provider with Qlik Sense Enterprise on Windows.
This customization is provided as is. Qlik Support cannot provide continued support of the solution. For assistance, reach out to our Professional Services or engage in our active Integrations forum.
Note: These steps assume an auth0 "Developer" account has already been created
{
"groups": [
"Everyone"
]
}
function (user, context, callback) {
if((user.user_metadata || {} ).groups){
context.idToken['https://qlik.com/groups'] = user.user_metadata.groups;
}
callback(null, user, context);
}
function (user, context, callback) {
context.idToken['https://qlik.com/sub'] = user.email;
callback(null, user, context);
}
Description | SAML_auth0 | An appropriate description |
Prefix | auth0 | This will be the prefix used when accessing Qlik Sense via URL |
Session cookie header name | X-Qlik-Session-auth0 | Needs to differ for every Virtual Proxy |
Authentication method | SAML | The authentication enabled via auth0 |
SAML host URI | https:// | The Qlik Sense Server |
SAML entity ID | https://.auth0.com | This can be found in the metadata file downloaded from auth0 under entityID |
SAML IdP metadata | Choose File: This is the xml file downloaded from Auth0 | The IdP metadata file downloaded from auth0 |
SAML attribute for user ID | See Claim Types (learn.microsoft) | This is also found in the metadata file from auth0 |
SAML attribute for user directory | [Auth0] | Directory name |
SAML signing algorithm | SHA-1 | Used by auth0 |
A Qlik Account is required to access Qlik portals, software downloads and full access to Qlik.com site resources.
To connect your account to your corporation (accessing product downloads, etc.) the email address domain must match the corporate domain.
The email address cannot be changed after account creation.
A confirmation code has been sent to your email address. You will need the code in the final step.
From R2024-05, Java 17 will become the only supported version to start most Talend modules, enforcing the improved security of Java 17 and eliminating concerns about Java's end-of-support for older versions. In 2025, Java 17 will become the only supported version for all operations in Talend modules.
Starting from v2.13, Talend Remote Engine requires Java 17 to run. If some of your artifacts, such as Big Data Jobs, require other Java versions, see Specifying a Java version to run Jobs or Microservices.
Content
Qlik Talend Module | Patch Level and Version |
Studio | Supported from R2023-10 onwards |
Remote Engine | 2.13 or later |
Runtime | 8.0.1-R2023-10 or later |
For Windows users, please follow the JDK installation guide (docs.oracle.com).
For Linux users, please follow the JDK installation guide (docs.oracle.com).
For MAC OS users, please follow the JDK installation guide (docs.oracle.com).
When working with software that supports multiple versions of Java, it's important to be able to specify the exact Java version you want to use. This ensures compatibility and consistent behavior across your applications. Here is how you can specify a specific Java version on the following products (such as build servers, shared application server, and similar):
For Studio users who are using multiple JDKs, please follow the appropriate instructions listed above and follow the proceeding additional steps:
-vm
<JDK17 HOME>\bin\server\jvm.dll
For Remote Engine (RE) users who are using multiple JDKs, please follow the appropriate instructions listed above and follow the proceeding additional steps.
For Runtime users who are using multiple JDKs, please follow the appropriate instructions listed above and follow the proceeding additional steps.
If Runtime is not running as a service:
With the Enable Java 17 compatibility option activated, any Job built by Talend Studio cannot be executed with Java 8. For this reason, verify the Java environment on your Job execution servers before activating the option.
To use Talend Administration Center with Java 17, you need to open the <tac_installation_folder>/apache-tomcat/bin/setenv.sh file and add the following commands:
# export modules export JAVA_OPTS="$JAVA_OPTS --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
Windows users use <tac_installation_folder>\apache-tomcat\bin\setenv.bat
Follow the steps below to configure the JobServer to use the new Java version.
Navigate to the JobServer Configuration:
Go to the <JobServerRootDir>\conf directory, where <JobServerRootDir> is the path to your Talend JobServer installation.
Open the Configuration File for Editing:
Locate the TalendJobServer.properties file and open it with a text editor of your choice.
Set the Java 17 Executable Path:
Find the line dedicated to the Job launcher path within the file. You will modify this line to point to the Java 17 executable.
org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH="C:\\Program Files\\Java\\jdk-17\\bin\\java.exe"
org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH=/usr/lib/jvm/java-17-openjdk/bin/java
Replace the example paths with the actual path where Java 17 is installed on your system. Ensure to point directly to the Java executable within the bin directory of your JDK installation.
Save Your Changes:
After editing, save the TalendJobServer.properties file.
Restart Talend JobServer:
For the changes to take effect, restart your Talend JobServer.
After completing these steps, Talend JobServer will utilize Java 17 for executing Jobs, ensuring compatibility with the latest Java version supported by Talend modules.
For Java 17 users, Talend CICD process requires the following Maven options:
set "MAVEN_OPTS=%MAVEN_OPTS% --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
For Java 17 users, Talend CICD process requires the following Maven options:
export MAVEN_OPTS="$MAVEN_OPTS \ --add-opens=java.base/java.net=ALL-UNNAMED \ --add-opens=java.base/sun.security.x509=ALL-UNNAMED \ --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED"
<name>TALEND_CI_RUN_CONFIG</name> <description>Define the Maven parameters to be used by the product execution, such as: - Studio location - debug flags These parameters will be put to maven 'mavenOpts'. If Jenkins is using Java 17, add: --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/sun.security.x509=ALL-UNNAMED --add-opens=java.base/sun.security.pkcs=ALL-UNNAMED </description>
Overview
Enable your Remote Engine to run Jobs or Microservices using a specific Java version.
By default, a Remote Engine uses the Java version of its environment to execute Jobs or Microservices. With Remote Engine v2.13 and onwards, Java 17 is mandatory for engine startup. However, when it comes to running Jobs or Microservices, you can specify a different Java version. This feature allows you to use a newer engine version to run the artifacts designed with older Java versions, without the need to rebuild these artifacts, such as the Big Data Jobs, which reply on Java 8 only.
When developing new Jobs or Microservices that do not exclusively rely on Java 8, that is to say, they are not Big Data Jobs, consider building them with the add-opens option to ensure compatibility with Java 17. This option opens the necessary packages for Java 17 compatibility, making your Jobs or Microservices directly runnable on the newer Remote Engine version, without having to go through the procedure explained in this section for defining a specific Java version. For further information about how to use this add-opens option and its limitation, see Setting up Java in Talend Studio.
Procedure
c:\\Program\ Files\\Java\\jdk11.0.18_10\\bin\\java.exe
org.talend.remote.jobserver.commons.config.JobServerConfiguration.JOB_LAUNCHER_PATH=c:\\jdks\\jdk11.0.18_10\\bin\\java.exe
ms.custom.jre.path=C\:/Java/jdk/binMake this modification before deploying your Microservices to ensure that these changes are correctly taken into account.
For Java Option Command --add-opens, using SPACE or = depends on OS, JDK version or the place where you setup, there are 3 cases:
1. support both SPACE and =
2. support SPACE only
3. support = only
Example:
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens java.base/java.net=ALL-UNNAMED
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 is a Python example to call the Qlik Sense Engine API.
Here is a simple script using the websocket-client module to call the Engine API. Note that the Qlik Sense virtual proxy is set to header authentication.
import websocket import ssl import json header_user = {'header_user': 'user1'} ws = websocket.create_connection("wss://qlikserver1.domain.local/hdr/app/", sslopt={"cert_reqs": ssl.CERT_NONE},header=header_user) ws.send(json.dumps({ "handle": -1, "method": "GetDocList", "params": [], "outKey": -1, "id": 1 })) result = ws.recv() while result: result=ws.recv() y = json.loads(result) print(y) ws.close()
Example of results:
{'jsonrpc': '2.0', 'method': 'OnConnected', 'params': {'qSessionState': 'SESSION_CREATED'}} {'jsonrpc': '2.0', 'id': 1, 'result': {'qDocList': [{'qDocName': 'test1', 'qConnectedUsers': 0, 'qFileTime': 0, 'qFileSize': 176418, 'qDocId': '9b428869-0fba-4ba5-9f94-901ae2fdf041', 'qMeta': {'createdDate': '2018-11-29T09:28:40.588Z', 'modifiedDate': '2018-12-17T15:13:56.860Z', 'published': True, 'publishTime': '2018-12-17T15:13:56.782Z', 'privileges': ['read', 'offlineaccess'], 'description': '', 'dynamicColor': '', 'create': None, 'stream': {'id': 'aaec8d41-5201-43ab-809f-3063750dfafd', 'name': 'Everyone'}, 'canCreateDataConnections': False}, 'qLastReloadTime': '2018-11-29T09:30:42.121Z', 'qTitle': 'test1', 'qThumbnail': {}}]}}
In certain scenarios, it is necessary to create additional Windows local accounts for Qlik Replicate and Qlik Enterprise Manager to provide a user the minimum required access level.
This article outlines the steps to add a Windows local account in the built-in Guests group.
#00048742
Gold Client BW is a versatile solution designed to streamline day to day business activities. Gold Client BW helps reduce the need of full system refreshes, provides the ability to copy queries and hierarchies to non-Production systems, and aids in troubleshooting production support issues. The Gold Client BW tool will save time, reduce manual effort, and allows users focus on what matters most.
Usage examples of Gold Client BW are listed below:
After upgrade from QlikView 12.40, it is no longer possible to connect to some Generic LDAP servers.
Current distributions fail and setting up a new connection results in wrong username and password.
LDAP connector changes to comply with new Microsoft security settings. If an outdated LDAP server is deployed it may be necessary to revert to the previous settings.
Reloads fail with error:
A reload fails with:
Requested endpoint could not be provisioned due to failure to acquire a load slot: Your version of Direct Access gateway is no longer supported. Go to 'Data gateways' in the Management Console to download the latest version (DirectAccess-0001)
Upgrade Qlik Data Gateway - Direct Access to a supported version.
If you are already on a supported version of Qlik Data Gateway, rerun the reload. Likely, the services were still initializing when the issue occurred.
This message can occur when the Qlik Data Gateway version is not supported
Or it could also be caused if the services are starting when the request is sent, causing the version being misreported. This is usually an isolated issue with very few reload failures.
Executing tasks or modifying tasks (changing owner, renaming an app) in the Qlik Sense Management Console and refreshing the page does not update the correct task status. Issue affects Content Admin and Deployment Admin roles.
The behaviour began after an upgrade of Qlik Sense Enterprise on Windows.
This issue can be mitigated beginning with August 2021 by enabling the QMCCachingSupport Security Rule.
Enable QmcTaskTableCacheDisabled.
To do so:
Upgrade to the latest Service Release and disable the caching functionality:
To do so:
NOTE: Make sure to use lower case when setting values to true or false as capabilities.json file is case sensitive.
Should the issue persist after applying the workaround/fix, contact Qlik Support.
Introduction
Qlik Cloud offers a number of distribution and reporting capabilities. From in-app download, Data Alerts, and Subscriptions, to enterprise report distribution, there are many ways to produce and delivery analytics to stakeholders.
Administrators may be interested in seeing, or analyzing, the result of activity for these capabilties. This post is intended to offer some insight on a number of event types found in Management Console > Events as it relates to reporting and distribution use cases on Qlik Cloud. The post was created in response to some common questions from customers.
Disclaimer:
Interactive reporting/distribution events are found by filtering within the Management Console > Events on the Event Type = com.qlik.v1.reporting-service.audit
Ad hoc download events surface when a user is working within an application and downloading a produced file to their local system. This activity has the tags "sense-dialog.download".
{ "data": [ { "id": "6696d14047e1fa3e821fc21f", "contentType": "application/json", "data": { "appIds": [ "09eea519-a69c-456e-8790-ef0bacc42310" ], "endTime": "2024-07-16T20:00:00.752237504Z", "reportId": "a1e65f7f-d6ef-4e4d-b619-23574a8c87d8:0", "requestId": "a1e65f7f-d6ef-4e4d-b619-23574a8c87d8", "startTime": "2024-07-16T19:59:59.468816403Z", "success": true, "tags": [ "sense-dialog.download" ], "templateType": "sense-data-1.0", "traceId": "f71cdbe3dfabc79acd1e73b9d4648176", "version": "1.0.0" }, "eventId": "1d7e3ab7-dc80-427c-bbdb-19bbfedf", "eventTime": "2024-07-16T20:00:00.756Z", "eventType": "com.qlik.v1.reporting-service.audit", "eventTypeVersion": "1.0.0", "source": "com.qlik/reporting-service", "tenantId": "<tenant>", "userId": "uzWYcE_cOycXMWhuD6BlRKH82I2dI-J8", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/6696d14047e1fa3e821fc21f" }, "self": { "href": "https://<tenant>/api/v1/audits/6696d14047e1fa3e821fc21f" } } }
Event variants:
Object (chart) data download
Attribute |
Value |
Description |
templateType |
Sense-data-1.0 |
Data export (XLS) |
Object (chart) image download
Attribute |
Value |
Description |
templateType |
Sense-image-1.0 |
Image export (PDF, PNG) |
Sheet download
Attribute |
Value |
Description |
templateType |
Sense-sheet-1.0 |
Sheet export (PDF, PNG) |
Story download
Attribute |
Value |
Description |
templateType |
Sense-story-1.0 |
Story export (PDF) |
Tabular reporting, on-demand download
Attribute |
Value |
Description |
templateType |
Sense-excel-template-1.0 |
Tabular report run on-demand. This is a metered event against the monthly Qlik Reporting Service allocation for the tenant |
These events surface when a user schedules a file to be deliver to their inbox via email. This activity has the tags "Subscription.execution".
{ "id": "66969fee79c1c5c9c01f221d", "contentType": "application/json", "data": { "appIds": [ "09eea519-a69c-456e-8790-ef0bacc42310" ], "endTime": "2024-07-16T16:29:34.075307903Z", "reportId": "a5d1aa11-25f3-4400-add4-f4f637dca380:0", "requestId": "a5d1aa11-25f3-4400-add4-f4f637dca380", "startTime": "2024-07-16T16:29:03.860783997Z", "success": true, "tags": [ "subscription.execution" ], "templateType": "composition-1.0", "traceId": "78edb521626993b692a89a52535ad946", "version": "1.0.0" }, "eventId": "37030b7a-af9e-4313-84a8-b397bd0a", "eventTime": "2024-07-16T16:29:34.079Z", "eventType": "com.qlik.v1.reporting-service.audit", "eventTypeVersion": "1.0.0", "source": "com.qlik/reporting-service", "tenantId": "<tenant>", "userId": "6437fea62c33a33f8e579163", "links": { "Self": { "Href": "https://<tenant>.us.qlikcloud.com/api/v1/audits/66969fee79c1c5c9c01f221d" }, "self": { "href": "https://<tenant>.us.qlikcloud.com/api/v1/audits/66969fee79c1c5c9c01f221d" } } }
Subscription to Chart
Attribute |
Value |
Description |
templateType |
sense-image-1.0 |
Subscription to a single object Image file |
Subscription to Sheet
Attribute |
Value |
Description |
templateType |
composition-1.0 |
Subscription to a multi-sheet file |
Subscription to Sheet (legacy event)
Attribute |
Value |
Description |
templateType |
Sense-sheet-1.0 |
Subscription to a single sheet Image file |
Related: Subscriptions reports are produced by a task - the task event information is found with the event type = com.qlik.sharing-task.executed with attribute
{ "id": "66969fee79c1c5c9c01f2222", "contentType": "application/json", "data": { "appId": "09eea519-a69c-456e-8790-ef0bacc42310", "createdDate": "2024-05-17T16:30:26Z", "creatorId": "658079d5374a6c533936afa8", "description": "", "enabled": true, "expiry": "", "insightLink": "", "name": "US Sales Overview and Product Details", "ownerId": "658079d5374a6c533936afa8", "resourceId": "66478621f5cee84514946139", "resourceLink": "", "resourceType": "sharing-task", "sharingTaskType": "sheet-sharing", "sheetCount": 2, "spaceId": "", "thumbnail": "/api/v1/sharing-tasks/66478621f5cee84514946139/executions/latest/files/", "transports": null }, "eventId": "1f725851-2526-4aaa-9387-ac5d19fb", "eventTime": "2024-07-16T16:29:34Z", "eventType": "com.qlik.sharing-task.updated", "eventTypeVersion": "1.0", "source": "com.qlik/sharing", "tenantId": "<tenant>", "userId": "", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/66969fee79c1c5c9c01f2222" }, "self": { "href": "https://<tenant>/api/v1/audits/66969fee79c1c5c9c01f2222" } } }
These events surface when a user selects the share > image and enters an email address of their choice. An email will be sent containing an image of the chart in the users session to the entered recipient(s).
{ "id": "6696e3a747e1fa3e822422a7", "contentType": "application/json", "data": { "appIds": [ "09eea519-a69c-456e-8790-ef0bacc42310" ], "endTime": "2024-07-16T21:18:31.797924952Z", "reportId": "0385f4fa-c0a5-4fa9-a5e6-550b48d4b652:0", "requestId": "0385f4fa-c0a5-4fa9-a5e6-550b48d4b652", "startTime": "2024-07-16T21:18:28.350152565Z", "success": true, "tags": [ "share.execution" ], "templateType": "sense-image-1.0", "traceId": "9c0695b2802a7e1957adde8571d80b46", "version": "1.0.0" }, "eventId": "e4bc1bea-d433-49f2-8ef4-4f8329f6", "eventTime": "2024-07-16T21:18:31.802Z", "eventType": "com.qlik.v1.reporting-service.audit", "eventTypeVersion": "1.0.0", "source": "com.qlik/reporting-service", "tenantId": "<tenant>", "userId": "658079d5374a6c533936afa8", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/6696e3a747e1fa3e822422a7" }, "self": { "href": "https://<tenant>/api/v1/audits/6696e3a747e1fa3e822422a7" } } }
Share an image
Attribute |
Value |
Description |
templateType |
Sense-image-1.0 |
image |
Related: Sharing of images are executed by a one-time task - the task event information is found with the event type = com.qlik.sharing-task.created.
{ "id": "66953c96e5a6921af0723fea", "contentType": "application/json", "data": { "creator": "658079d5374a6c533936afa8", "notification": { "resourcetype": "chart", "trigger": "onetime-tasks" }, "recipientCount": 1, "transports": [ "Email" ] }, "eventId": "2fe569ff-c25e-4437-bc9e-315ac0ffd7fb", "eventTime": "2024-07-15T15:13:26Z", "eventType": "com.qlik.sharing.created", "eventTypeVersion": "1.0", "source": "com.qlik/sharing", "tenantId": "<tenant>", "userId": "", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/66953c96e5a6921af0723fea" }, "self": { "href": "https://<tenant>/api/v1/audits/66953c96e5a6921af0723fea" } }
Report (file) production events are found by filtering within the Management Console > Events on the Event Type = com.qlik.v1.reporting-service.audit.
Advance sheet/object composition reports are produced with the reporting execution type composition-1.0 from one of two sources - Qlik Application Automation or Public API.
For associated task information with reports produced from Qlik Application Automation use the associated task history view within Qlik Application Automation. Qlik Cloud has no additional visibility of events produced by integrated systems that use the public.api.
{ "id": "6696ce0079c1c5c9c02b4b01", "contentType": "application/json", "data": { "appIds": [ "1af4b714-2775-4953-83b8-987c0774c5c6" ], "endTime": "2024-07-16T19:46:08.764518686Z", "reportId": "5be4a6a3-ef5f-4c6c-b017-282c961cb358:0", "requestId": "5be4a6a3-ef5f-4c6c-b017-282c961cb358", "startTime": "2024-07-16T19:45:49.67199137Z", "success": true, "tags": [ "automation.execution" ], "templateType": "composition-1.0", "traceId": "3d4186dfc1ca6aabbd53186a50b4b455", "version": "1.0.0" }, "eventId": "1112234b-eb09-4669-9428-4a6b50d9", "eventTime": "2024-07-16T19:46:08.772Z", "eventType": "com.qlik.v1.reporting-service.audit", "eventTypeVersion": "1.0.0", "source": "com.qlik/reporting-service", "tenantId": "<tenant>", "userId": "658079d5374a6c533936afa8", "links": { "Self": { "Href": "https://<tenant>.us.qlikcloud.com/api/v1/audits/6696ce0079c1c5c9c02b4b01" }, "self": { "href": "https://<tenant>.us.qlikcloud.com/api/v1/audits/6696ce0079c1c5c9c02b4b01" } } }
Qlik Application Automation - reports
Attribute |
Value |
Description |
tags |
automation.execution |
Use of the report block in an automation triggers this call and uses the template type composition-1.0. This is a metered event against the Qlik Reporting Service |
Public API - reports
Attribute |
Value |
Description |
tags |
public.api |
Public api use of the reporting service template type composition-1.0 method is a metered event against the Qlik Reporting Service |
Tabular reports are produced during authoring, task execution, on-demand or even api.
{ "id": "668ea84a3b6614357241c921", "contentType": "application/json", "data": { "appIds": [ "09eea519-a69c-456e-8790-ef0bacc42310" ], "endTime": "2024-07-10T15:27:06.093116069Z", "reportId": "41957445-f17b-499b-b65a-695619337e55:0", "requestId": "41957445-f17b-499b-b65a-695619337e55", "startTime": "2024-07-10T15:26:48.879380599Z", "success": true, "tags": [ "reporttask.execution" ], "templateType": "sense-excel-template-1.0", "traceId": "30b27fec6e342c3c204bf194e2d25498", "version": "1.0.0" }, "eventId": "430146ea-5c0c-42cc-bd4f-687de440", "eventTime": "2024-07-10T15:27:06.097Z", "eventType": "com.qlik.v1.reporting-service.audit", "eventTypeVersion": "1.0.0", "source": "com.qlik/reporting-service", "tenantId": "<tenant>", "userId": "uzWYcE_cOycXMWhuD6BlRKH82I2dI-J8", "links": { "Self": { "Href": "https://<tenant>.us.qlikcloud.com/api/v1/audits/668ea84a3b6614357241c921" }, "self": { "href": "https://<tenant>.us.qlikcloud.com/api/v1/audits/668ea84a3b6614357241c921" } } }
Tabular reporting - task execution
Attribute | Value | Description |
tags | reporttask.execution | Execution by the sharing service. This is a metered event against the Qlik Reporting Service |
Tabular reporting - Qlik add-in preview
Attribute | Value | Description |
tags | excel-addin.download | Preview/download from the xls-addin. This is a metered event against the Qlik Reporting Service |
Tabular reporting - public api execution
Attribute | Value | Description |
tags | Public.api | Generation from a direct api call. This is a metered event against the Qlik Reporting Service |
Tabular reporting, on-demand download
Attribute |
Value |
Description |
templateType |
Sense-excel-template-1.0 |
Tabular report run on-demand. This is a metered event against the monthly Qlik Reporting Service allocation for the tenant |
The users referenced in the audit event varies on a number of factors.
A report task execution can be better understood by filtering within the Management Console > Events on the Event Type = com.qlik.reporting-task.summary.created
{ "id": "6692c82bfc781165f388f0f0", "contentType": "application/json", "data": { "appId": "e9318b86-eef4-40dc-9209-56d563aeaf51", "createdDate": "2023-11-13T19:32:31Z", "creatorId": "uzWYcE_cOycXMWhuD6BlRKH82I2dI-J8", "description": "", "distributionchannels": [ "email" ], "emailRecipientDisabledExternalCount": 0, "emailRecipientDisabledInternalCount": 0, "emailRecipientEnabledExternalCount": 1, "emailRecipientEnabledInternalCount": 4, "emailRecipientsCount": 5, "enabled": true, "error": "", "expiry": "", "failedExecutions": 4, "hassectionaccess": false, "id": "655279cf9b65ec9d88e5e475", "insightLink": "", "name": "PL Value Report", "ownerId": "uzWYcE_cOycXMWhuD6BlRKH82I2dI-J8", "reportingServiceEventId": "e890b0f5-6a5c-4ca7-b0c7-4450e07f02af:0", "resourceId": "655279cf9b65ec9d88e5e475", "resourceLink": "", "resourceType": "reporting-task", "sharingTaskExecutionId": "6692c821827ec440bf7f5278", "sharingTaskOwnerId": "uzWYcE_cOycXMWhuD6BlRKH82I2dI-J8", "sharingTaskType": "template-sharing", "spaceId": "6552705a2d187abbfe607291", "status": "FAILED", "successfulExecutions": 1, "taskExecutionId": "6692c821827ec440bf7f5278", "thumbnail": "", "transports": [ "email" ], "typeOfSpace": "shared", "workflowId": "" }, "eventId": "414731b1-15cf-4413-8eb3-fe77f98c", "eventTime": "2024-07-13T18:32:11Z", "eventType": "com.qlik.reporting-task.summary.created", "eventTypeVersion": "1.0", "source": "com.qlik/reporting-task", "tenantId": "<tenant>", "userId": "", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/6692c82bfc781165f388f0f0" }, "self": { "href": "https://<tenant>/api/v1/audits/6692c82bfc781165f388f0f0" } } }
EmailRecipientsCount | The email recipient counts reflect attempted emails sent (see Mail Transport below) |
SuccessfulExecutions |
The number of unique reports created as part of the task - this would be the increment to the Qlik Reporting Service metric. |
Failedexecutions |
The number of failed report creation executions for any reason as part of the submitted task structure. Failures are not counted in the Qlik Reporting Service. |
For those that make use of the Qlik Reporting Service with the integrated report task capability within a Qlik Sense App, a deeper understanding of the related events will be helpful. For a Report Task there are two pre-execution checks:
The net of these pre-checks is that it is not possible to do a reliable sum-check on recipients vs reporting-service events.
Data Alert events are found by filtering within the Management Console > Events on the Event Type =com.qlik.alerting-task.execution-summary.created.
Note that the Data Alert feature is designed to automatically produce a CSV attachment if the number of rows meeting the event are greater than a certain number (refer to feature documentation for the more). There is no tracking of this CSV file, it is produced within the Alert service.
{ "id": "66963df32ea1bb46a72a930b", "contentType": "application/json", "data": { "alertId": "664785f7f5cee8451494610c", "alertName": "Quarterly YOY Performance", "summary": { "accessMode": "TARGET_ACCESS", "alertId": "664785f7f5cee8451494610c", "alertName": "Quarterly YOY Performance", "complete": true, "disabledRecipientsCount": 0, "failedExecutionsCount": 1, "failedExecutionsRecipientsInfo": [ { "alertingTaskRecipientErrors": [], "userId": "ugzEPnk6mF9_iRFoGF7NUmX3CIYXUO6H" } ], "ownerId": "658079d5374a6c533936afa8", "successfulExecutionsCount": 3, "tenantId": "5rTVZhiekEho5Om7w3bdyfGtmwX8BumO", "totalRecipientCount": 4, "workflowId": "308d069c-acaf-456a-b9a1-0a42d2876e0b" }, "tracking": { "alertId": "664785f7f5cee8451494610c", "workflowId": "308d069c-acaf-456a-b9a1-0a42d2876e0b" } }, "eventId": "335b25c5-1fe0-4302-9241-89bfde4d", "eventTime": "2024-07-16T09:31:31Z", "eventType": "com.qlik.alerting-task.execution-summary.created", "eventTypeVersion": "1.0", "source": "com.qlik/alerting", "tenantId": "<tenant>", "userId": "", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/66963df32ea1bb46a72a930b" }, "self": { "href": "https://<tenant>/api/v1/audits/66963df32ea1bb46a72a930b" } } }
Another event that may be relevant to distribution use cases like Subscriptions, Tabular Reporting or Data Alerts is the transport event found by filtering within the Management Console > Events on the Event Type = com.qlik.transport-response.email.sent. The event indicates that a connection was made and the payload was passed to the SMTP service. This event has no knowledge of any SMTP service processing of the payload.
{ "id": "66969fef2ea1bb46a740a013", "contentType": "application/json", "data": { "accepted": [ "6437fea62c33a33f8e579163" ], "connectionFailed": false, "failure": false, "message": "250 Ok: queued as gYcCT7j0RVWVG1Rov1RxXQ", "rejected": [], "requestId": null, "serviceProvider": "classicSMTP", "smtpResponseCode": 250, "tracking": null }, "eventId": "iqyjh8tg1Kgb9EeBgKrwcCuY3voqHrgz", "eventTime": "2024-07-16T16:29:35.035Z", "eventType": "com.qlik.transport-response.email.sent", "eventTypeVersion": "1.0", "source": "com.qlik/transport", "tenantId": "<tenant>", "userId": "", "links": { "Self": { "Href": "https://<tenant>/api/v1/audits/66969fef2ea1bb46a740a013" }, "self": { "href": "https://<tenant>/api/v1/audits/66969fef2ea1bb46a740a013" } } }
Please note that in the current and previous Qlik Sense versions it is not possible to download data from the Dynamic Views objects. However it is planned to release this feature in the August 2021 version (on Windows only).
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.
Qlik Customer Portal is currently experiencing login issues. After self-registration, some customers are unable to login to Qlik Customer Portal using their Qlik Account.
We are actively mitigating the issue. We will update this article when fully resolved.
If you need to create a Support Case or contact Support, please contact us through our Support Chat either here on Community, or on Customer Portal (login not required).
When chatting with support, let us know you are experiencing a login trouble with Customer Portal, and please provide the email associated with your Qlik Account.
External users connected through JWT are unable to create ODAG apps from a template. Internal users are able to create apps as expected.
Browser development tools report the following error:
"msgCode": "ODAG-ERR-1143", "replacements": { "appId": "TEMPLATE-APPID", "err": { "name": "RequestError", "message": "The request returned an unexpected result.", "status": 400, "headers": { "cache-control": "private, must-revalidate, max-age=0", "date": "TIMESTAMP", "expires": "TIMESTAMP" }, "body": { "link": {}, "errors": [ { "message": "Bad Request", "status": 400 } ] } } } } ] } } }, "retentionTime": 0, "validation": { "contents": [ "Failed to copy the app: TEMPLATE-APPID", ….. "
A matching error (ODAG-ERR-1143) can be found in the Qlik Sense OdagService logs in C:\Programdata\qlik\sense\log\OdagService\TIMESTAMP.log.
An ODAG Service limitation prevents the duplication of ODAG App templates if the user contains the ‘|’ (pipe) character.
Review JWT integration to avoid "|" (pipe) characters in the username used to identify users on Qlik Sense.
Product Defect ID: QB-27979