Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
This article is intended to get started with the Microsoft Outlook 365 connector in Qlik Application Automation.
To authenticate with Microsoft Outlook 365 you create a new connection. The connector makes use of OAuth2 for authentication and authorization purposes. You will be prompted with a popup screen to consent a list of permissions for Qlik Application Automation to use. The Oauth scopes that are requested are:
The scope of this connector has been limited to only sending emails. Currently, we do not enable sending email attachments and are looking to provide this functionality in the future. The suggested approach is to upload files to a different platform, e.g. Onedrive or Dropbox and create a sharing link that can be included in the email body.
The following parameters are available on the Send Email block:
As we do not currently support email attachments, we need to first generate a sharing link in Onedrive or an alternative file sharing service. The following automation shows how to generate a report from a Qlik Sense app, upload the report to Microsoft Onedrive, create a sharing link and send out an email with the sharing link in the body. This automation is also attached as JSON in the attachment to this post.
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
Watch this space for when the feature has been successfully rolled out in your region.
This capability is being rolled out across regions over time:
With the introduction of shared automations, it will be 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.
Pressing a button that executes an Automation fails with:
Bad request
An additional error may be shown:
You are not authorized to run this automation
These errors are typically seen after changing the Automation's owner.
When the owner of an Automation is changed, the system automatically disables that Automation. In this context, this error indicates that the automation is disabled or that its run mode is incorrectly configured.
To resolve this:
This error can occur after re-enabling an automation and the execution token having changed.
Follow these steps to re-establish the connection:
This article explains how the Qlik Reporting connector in Qlik Application Automation can be used to generate a bursted report that delivers recipient-specific data.
For more information on the Qlik Reporting connector, see this Reporting tutorial.
This article offers two examples where the recipient list and field for reduction are captured in an XLS file or a straight table in an app. Qlik Application Automation allows you to connect to a variety of data sources, including databases, cloud storage locations, and more. This allows you to store your recipient lists in the appropriate location and apply the concepts found in the examples below to create your reporting automation. By configuring the Start block's run mode, the reporting automations can be scheduled or driven from other business processes.
In this example, the email addresses of the recipients are stored in a straight table. Add a private sheet to your app and add a straight table to it. This table should contain the recipients' email address, name, and a value to reduce the app on. We won't go over the step-by-step creation of this automation since it's available as a template in the template picker under the name "Send a burst report to email recipients from a straight table".
Instead, a few key blocks of this template are discussed below.
In this example, the email addresses of the recipients are stored in an Excel file. This can be a simple file that contains one worksheet with headers on the first row (name, email & a value for reduction) and one record on each subsequent row.
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.
Can Qlik Cloud Analytics Community Sheets be unpublished using a Qlik Automate block or the Qlik REST API?
There is no unpublish sheet block in Qlik Automate, and a simple unpublish option cannot be done with the Qlik REST API.
To note:
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.
Qlik Cloud Catalog is a native connector that lets you automate tasks related to the Data Products Catalog and Data Quality workflows. With this connector, you can enable the scheduling of quality computations for datasets, streamlining data validation processes across your organization. Aligning Data Quality execution with ELT or ETL processes helps you assess the trustworthiness of your data, especially as it may be consumed downstream by analytics, AI models, or other consumers.
This connector does not require additional configuration to authenticate, it will automatically connect to the automation owner's Qlik account. Whenever blocks of this connector are executed, they will use that account. Additional blocks (like retrieving data products or getting quality indicators) will be released over time. You can request new ones through ideation.
For the initial release, the connector introduces two main capabilities:
Schedule quality computation for selected datasets
Send notifications based on the computation result
Once your datasets are registered in Qlik Cloud Catalog, you can use Qlik Automate to schedule their quality computation with custom parameters. This ensures data quality stays aligned with your freshness and operational needs.
You can configure the computation mode:
Pushdown (for Snowflake and Databricks datasets): computation runs on the cloud data warehouse side (note: it consumes data warehouse credits).
Pullup (Qlik Cloud): computation runs in Qlik Cloud.
Both modes allow you to define a sample size. Pullup uses a head sample; pushdown uses a random sample.
To set this up:
Use the trigger data quality computation block.
Specify the dataset id (found in the dataset's details panel in Qlik Cloud Catalog).
Configure mode (pushdown or pull-up) and sampling options.
Add the trigger mode to the start block of your automation, this is where you can schedule it.
In order to know whenever your automation ran successfully or when you might need to perform actions in case of failure, you can add blocks to your automation in order to push an alert to the system of your choice. In the template we propose you to send a notification to a Slack channel.
To monitor your automation results:
You can then trigger alerts based on outcomes:
Future updates will allow threshold-based alerts, letting you trigger actions based on data quality indicator results.
Beginning on the 30th of January, Qlik introduced the concept of 3rd party runs in Qlik Automate. This is the first step towards a shift in our packaging that will focus on third-party runs only, while standard runs become free of charge.
This shift will happen over the course of a couple of months, giving you sufficient time to analyze your usage and make adjustments if necessary. Please reach out to your account manager if you have any questions.
Contents
The timeline below illustrates how the various stages of this packaging update will happen. In between each stage should be sufficient time to analyze your usage and prepare for the enforcement.
An automation run is considered a standard run if it only executes blocks from the following categories:
Example:
An automation run is considered a third-party run if it executes any blocks that are not in the standard connector categories.
As a rule of thumb, a standard run will execute one or more blocks from third-party connectors. Among others, third-party connectors are connectors like Slack, Amazon S3, Microsoft Excel, Call URL. A full overview of all automation connectors if available here.
Example:
Every run of this automation will execute the Send Message (Slack) block.
This will make every run a third-party run as the Slack connector is a third-party connector.
The “Contains third-party blocks” label indicates that the automation contains an active third-party block.
For a run to be considered a third-party run, we only evaluate executed blocks. If the third-party blocks in the automation were not executed, the run will not count as a third-party run. A block not being executed could be caused by many factors like Condition blocks, Filter List blocks, deactivated third-party blocks, ...
This illustrates that an automation with a “Contains third-party blocks” label will not necessarily generate third-party runs on every run.
Example:
This automation will only execute the Send Message (Slack) block if the reload fails (from the Do Reload block). This means it will only generate third-party runs depending on the state of the Condition block.
The below table provides an overview of the new packaging for automations that will come in effect on April 2, 2025. Please reach out to your account manager for quotes and pricing related questions.
1. Will max concurrency be shared across run types?
Yes, both run types will count towards the same max concurrency.
2. Will usage of Qlik APIs through the Call URL block or other generic connectors count towards third-party runs?
Yes, when these blocks and connectors are used to make API requests to Qlik APIs, they will still count towards third-party runs. If you are missing blocks or functionality in a Qlik connector, please create an improvement request on our Ideation portal or support an existing request.
3. Will the new packaging have an included amount of third-party runs?
Yes, the new packaging will continue to provide some third-party runs for most editions of Qlik Cloud. Details are available in the above section "Packaging details".
4. Why are some automations with third-party blocks missing the label "Contains third-party blocks"?
An automation will only receive the label when someone performs a manual run or saves it in the editor. We are planning a new update that will apply this label to all automations with active third-party blocks regardless of someone saving them or not.
Please note that regardless of this label being on an automation or not, automation runs will still be evaluated and receive a correct billable yes/no label.
This article is meant to get users starting on the Oauth connector in Qlik Application Automation.
This connector is meant for advanced users to platforms where we did not (yet) build a dedicated connector for.
The connector makes use of the authorization code flow of Oauth2. The authorization code flow is well explained on the following link: https://oauth.net/2/grant-types/authorization-code/
First start by looking for the connector "OAuth2". When you click on connect it requests the following input parameters:
When all of this is provided and you click the Save button, it will open a popup taking you to the login screen where you will be prompted to provide consent. Your connection is now ready to be used.
When selecting the connector in an automation you will notice Raw API Request block. This block has the following input variables:
Apart from the above input variables, RAW API LIST blocks have the following input variables
Input variables | raw API list request - page number based paging | raw API list request - offset based paging | raw API list request - cursor token based paging |
Page Size Field Name | Yes | Yes | Yes |
Page Size | Yes | Yes | Yes |
Offset Field Name | Yes | ||
Page Start | Yes | Yes | |
Json Path For Output Records | Yes | Yes | Yes |
Json Path For Cursor | Yes | ||
Output Name For Cursor Token | Yes | ||
Page Number Field Name | Yes |
The following example will obtain tasks from the Microsoft Todo application. We do not yet have a connector to do this and Oauth is used to obtain the value for the Authorization header.
We first start by obtaining the Authorize URL, Access Ttoken URL and Refresh Token URL. From the Microsoft documentation we can find these at https://docs.microsoft.com/en-us/graph/auth-v2-user. We use the following values:
The documentation of the Microsoft Graph API can be found at https://docs.microsoft.com/en-us/graph/use-the-api?context=graph%2Fapi%2F1.0&view=graph-rest-1.0.
We obtain the Base URL: https://graph.microsoft.com/v1.0.
We will have to obtain a client ID and client secret. We can do the registration for an app at https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade. We register a new application, give it the name "Todo App" and set it to only allow accounts from this organizational directory only. For the redirect url the following value needs to be provided: https://connector.qlikcloud.com/callback. Set the platform to Web.
On the next screen you can obtain your Client ID. Copy this value. Click on Add a certificate or Secret and it will take you to a page where you can create a new client secret.
Create one and copy the value that is now visible.
In the left sidebar click on the button API Permissions. Click on Add a Permission and provide the scope Tasks.ReadWrite.
Back to your connector configuration - Provide the client ID and client secret that were obtained and for the scopes provide the following: User.Read Tasks.ReadWrite offline_access openid
Now click on Save and you should be presented with a screen to login.
1) Raw API Request block:
Create a new automation and drag the Raw API Request block on to the canvas. Set the path to /me and the method to GET. When you now execute it, you should receive a JSON result containing the keys response, headers and status. Most relevant information should be part of the response.
Next let's obtain a list of tasks. Drag another Raw API request block and put it below the earlier one. Set the path to /users/{$.rawApiRequest.response.id}/todo/lists and method should remain at GET. Now when you execute this, it will return you the lists you keep in Todo.
2) List Blocks: Depending on the type of pagination, we have 4 different List blocks. Therefore, depending on the type of pagination in API, any one of the List blocks should be used for a certain API.
We tested the blocks using four distinct APIs, each with a different pagination implementation.
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.
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.
This article provides an overview of the available blocks in the Apache Kafka connector in Qlik Application Automation.
Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
Authentication to Apache Kafka happens through Basic Authentication. To use this connector, you need to provide the username and password to your Rest Proxy Server. When you connect to Apache Kafka in Qlik Application Automation you will be presented with the following screen:
The blocks that are available in the Apache Kafka connector focus on Producing events to topics in the Apache Kafka cluster.
Apache Kafka blocks make use of the Confluent Rest Proxy APIs to produce and consume messages from an Apache Kafka cluster.
Some companies may already use Apache Kafka for application integration challenges. Applications push and pull data from specific topics to communicate with one another. This solves the issues where each application has to talk to every other application. It is identical to what a service bus would do.
The information in this article is provided as-is and is to be used at your own 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.
In Qlik Application Automation when trying to connect a connector of the Office 365 suite, some users will experience the following message during the authentication flow:
This error can show up for the Microsoft Teams, Microsoft Onedrive, Microsoft Sharepoint and Microsoft Excel connectors and depends on your Office 365 tenant. This article explains different methods on how to allow users to make a connector from Qlik Application Automation.
When an Azure admin navigates to the Consent and Permissions page inside Enterprise Applications, the following will be visible:
If the option Do not allow user consent is selected, the only way to get the Microsoft connectors in Qlik Application Automation working is by enabling the Admin Consent Request workflow. To do this, the admin needs to navigate to Admin consent settings and enable the request box and assign reviewers for each request justification:
When a user now creates a connection, they will be asked to provide a justification. This request will be sent to the Azure Administrators of the tenant:
When this request is submitted, the reviewers of the request should now see the request:
The reviewer can review the request which takes the reviewer to the consent screen with the option to allow access for the organization. This will install an enterprise application in the Azure tenant of the user.
An alternative option is if the Azure tenant selected the option Allow User Consent from verified publishers for selected permissions.
When this option is chosen, an Azure administrator of the tenant can head to the Permission Classifications page:
The following scopes will have to be classified as low impact for the different connectors:
Microsoft Teams | Microsoft Sharepoint | Microsoft Onedrive | Microsoft Excel | Microsoft Outlook |
User.Read |
User.Read |
User.Read |
User.Read |
User.Read |
offline_access |
offline_access | offline_access | offline_access | offline_access |
profile | Files.Read.All | Files.ReadWrite.All | Files.ReadWrite.All | Mail.Send |
openid | Files.ReadWrite.All | |||
Sites.Read.All | ||||
Team.ReadBasic.All | Sites.Manage.All | |||
ChannelMessage.Send | Sites.ReadWrite.All | |||
Channel.ReadBasic.All |
Microsoft Teams/Sharepoint ( with admin consent )
This connector will always require admin consent and these scopes cannot be classified as being low impact.
Creating a tenant in a specific region using either Automation or the available API fails.
The API call returns:
"Forbidden" error (status 403)
The Automation block for Application Automation - Platform operations → Create Tenant is restricted to a different region.
Create a region-level OAuth client for the specific region. For instructions, see Create a region level M2M OAuth2 client.
It is necessary to have a dedicated OAuth client for each region.
Qlik Answers is Qlik's personalized AI assistant that generates on-point answers from your own trusted business content. See this article to learn how to get started with Qlik Answers
This connector unlocks new powerful use cases like indexing new data ad-hoc and taking your action oriented automations to the next level by including unstructured insights. This article explains how the Qlik Answers connector in Qlik Automate can be used.
Article contents
This connector does not require additional configuration to authenticate, it will automatically connect to the automation owner's Qlik account. Whenever blocks of this connector are executed, they will use that account.
For this connector's first release, we will introduce blocks that can re-index knowledge bases and ask questions to an assistant. We will deliver more blocks in future releases, do not hesitate to request new blocks through Ideation.
This use case focuses on ad-hoc updates to the knowledge base. The creation and initial configuration of a knowledge base should happen through the Qlik Answers UI as described here:
Once your knowledge base is configured and you've set up a data connection to a cloud storage location, you can then use Qlik Automate to add specific files to the Cloud Storage location and trigger a re-indexing. This could be useful in scenarios when you only want to index specific records that might depend on a context.
For this use case, you can use the blocks Add Data Source To A Knowledge Base and Sync Knowledge Base Data Source. The below example will fetch incidents from ServiceNow, store them in a Dropbox folder and then add the Dropbox folder as a data source to a Knowledge Base in Qlik Answers. After this, the data source will be synced to the knowledge base index.
By using the blocks Create Thread and Execute Synchronous Prompt, you can ask questions from an assistant to enrich other messages that are sent through automations with unstructured insights. In the below example, these blocks are added to the existing "Notify your team on Microsoft Teams based on a measure" template that can be found in the template picker:
Don't ask a question immediately after indexing. Asking a question should be done after the knowledge base has completed indexing successfully.
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.
The new Create Task block in the Salesforce connector in Qlik Automate can be used to create tasks and assign them to opportunities, users, and accounts. This allows you to provide critical insights to your sales team and compel them to take action. This article explains how this block can be used to create tasks for open renewal opportunities from within a Qlik app.
Content
For this example, we'll use a Qlik Analytics app containing upcoming renewal opportunities from Salesforce, which has already been configured with a button triggering an automation. More information on configuring an app with a button is available in Configuring the button with custom parameters.
More information on the Salesforce connector in automations is available in Getting started with the Salesforce connector.
The example app uses variable input charts to collect the subject, description, and assignee for the task. The button is configured to send these variables together with the selected opportunity id to the automation.
Related Content
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.