User-initiated Programmable Actions for Qlik Sense

From an information flow perspective, Qlik Sense is used mostly as a downstream system where data flows into Qlik Sense and is then used for analysis and decision-making. Although a result of analysis in Qlik can be exported into a spreadsheet, unless some custom-made integration is used (a very rare case), there is no ability within Qlik to automate the outflow of information or initiate action from Qlik Sense apps based on analysis result. Not being able to “plug” Qlik Sense into cross-system workflows significantly limits its applicability and potential for return on investment.

EasyMorph provides a solution that allows users to embed Qlik Sense applications into automated cross-system workflows. The solution has two components:

1) EasyMorph Server that executes complex, programmable actions that include data transfer, data transformation, execution of external applications and scripts, sending emails, interacting with external systems through public APIs (e.g. triggering Qlik Sense tasks). Different settings of actions (e.g. file names, time periods, etc.) can be configured using parameters, specified externally.

2) The EasyMorph-Action extension for Qlik Sense. The extension contains a button and a status message that is updated in real-time. When the button is pressed, the extension triggers specified EasyMorph Server task and specifies the task parameters using Qlik Sense expressions. A task execution status as well as error notifications are updated in the extension in real time.

In the animation below, you can see a sample EasyMorph-Action extension. The status label changes dynamically depending on the task status.

Let’s see how this solution works using two examples:

Example 1 – Dynamic data loading based on user selection

The following example shows the use of EasyMorph integration with Qlik Sense to dynamically load a subset of data from an external system based on current user selections. This can be helpful when full datasets are too big to load all at once.

For example, in a Qlik Sense application a user makes a selection that includes Customer ID and Period. Then the user clicks a button in EasyMorph-Action extension (1), which triggers an EasyMorph Server task (2). The task fetches from an external system the specified customer data in the specified period, and exports it into a QVD file (3).

The extension then triggers full or partial reloading (4) of the Qlik Sense application, which loads the generated QVD file and displays its content to the user.

Under the hood, the actions can run external applications, batch files and PowerShell scripts. They can trigger stored procedures, copy/unzip/delete files, send emails and SMS messages, interoperate with other applications through REST APIs and command line clients.

The actions are programmable and real-time. An action can report its status back to the user (e.g. "Copying file 3 out of 10..."), signal about errors, and provide error descriptions.

The screenshot below shows two EasyMorph-Action extensions in a Qlik Sense app. One action loads data for pre-selected states from a database into Qlik Sense. Loading pre-filtered data allows faster reload times and reduces memory footprint. The other sends an email with top-3 cities to a designated recepient. The message text is dynamically generated based on current selections (you can view it on the left from the button).

See Example 1 in action.
Click the screenshot to animate.

Example 2 – Integration with a CRM system

This next example shows how an action in external system can be automatically triggered from a Qlik Sense dashboard using current selections and the EasyMorph-Action extension.

In this case, a user analyses customer orders using a Qlik Sense application and identifies a few customers that can be good candidates for including into a promotion in a cloud-based marketing CRM system. Once the list of candidates is finalized, the user selects a promotion campaign from a list, and presses a button (1) in EasyMorph-Action extension embedded into the Qlik Sense application.

The extension then triggers an EasyMorph Server task (2) with the list of customer IDs formed using a Qlik Sense expression, and the campaign ID. The task connects to the CRM system using a REST API (3), and assigns a promotion campaign for each customer identified on the list.

The user continues exploring customer orders data and adds a few more customers to the promotion list. After that, the user clicks the button in another EasyMorph-Action extension in the same Qlik application to send out promotions. This extension triggers (4) another EasyMorph task that connects to the CRM system, and triggers (5) sending out the promotion to all marked users.

Usability features

The EasyMorph integration solution has several features designed to create an easy-to-use user experience including:

  • Auto-generated documentation in plain English that explains to the user what happens when s/he presses the extension button.
  • Use of the EasyMorph Server to trigger QMC tasks making it possible to utilize 2- and 3- tiered reloads.
  • EasyMorph Server task logs that show Qlik script errors, making debugging simpler.
  • A Reload button right in Qlik Sense dashboards to reload apps when it's required.
  • Parameterized reloads with parameters calculated as Qlik Sense expressions.
  • Auto-generated documentation of transformation logic in plain English, accessible right from Qlik Sense dashboards.
  • File upload/download to/from a Qlik Sense server via a web browser.
  • Real-time status updates about reloading process (e.g. "Loading file 3 out of 10").


With EasyMorph’s integration extension, Qlik Sense customers can use Qlik Sense in new scenarios and increase their Qlik Sense return on investment. For instance:

  • Submit currently selected customers to a loyalty program in a marketing CRM system.
  • Reload a Qlik Sense application with historical data for a period specified by the user.
  • Export current selection into a file on a shared drive.
  • Send to the selected customer a personalized email with attached customized data extract.
  • Submit sales forecasts by sales representatives and resellers.
  • Download a file from a website and dynamically load its content into a Qlik Sense app.

Besides user-initiated programmable cross-system actions, the addition of EasyMorph Server also enables scheduled rule-based notifications (e.g. for data quality exceptions), web-based file manager for collecting/publishing files via a web browser, and self-service visual ETL design for non-technical Qlik Sense users.

Contact us to schedule a demo today.

Schedule a demo