First Post Starts
Hello everyone. It is my first post to the Alteryx community. I start to write the posts because I would like to share the ideas on what I have done and experienced before. Might be there is someone who already applied similar solutions but I think it is good to share and keep improving with everyone in the community. Let's evolve.
Topic
Nowadays, it is typical scenario that once the Alteryx workflow is completed, Alteryx is able to trigger the subsequent downstream systems to continue the data pipeline. For example, once Alteryx is finished the data preparation for Qlik Sense dashboard, it will trigger the reload of the dashboard.
In order to achieve this, it requires to call the Qlik Sense Repository Service API (https://help.qlik.com/en-US/sense-developer/February2022/Subsystems/RepositoryServiceAPI/Content/Sen...). Normally, we would get to use the Download tool to do so. However, it does not support to pass the Qlik Sense certificate for authentication purpose. The passive solution is to calculate the time required for the workflow to be finished and setup the schedule in Qlik Sense that will 100% to pick up the data. This method is no guarantee because the workflow completion might be affected by a lot of factors like network, server resources, data volume, etc. More practically, we could then look for the Run Command tool with CURL or postman, or simply write the python code in the Python tool. Either of them requires kind of coding/scripting to make it work. It is not easy to maintain.
QS Reload Tool
In order to make it seamless for this kind of integration, I have created a QS Reload tool for this purpose. Once it triggers the QS task and it will return and complete the workflow. The is way to make it synchronous call, however, it is just a waste of resource to just keep waiting in the workflow without any processing. The interface looks like below and the configurable parameters are illustrated below.
QS Server
This is where the server address would be supplied. The protocol does not need to be specified, only the server’s address
Certificate and Reload Certificate
This would be filled up when the “Reload Certificate” button is clicked. This is designed to get the certificates related to Qlik Client from your certificate store. This certificate would be passed as a header in the Http Request and is designed to make the request secure. Basically, this is also known as SSL or Secure Sockets Layer (SSL) or to encrypt the information sent from the requestor machine to the server machine. For further explanation, see Certificates Section of this document.
Get Task Name
Once the server address and the certificate are supplied with correct information, this button would get all the available tasks inside the Qlik Management Console inside the server.
Task Name
This would be filled with the tasks fetched from the server. This is possible through the use of Qlik Sense’s QRS API. The selected task would have the following format, ApplicationName(applicationID). Also whatever task id is selected in the combo box. It would be the one that would be triggered to start.
Messages
This is to inform the user about warnings, status and errors happening inside the GUI. This is designed to help the end user know what inputs are mandatory and the status if the request to get the task list succeed or failed.
Keep Connected
I am unable to share the tool at the moment but if you need more information, kindly drop me a message. Meanwhile, I will continue to share more stuff in the new posts.
Hi Kong,
Running in to similar issues and I'd love to have a look or learn more from your solution. Is there anything you can share?
The tool was using old depreciated .Net SDK and it would not work in the latest Alteryx version. You can refer to my blog to understand how to use CURL to trigger the QS API.
https://kongsoncheung.blogspot.com/2024/06/alteryx-triggering-qlik-sense-task.html.
In short, you can use a command tool in Alteryx with the CURL command to do the QS Task reload.
Hope this help.
Kong
Thanks Kong, I'll look into it!