<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article Make your Qlik Sense Sheet interactive with writeback functionality powered by Qlik Application Automation in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/ta-p/1985818</link>
    <description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Table of content:&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-TOC indent="15" liststyle="disc" maxheadinglevel="4"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H2&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" color="#339966" data-darkreader-inline-color=""&gt;Writeback use case&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Product-Innovation-Blog/Code-Less-and-Take-More-Action-is-the-Mantra-of-Qlik-Application/ba-p/1839537" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Qlik Application Automation was released &lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Product-Innovation-Blog/Code-Less-and-Take-More-Action-is-the-Mantra-of-Qlik-Application/ba-p/1839537" target="_blank" rel="noopener"&gt;in Qlik Cloud on September 28th, 2021&lt;/A&gt;,&amp;nbsp;and has helped many customers take action on their data and automated numerous operational day-to-day workflows.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;One of the key use cases we’ve seen in the first year is the &lt;STRONG&gt;writeback use case &lt;/STRONG&gt;where users can,&amp;nbsp;from a single click on a Qlik Sense dashboard, add, correct, or update data into their&lt;STRONG&gt; operational system (e.g. Salesforce, Jira, HubSpot, Service Now)&amp;nbsp;&lt;/STRONG&gt;or into the &lt;STRONG&gt;data platform&lt;/STRONG&gt;&amp;nbsp;(e.g. Snowflake, MySQL) used for the data load.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;&lt;FONT color="#FF0000"&gt;On April 20th 2023 we released a new Qlik Sense Button that has improved functionality to trigger an automation - see&amp;nbsp;&lt;A href="https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047" target="_blank" rel="noopener"&gt;https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example Qlik Sense sheet using automations for writeback use cases (source: Alberto Vaghi - Solution Architect Qlik)" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89885iAC16C9CC4B043225/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_0-1664190505199.png" alt="Example Qlik Sense sheet using automations for writeback use cases (source: Alberto Vaghi - Solution Architect Qlik)" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example Qlik Sense sheet using automations for writeback use cases (source: Alberto Vaghi - Solution Architect Qlik)&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In this article, we want to share an overview of the current building blocks for writeback use cases that are natively available in Qlik Cloud by using the power of Qlik Application Automation.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" color="#339966" data-darkreader-inline-color=""&gt;Two ways to execute an automation from a Qlik Sense Sheet&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;In short, we have two mechanisms to execute an automation from a Qlik Sense Sheet.&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;1. Native 'execute automation' action in the Qlik button&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;In the 'Actions' menu item from the native button, the option 'Execute automations' will link a button natively to an automation. More information on triggering an automation from the native Qlik Sense button can be found here:&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;A href="https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047" target="_blank" rel="noopener"&gt;https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="482px" class="lia-align-center"&gt;&lt;STRONG&gt;Why choose this option?&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="290px"&gt;
&lt;P class="lia-align-center"&gt;&lt;STRONG&gt;Current Limitations&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="482px"&gt;
&lt;UL&gt;
&lt;LI&gt;Native button&lt;/LI&gt;
&lt;LI&gt;No limitation on selection list (because we are using the bookmark)&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Easy setup&lt;/LI&gt;
&lt;LI&gt;Access control (only private)&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;TD width="290px"&gt;
&lt;UL&gt;
&lt;LI&gt;No parallel run execution&lt;/LI&gt;
&lt;LI&gt;Run queuing limit see &lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_QlikAutomation/introduction/platform-limitations.htm" target="_self"&gt;limitation page&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;2. Link a triggered automation from your Qlik Sense Sheet.&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;By making your automation triggered, you allow any system to connect to your automation. Inputs and data can be shared through the URL as query string params (get) or the body (post).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example Automation that is triggered from a Qlik Sense Sheet with 2 inputs: (opportunity)Id and (opportunity)stage" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90000i2D6D28FF656DD8E2/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_0-1664268430098.png" alt="Example Automation that is triggered from a Qlik Sense Sheet with 2 inputs: (opportunity)Id and (opportunity)stage" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example Automation that is triggered from a Qlik Sense Sheet with 2 inputs: (opportunity)Id and (opportunity)stage&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In a Qlik Sense Sheet, you can link a triggered automation in a button by using the &lt;STRONG&gt;'open website or email' option&lt;/STRONG&gt; in the navigation section, or by adding the&lt;STRONG&gt; link in a straight table.&lt;/STRONG&gt;&amp;nbsp; Details of these two options are shared below.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="lia-align-center"&gt;&lt;STRONG&gt;Why choose this option?&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="lia-align-center"&gt;&lt;STRONG&gt;Current Limitations&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;The button can be used by everyone that has access to the sheet&lt;/LI&gt;
&lt;LI&gt;Multiple records can be updated at once&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;The user can get feedback in the opened window or get redirected to another page&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;Opens new window&lt;/LI&gt;
&lt;LI&gt;No parallel run execution&lt;/LI&gt;
&lt;LI&gt;Run queuing limit see &lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_QlikAutomation/introduction/platform-limitations.htm" target="_self"&gt;limitation page&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;No access control on who can trigger&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Example 1: Open website or URL (button)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;In this example, we have a list of opportunities that can be selected and assigned a new opportunity stage.&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example Qlik Sense Sheet with a button triggering an automation using the 'open website' option" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89982iF86A4E67BFA27B4B/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_3-1664262985870.png" alt="Example Qlik Sense Sheet with a button triggering an automation using the 'open website' option" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example Qlik Sense Sheet with a button triggering an automation using the 'open website' option&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The website URL configuration consists of :&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The automation trigger URL&lt;/LI&gt;
&lt;LI&gt;The input parameters added as query string params with the link to the selected items&lt;/LI&gt;
&lt;LI&gt;Optional additional metadata parameters to be used for tracing purposes such as user or timestamp&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;Example:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;https://&amp;lt;tenantname&amp;gt;/api/v1/automations/&amp;lt;automation_id&amp;gt;/actions/execute?X-Execution-Token=&amp;lt;token&amp;gt;&lt;STRONG&gt;&amp;amp;stage=' &amp;amp; GetFieldSelections([Stage Enum])&lt;/STRONG&gt; &amp;amp; &lt;STRONG&gt;'&amp;amp;opportunity_id=' &amp;amp; GetFieldSelections(Id) &amp;amp;&lt;/STRONG&gt; '&amp;amp;user=' &amp;amp; SubField(OSUser(), '=', -1)&lt;/FONT&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Example 2: Add an action link in your straight table&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;The same approach can be used as in Example 1, where we now configure the trigger URL as a column for each action option. The user will only be able to update one record at a time but does not need to make any selection upfront.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example of a Qlik Sense Straight table that triggers in the last 3 columns an automation to compel action" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89984iB8AFB7589FB6D8CD/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_4-1664263475638.png" alt="Example of a Qlik Sense Straight table that triggers in the last 3 columns an automation to compel action" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example of a Qlik Sense Straight table that triggers in the last 3 columns an automation to compel action&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The configuration steps for the additional columns are:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Add per action option (in this case 'opportunity stage') a new column in the section 'data'.&lt;/LI&gt;
&lt;LI&gt;Configure the triggered automation URL in that specific column using the data from another column (in this case 'opportunity id'), hardcoded action option (in this case 'opportunity stage'), and optionally some metadata for tracing purposes.&lt;/LI&gt;
&lt;LI&gt;Set representation option to 'link' and set options 'link setting' = add label, 'link label' =open.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;https://&amp;lt;tenantname&amp;gt;/api/v1/automations/&amp;lt;automation_id&amp;gt;/actions/execute?X-Execution-Token=&amp;lt;token&amp;gt;&lt;STRONG&gt;&amp;amp;stage=Open&lt;/STRONG&gt;'&amp;amp; &lt;STRONG&gt;'&amp;amp;opportunity_id=' &amp;amp; [Id] &amp;amp;&lt;/STRONG&gt; '&amp;amp;user=' &amp;amp; SubField(OSUser(), '=', -1)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Column configuration" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89985iF4EC8AC3D2138C83/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_5-1664263622643.png" alt="Column configuration" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Column configuration&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Example 2: Extension with input forms&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;There are extensions available leveraging the same underlying principles and providing the user with an easy-to-use input form. An example is a great extension built by the Qlik principle solution architect Riley MacDonald:&amp;nbsp;&lt;A href="https://github.com/rileymd88/automation-trigger" target="_blank" rel="noreferrer noopener"&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;https://github.com/rileymd88/automation-trigger&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example of input form using the extension" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89989iBF82B6B8E7142A36/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_6-1664264038627.png" alt="Example of input form using the extension" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example of input form using the extension&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" color="#339966" data-darkreader-inline-color=""&gt;Additional Notes&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;
&lt;P&gt;In many cases, the app will need to be reloaded when the source data is updated by the writeback. It is advisable not to reload the application from within a triggered automation, such as is done in the attached demo examples.&amp;nbsp;A triggered automation that includes an application reload may fail when there are multiple users interacting with the application since parallel reloads of the same app are not possible.&lt;/P&gt;
&lt;P&gt;We suggest using a separate automation to execute the reloads. This automation should be configured to run on a schedule. By doing this, the reloads can be scheduled at intervals and will pool multiple changes from writing back in the same reload. Database connectors and some other connectors have incremental blocks which allow you to only process new or updated records. Use these blocks in the automation to only perform a reload if any new or updated records were found.&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="J_Lindberg_0-1667409414403.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/92738iEFEB6223CC3E83CA/image-size/large?v=v2&amp;amp;px=999" role="button" title="J_Lindberg_0-1667409414403.png" alt="J_Lindberg_0-1667409414403.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;When using the triggered automation option, the system will open a new tab or window when clicking the button. You can configure the automation to:
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Provide feedback to the users by using the 'output' block&lt;/LI&gt;
&lt;LI&gt;Redirect the user to a specific page such as the opportunity record in the source system by using the 'redirect' block&lt;/LI&gt;
&lt;LI&gt;Autoclose the tab by using the redirect block to a website that autocloses&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example using the output block" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89994i1A89E0C53939B9A4/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_10-1664264789642.png" alt="Example using the output block" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example using the output block&lt;/span&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example using the redirect block" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89993i08340C61ADFD860E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PietMichielRappelet_9-1664264723282.png" alt="Example using the redirect block" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example using the redirect block&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Using variables to provide feedback to the user can also be used. However, there might be challenges keeping the two sessions in sync - see &lt;A href="https://community.qlik.com/t5/Official-Support-Articles/Automation-session-delays/ta-p/1886161" target="_self"&gt;this article.&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;It is advised to keep track of the changes in a separate database or store them with metadata such as the changelog, user, and timestamp.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Many Qlik Partners provide more advanced solutions for writeback. This article focuses on the out-of-the-box features supporting basic use cases.&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" data-darkreader-inline-color=""&gt;Demo application with automations&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;Attached you will find a Zip file containing a demo application that shows different examples of how writeback can be implemented. Besides the application and the automations you will also find the required MySQL table data in CSV format for import.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration of MySQL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Import table writeback_source.&lt;/LI&gt;
&lt;LI&gt;Import table writeback_changes.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration of load script sections in this application&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Main" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Original Data" - Configure to read from MySQL table writeback_source.&lt;/LI&gt;
&lt;LI&gt;"Changelog" - Configure to read from MySQL table writeback_changes.&lt;/LI&gt;
&lt;LI&gt;"Merged Data" - Configure writeback_source &amp;amp; writeback_changes.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration of the automation&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Triggered automation - Open a website or email.&lt;/P&gt;
&lt;P&gt;Required block configurations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Do Query" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Update Variable" - Use "do lookup" to configure App Id (Writeback demos) &amp;amp; Variable Id (last_update).&lt;/LI&gt;
&lt;LI&gt;"Do Reload" - Use "do lookup" to configure App Id (Writeback demos).&lt;/LI&gt;
&lt;LI&gt;"Save App" - Writeback demos.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Triggered automation - Extension&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Required block configurations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Do Query" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Update Variable" - Use "do lookup" to configure App Id (Writeback demos) &amp;amp; Variable Id (last_update).&lt;/LI&gt;
&lt;LI&gt;"Do Reload" - Use "do lookup" to configure App Id (Writeback demos).&lt;/LI&gt;
&lt;LI&gt;"Save App" - Writeback demos.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Execute automation - Native button&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Required block configurations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Get Straight Table Data" - Use "do lookup" to configure App Id (Writeback demos), Sheet Id (Execute automation - Native button) &amp;amp; Object Id (the Id of the straight table: "Multiple selections of Ids allowed").&lt;/LI&gt;
&lt;LI&gt;"Get Straight Table Data 2" - Use "do lookup" to configure App Id (Writeback demos), Sheet Id (Execute automation - Native button) &amp;amp; Object Id (the Id of the straight table: "Update sales stage").&lt;/LI&gt;
&lt;LI&gt;"Do Query" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Update Variable" - Use "do lookup" to configure App Id (Writeback demos) &amp;amp; Variable Id (last_update).&lt;/LI&gt;
&lt;LI&gt;"Do Reload" - Use "do lookup" to configure App Id (Writeback demos).&lt;/LI&gt;
&lt;LI&gt;"Save App" - Writeback demos.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/DIV&gt;</description>
    <pubDate>Wed, 05 Jul 2023 08:21:34 GMT</pubDate>
    <dc:creator>PietMichielRappelet</dc:creator>
    <dc:date>2023-07-05T08:21:34Z</dc:date>
    <item>
      <title>Make your Qlik Sense Sheet interactive with writeback functionality powered by Qlik Application Automation</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/ta-p/1985818</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Table of content:&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-TOC indent="15" liststyle="disc" maxheadinglevel="4"&gt;&lt;/LI-TOC&gt;&lt;/P&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H2&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" color="#339966" data-darkreader-inline-color=""&gt;Writeback use case&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Product-Innovation-Blog/Code-Less-and-Take-More-Action-is-the-Mantra-of-Qlik-Application/ba-p/1839537" target="_blank" rel="noopener"&gt;&lt;SPAN&gt;Qlik Application Automation was released &lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;A href="https://community.qlik.com/t5/Qlik-Product-Innovation-Blog/Code-Less-and-Take-More-Action-is-the-Mantra-of-Qlik-Application/ba-p/1839537" target="_blank" rel="noopener"&gt;in Qlik Cloud on September 28th, 2021&lt;/A&gt;,&amp;nbsp;and has helped many customers take action on their data and automated numerous operational day-to-day workflows.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;One of the key use cases we’ve seen in the first year is the &lt;STRONG&gt;writeback use case &lt;/STRONG&gt;where users can,&amp;nbsp;from a single click on a Qlik Sense dashboard, add, correct, or update data into their&lt;STRONG&gt; operational system (e.g. Salesforce, Jira, HubSpot, Service Now)&amp;nbsp;&lt;/STRONG&gt;or into the &lt;STRONG&gt;data platform&lt;/STRONG&gt;&amp;nbsp;(e.g. Snowflake, MySQL) used for the data load.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;TABLE border="1" width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;&lt;FONT color="#FF0000"&gt;On April 20th 2023 we released a new Qlik Sense Button that has improved functionality to trigger an automation - see&amp;nbsp;&lt;A href="https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047" target="_blank" rel="noopener"&gt;https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example Qlik Sense sheet using automations for writeback use cases (source: Alberto Vaghi - Solution Architect Qlik)" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89885iAC16C9CC4B043225/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_0-1664190505199.png" alt="Example Qlik Sense sheet using automations for writeback use cases (source: Alberto Vaghi - Solution Architect Qlik)" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example Qlik Sense sheet using automations for writeback use cases (source: Alberto Vaghi - Solution Architect Qlik)&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In this article, we want to share an overview of the current building blocks for writeback use cases that are natively available in Qlik Cloud by using the power of Qlik Application Automation.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" color="#339966" data-darkreader-inline-color=""&gt;Two ways to execute an automation from a Qlik Sense Sheet&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN&gt;In short, we have two mechanisms to execute an automation from a Qlik Sense Sheet.&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;1. Native 'execute automation' action in the Qlik button&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;In the 'Actions' menu item from the native button, the option 'Execute automations' will link a button natively to an automation. More information on triggering an automation from the native Qlik Sense button can be found here:&amp;nbsp;&lt;FONT color="#FF0000"&gt;&lt;A href="https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047" target="_blank" rel="noopener"&gt;https://community.qlik.com/t5/Official-Support-Articles/How-to-build-a-write-back-solution-with-native-Qlik-Sense/ta-p/2059047&lt;/A&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="482px" class="lia-align-center"&gt;&lt;STRONG&gt;Why choose this option?&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD width="290px"&gt;
&lt;P class="lia-align-center"&gt;&lt;STRONG&gt;Current Limitations&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="482px"&gt;
&lt;UL&gt;
&lt;LI&gt;Native button&lt;/LI&gt;
&lt;LI&gt;No limitation on selection list (because we are using the bookmark)&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Easy setup&lt;/LI&gt;
&lt;LI&gt;Access control (only private)&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;TD width="290px"&gt;
&lt;UL&gt;
&lt;LI&gt;No parallel run execution&lt;/LI&gt;
&lt;LI&gt;Run queuing limit see &lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_QlikAutomation/introduction/platform-limitations.htm" target="_self"&gt;limitation page&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;2. Link a triggered automation from your Qlik Sense Sheet.&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;By making your automation triggered, you allow any system to connect to your automation. Inputs and data can be shared through the URL as query string params (get) or the body (post).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example Automation that is triggered from a Qlik Sense Sheet with 2 inputs: (opportunity)Id and (opportunity)stage" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90000i2D6D28FF656DD8E2/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_0-1664268430098.png" alt="Example Automation that is triggered from a Qlik Sense Sheet with 2 inputs: (opportunity)Id and (opportunity)stage" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example Automation that is triggered from a Qlik Sense Sheet with 2 inputs: (opportunity)Id and (opportunity)stage&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In a Qlik Sense Sheet, you can link a triggered automation in a button by using the &lt;STRONG&gt;'open website or email' option&lt;/STRONG&gt; in the navigation section, or by adding the&lt;STRONG&gt; link in a straight table.&lt;/STRONG&gt;&amp;nbsp; Details of these two options are shared below.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="lia-align-center"&gt;&lt;STRONG&gt;Why choose this option?&lt;/STRONG&gt;&lt;/TD&gt;
&lt;TD class="lia-align-center"&gt;&lt;STRONG&gt;Current Limitations&lt;/STRONG&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;The button can be used by everyone that has access to the sheet&lt;/LI&gt;
&lt;LI&gt;Multiple records can be updated at once&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;The user can get feedback in the opened window or get redirected to another page&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;TD&gt;
&lt;UL&gt;
&lt;LI&gt;Opens new window&lt;/LI&gt;
&lt;LI&gt;No parallel run execution&lt;/LI&gt;
&lt;LI&gt;Run queuing limit see &lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_QlikAutomation/introduction/platform-limitations.htm" target="_self"&gt;limitation page&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;No access control on who can trigger&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Example 1: Open website or URL (button)&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;In this example, we have a list of opportunities that can be selected and assigned a new opportunity stage.&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example Qlik Sense Sheet with a button triggering an automation using the 'open website' option" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89982iF86A4E67BFA27B4B/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_3-1664262985870.png" alt="Example Qlik Sense Sheet with a button triggering an automation using the 'open website' option" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example Qlik Sense Sheet with a button triggering an automation using the 'open website' option&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The website URL configuration consists of :&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The automation trigger URL&lt;/LI&gt;
&lt;LI&gt;The input parameters added as query string params with the link to the selected items&lt;/LI&gt;
&lt;LI&gt;Optional additional metadata parameters to be used for tracing purposes such as user or timestamp&amp;nbsp;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;Example:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;https://&amp;lt;tenantname&amp;gt;/api/v1/automations/&amp;lt;automation_id&amp;gt;/actions/execute?X-Execution-Token=&amp;lt;token&amp;gt;&lt;STRONG&gt;&amp;amp;stage=' &amp;amp; GetFieldSelections([Stage Enum])&lt;/STRONG&gt; &amp;amp; &lt;STRONG&gt;'&amp;amp;opportunity_id=' &amp;amp; GetFieldSelections(Id) &amp;amp;&lt;/STRONG&gt; '&amp;amp;user=' &amp;amp; SubField(OSUser(), '=', -1)&lt;/FONT&gt;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Example 2: Add an action link in your straight table&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;The same approach can be used as in Example 1, where we now configure the trigger URL as a column for each action option. The user will only be able to update one record at a time but does not need to make any selection upfront.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example of a Qlik Sense Straight table that triggers in the last 3 columns an automation to compel action" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89984iB8AFB7589FB6D8CD/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_4-1664263475638.png" alt="Example of a Qlik Sense Straight table that triggers in the last 3 columns an automation to compel action" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example of a Qlik Sense Straight table that triggers in the last 3 columns an automation to compel action&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The configuration steps for the additional columns are:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Add per action option (in this case 'opportunity stage') a new column in the section 'data'.&lt;/LI&gt;
&lt;LI&gt;Configure the triggered automation URL in that specific column using the data from another column (in this case 'opportunity id'), hardcoded action option (in this case 'opportunity stage'), and optionally some metadata for tracing purposes.&lt;/LI&gt;
&lt;LI&gt;Set representation option to 'link' and set options 'link setting' = add label, 'link label' =open.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;https://&amp;lt;tenantname&amp;gt;/api/v1/automations/&amp;lt;automation_id&amp;gt;/actions/execute?X-Execution-Token=&amp;lt;token&amp;gt;&lt;STRONG&gt;&amp;amp;stage=Open&lt;/STRONG&gt;'&amp;amp; &lt;STRONG&gt;'&amp;amp;opportunity_id=' &amp;amp; [Id] &amp;amp;&lt;/STRONG&gt; '&amp;amp;user=' &amp;amp; SubField(OSUser(), '=', -1)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Column configuration" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89985iF4EC8AC3D2138C83/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_5-1664263622643.png" alt="Column configuration" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Column configuration&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Example 2: Extension with input forms&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;There are extensions available leveraging the same underlying principles and providing the user with an easy-to-use input form. An example is a great extension built by the Qlik principle solution architect Riley MacDonald:&amp;nbsp;&lt;A href="https://github.com/rileymd88/automation-trigger" target="_blank" rel="noreferrer noopener"&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;https://github.com/rileymd88/automation-trigger&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example of input form using the extension" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89989iBF82B6B8E7142A36/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_6-1664264038627.png" alt="Example of input form using the extension" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example of input form using the extension&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" color="#339966" data-darkreader-inline-color=""&gt;Additional Notes&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;
&lt;P&gt;In many cases, the app will need to be reloaded when the source data is updated by the writeback. It is advisable not to reload the application from within a triggered automation, such as is done in the attached demo examples.&amp;nbsp;A triggered automation that includes an application reload may fail when there are multiple users interacting with the application since parallel reloads of the same app are not possible.&lt;/P&gt;
&lt;P&gt;We suggest using a separate automation to execute the reloads. This automation should be configured to run on a schedule. By doing this, the reloads can be scheduled at intervals and will pool multiple changes from writing back in the same reload. Database connectors and some other connectors have incremental blocks which allow you to only process new or updated records. Use these blocks in the automation to only perform a reload if any new or updated records were found.&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="J_Lindberg_0-1667409414403.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/92738iEFEB6223CC3E83CA/image-size/large?v=v2&amp;amp;px=999" role="button" title="J_Lindberg_0-1667409414403.png" alt="J_Lindberg_0-1667409414403.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;When using the triggered automation option, the system will open a new tab or window when clicking the button. You can configure the automation to:
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Provide feedback to the users by using the 'output' block&lt;/LI&gt;
&lt;LI&gt;Redirect the user to a specific page such as the opportunity record in the source system by using the 'redirect' block&lt;/LI&gt;
&lt;LI&gt;Autoclose the tab by using the redirect block to a website that autocloses&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example using the output block" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89994i1A89E0C53939B9A4/image-size/large?v=v2&amp;amp;px=999" role="button" title="PietMichielRappelet_10-1664264789642.png" alt="Example using the output block" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example using the output block&lt;/span&gt;&lt;/span&gt;&lt;/DIV&gt;
&lt;DIV class="lia-message-template-content-zone"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Example using the redirect block" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/89993i08340C61ADFD860E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PietMichielRappelet_9-1664264723282.png" alt="Example using the redirect block" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Example using the redirect block&lt;/span&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Using variables to provide feedback to the user can also be used. However, there might be challenges keeping the two sessions in sync - see &lt;A href="https://community.qlik.com/t5/Official-Support-Articles/Automation-session-delays/ta-p/1886161" target="_self"&gt;this article.&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;It is advised to keep track of the changes in a separate database or store them with metadata such as the changelog, user, and timestamp.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Many Qlik Partners provide more advanced solutions for writeback. This article focuses on the out-of-the-box features supporting basic use cases.&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;
&lt;H2&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;&lt;FONT style="--darkreader-inline-color: #72ff72;" data-darkreader-inline-color=""&gt;Demo application with automations&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H2&gt;
&lt;P&gt;Attached you will find a Zip file containing a demo application that shows different examples of how writeback can be implemented. Besides the application and the automations you will also find the required MySQL table data in CSV format for import.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration of MySQL&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Import table writeback_source.&lt;/LI&gt;
&lt;LI&gt;Import table writeback_changes.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration of load script sections in this application&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Main" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Original Data" - Configure to read from MySQL table writeback_source.&lt;/LI&gt;
&lt;LI&gt;"Changelog" - Configure to read from MySQL table writeback_changes.&lt;/LI&gt;
&lt;LI&gt;"Merged Data" - Configure writeback_source &amp;amp; writeback_changes.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Configuration of the automation&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Triggered automation - Open a website or email.&lt;/P&gt;
&lt;P&gt;Required block configurations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Do Query" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Update Variable" - Use "do lookup" to configure App Id (Writeback demos) &amp;amp; Variable Id (last_update).&lt;/LI&gt;
&lt;LI&gt;"Do Reload" - Use "do lookup" to configure App Id (Writeback demos).&lt;/LI&gt;
&lt;LI&gt;"Save App" - Writeback demos.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Triggered automation - Extension&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Required block configurations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Do Query" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Update Variable" - Use "do lookup" to configure App Id (Writeback demos) &amp;amp; Variable Id (last_update).&lt;/LI&gt;
&lt;LI&gt;"Do Reload" - Use "do lookup" to configure App Id (Writeback demos).&lt;/LI&gt;
&lt;LI&gt;"Save App" - Writeback demos.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Execute automation - Native button&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Required block configurations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;"Get Straight Table Data" - Use "do lookup" to configure App Id (Writeback demos), Sheet Id (Execute automation - Native button) &amp;amp; Object Id (the Id of the straight table: "Multiple selections of Ids allowed").&lt;/LI&gt;
&lt;LI&gt;"Get Straight Table Data 2" - Use "do lookup" to configure App Id (Writeback demos), Sheet Id (Execute automation - Native button) &amp;amp; Object Id (the Id of the straight table: "Update sales stage").&lt;/LI&gt;
&lt;LI&gt;"Do Query" - Add MySQL connection.&lt;/LI&gt;
&lt;LI&gt;"Update Variable" - Use "do lookup" to configure App Id (Writeback demos) &amp;amp; Variable Id (last_update).&lt;/LI&gt;
&lt;LI&gt;"Do Reload" - Use "do lookup" to configure App Id (Writeback demos).&lt;/LI&gt;
&lt;LI&gt;"Save App" - Writeback demos.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 05 Jul 2023 08:21:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/ta-p/1985818</guid>
      <dc:creator>PietMichielRappelet</dc:creator>
      <dc:date>2023-07-05T08:21:34Z</dc:date>
    </item>
    <item>
      <title>Re: Make your Qlik Sense Sheet interactive with writeback functionality powered by Qlik Application Automation</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2441910#M13765</link>
      <description>&lt;P&gt;Dear Qlik,&lt;/P&gt;
&lt;P&gt;This implementation is interesting and could be really useful in some of our cases. However, I would like to know whether there is any implementations/workarounds for Qlik Sense Enterprise on Window, which does not require the QAA to execute such features.&lt;/P&gt;
&lt;P&gt;Looking forward to hear from you. TQ.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Jin&lt;/P&gt;</description>
      <pubDate>Wed, 17 Apr 2024 03:15:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2441910#M13765</guid>
      <dc:creator>JinNgiu</dc:creator>
      <dc:date>2024-04-17T03:15:01Z</dc:date>
    </item>
    <item>
      <title>Re: Make your Qlik Sense Sheet interactive with writeback functionality powered by Qlik Application Automation</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2442497#M13781</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/236794"&gt;@JinNgiu&lt;/a&gt;&amp;nbsp;See&amp;nbsp;&lt;A href="https://community.qlik.com/t5/Official-Support-Articles/Can-Qlik-Sense-Write-back-to-Database/ta-p/1710226" target="_blank" rel="noopener"&gt;Can Qlik Sense Write back to Database?&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I recommend to post about your requirements directly in our &lt;A href="https://community.qlik.com/t5/Integration-Extension-APIs/bd-p/qlik-sense-integration-extension-api" target="_blank" rel="noopener"&gt;Integration and Extension forum&lt;/A&gt; to connect with knowledgeable Qlik peers. Should you be in search of a bespoke solution, our &lt;A href="https://community.qlik.com/t5/Official-Support-Articles/How-and-when-to-contact-Qlik-s-Professional-Services-and/ta-p/1714936" target="_blank" rel="noopener"&gt;professional services&lt;/A&gt; can help you.&lt;/P&gt;
&lt;P&gt;All the best,&lt;BR /&gt;Sonja&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Apr 2024 09:01:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2442497#M13781</guid>
      <dc:creator>Sonja_Bauernfeind</dc:creator>
      <dc:date>2024-04-18T09:01:35Z</dc:date>
    </item>
    <item>
      <title>Re: Make your Qlik Sense Sheet interactive with writeback functionality powered by Qlik Application Automation</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2482714#M14617</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;We are using an extension developed by Qloud Cover. It is build natively to create Writeback tables in Qlik sheets where you can interactively writeback from existing data in Qlik. One of the benefits of the product is you can choose between a SaaS product or self-hosted. You can configure where to store the data and they support datastores like Snowflake, Redshift BigQuery and AWS Redshift. You can read more about the product at the Qloud Cover website:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://qloudcover.com/qloud-cover-writeback/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://qloudcover.com/qloud-cover-writeback/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Or you can create a free trail on the product website&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://writeback.qloudcover.com/" target="_blank" rel="nofollow noopener noreferrer"&gt;https://writeback.qloudcover.com/&lt;/A&gt;&amp;nbsp;and get easily started.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2024 09:33:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2482714#M14617</guid>
      <dc:creator>christofferkristensen</dc:creator>
      <dc:date>2024-09-20T09:33:55Z</dc:date>
    </item>
    <item>
      <title>Re: Make your Qlik Sense Sheet interactive with writeback functionality powered by Qlik Application Automation</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2482738#M14619</link>
      <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/220106"&gt;@christofferkristensen&lt;/a&gt;&amp;nbsp;Thanks for sharing. This seems very helpful &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2024 10:39:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Make-your-Qlik-Sense-Sheet-interactive-with-writeback/tac-p/2482738#M14619</guid>
      <dc:creator>ellenschytte</dc:creator>
      <dc:date>2024-09-20T10:39:17Z</dc:date>
    </item>
  </channel>
</rss>

