Qlik Community

QlikView Documents

Documents for QlikView related information.

QlikView and Salesforce.com Single Sign On


QlikView and Salesforce.com Single Sign On


SalesForce.com provides a cloud based solution for CRM and other systems. QlikView provides a connector to be able to extract data entered into Salesforce.com for analysis and discovery.  This document reveals how you can embed QlikView into Salesforce.com both visually and to provide seamless login between the two systems.

In Salesforce.com you typically log in with an account created in that system and is normally an e-mail address, although other login systems are available. After you have logged in then a number of tabs are shown that provide the functionality you typically use. A SalesForce Administrator can create a new tab, and embed a URL for a QlikView document or AccessPoint as a Frame within that tab. The identity that the user entered when logging into SalesForce can be passed to QlikView without needing to prompt the user for further credentials. In addition to providing seamless login this also enables fine grained permissions to be used in QlikView based on the security rules created in Salesforce.com e.g. Fred can only see UK customers.



  • Saleforce.com developer access - a free developer account can be used to test the below
  • Although a fully working step by step example is provided below some understanding of the technologies involved is required. These are:
    • Basic Salesforce.com admin knowledge
    • Understanding of QlikView security - specifically ticketing, review this document
    • Basic understanding of asp.net C#
    • IIS - Internet Information Server
    • QlikView server


SalesForce.com provides an API for integrating with its sign in mechanism.  When you login a session identifier is created for the user and this can be passed over as a string of text into another application.  The second application (.net and QlikView in this case) can grab this ID and then make a call to SalesForce to check that it is valid and what the users actual name is.

Once obtained this user name can be passed through into QlikView. In this example the Web Ticket method will be used, other methods could be used also. To achieve this a landing page will be written in asp.net this page will grab the session ID supplied by SalesForce, extract the user name from it then pass it through to QlikView before redirecting the user to the QlikView content.  The content itself will appear inside a frame within the SalesForce screen and the user will not see any of this activity occurring.  The below diagram explains the flow:


Salesforce.com Set up

The configuration of Salesforce.com is fairly basic, simply adding a new tab to the navigation bar at the top of the screen.  If you dont want to do this in production right away then a free developer account can be created to use a sandbox area, this is described below.


  • On the left Under App Setup click Create and then Tabs


  • Click New Web Tab


  • Select a Suitable layout


  • Provide a lable for the tab and chose a style


  • Next we will provide the URL of the QlikView server to embed into SFDC,  it will be a URL for a new page which is added to the QV server in the steps below and it will have a few of the API items added on to the end.
    • The finished URL should look something like the below
    • http://YourQVServerAddress/SFDCLOGIN.aspx?SessionId={!API.Session_ID}&ServerURL={!API.Partner_Server_URL_180}&document=Sales Compass.qvw
    • Replace "YourQVServerAddress" with the address of the QlikView server you are working with.
    • Replace "Sales Compass.qvw" with the document you wish to use, or alternatively you can remove it to open the QlikView Access Point


  • Click next on the following two screens accepting the defaults to save the new tab


  • The Configuration of Saleforce.com is now complete, but it wont work until QlikView has been prepared.

QlikView Set up

The remaining steps are applied to the QlikView server and split between steps in the QlikView Management console and implementation of sample code that uses web ticket, this is added to IIS.  The steps below describe one method to achieve the integration, there are other alternatives available too.  The code supplied as an example is intentionally simplistic and covers only the basics of the implementation rather than being fully productionised code.

QlikView Management Console Settings

  • Open the QMC
  • Go to the System Tab and select your QlikView server on the left hand side
  • On the right hand side select the Security tab and select the "DMS" option for authorisation.  As users will not sign in with windows accounts the DMS mode option is required and permissions must be set through QlikView.


  • Next select the the web server in your deployment and go to the Authentication tab
  • Under Login Address select "Alternate Login" this is to prevent the QV webserver asking for windows credentials. If you are using IIS for the web server then this is not required and you would modify settings in IIS


  • Finally as the server is now running in DMS mode there will be no permissions to read any of the documents so permissions need to be applied.  Go to the Documents and User Documents tab and select the document you want to use.
  • On the right hand side click on the Authorisation tab and apply permissions - you can specify particular users or say "all authenticated"


  • The QlikView Server is now configured

Deploying the code example

There are two zip files attached to the document but only one of them is required to deploy the example.  The other file contains some source code for working with the SalesForce.com security API which you only need to use if you want to integrate the simple example into a bigger code project.

  • Open the SFDCLogin.zip file attached to this document
  • The files need to be deployed into IIS by default this means copying the files to c:\inetpub\wwwroot.   There are two files in the zip - SFDClogin.aspx needs to be copied to the root of the folder and SFDC-SSO.dll needs to be in a sub folder called Bin.  If the paths in IIS are changed then the URL used in the SalesForce.com configuration above needs to match.
    • The dll file contains the functions used to call the Salesforce api - the source for this DLL can be found in the SFDC-SSO-Source.zip, there is no need to user this zip or edit it unless you need to build a more complex example, it is supplied for information only.
  • Edit SFDClogin.aspx in notepad, you can review the code to see the steps its goes through
  • The example makes use of webtickets in QlikView, to request a ticket the code must make the request as a member of the QlikView Administrators group, this example hard codes a user ID and password into the file (other methods can be used), this user id and password needs to be replaced with a QlikView Administrator for your QlikView deployment. 
  • Locate the values     QVAdminUser = "qservice";  and QVAdminPassword = "Ql1ktech";   and update accordingly

Try it out

Now SalesForce.com and QlikView are configured and the code to integrate them is deployed so it is now ready to test.  Return to SalesForce.com and click the QlikView tab you created.  The QlikView tab will now load the specified QlikView document into the frame within Salesforce.

Note:  The example code provided here is intentionally simplified so that is it easy to understand the concepts used to integrate SFDC and QlikView.   For production use the code should be enhanced to suit any business needs, handle errors and further secure the code such as validating the URLs being passed into and out of the page are trusted.


The source code for the DLL is attached to the above document. You can download, upgrade the project to .net 4.5 and recompile the DLL.  Not sure if any code tweaks might be needed.

Contributor III

Hi Joe,

It would be helpful if you could provide the details of the WSDL used so that i can generate code.

still i am getting the error as  Could not load file or assembly 'SFDC-SSO' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Contributor III

Hi Joe,

We have migrated the code and now i am getting the error as below. Do i missed any configuration?

string SFDCuser = ExtractUser(Request.QueryString["ServerURL"].ToString(),Request.QueryString["SessionID"].ToString());

Contributor III

Hi Joe,

Do the qlikview server needs to DMZ zone or internet ? Still i am getting the same error.


Hi Brind,

Did you resolve the SFDC User string issue? I am facing the same problem.



Contributor III

Our web ticket is working fine. But when try to pass additional parameters in  query string like &select=lb1,1

The values are not getting selected in the dashboard.

Not applicable

Brindlogcool: Could you explain what you actually did to get SSO working fully with SFDC by using the method explained in the article? I suspect that there is additional configuration / modification steps that I have missed out on. At the moment I get "Failed to open document. You dont have access to this document" when trying to access QlikView through the tab in SFDC.

For example:

·        Have you been modifying any other .aspx files then the SFDClogin?

·        In IIS: anything that needs to be done besides pointing towards the IIS Qlikview application pool, altering authentication and the ISAPI CGI restrictions?

·        Is an AD necessary or can you setup SSO by just matching SFDC usernames with local server usernames on the qlikview server (with a doc-cal assigned)?

Any input or advice is greatly appreciated!


Contributor III

Yes we did few changes in the SFDCLogin.aspx page based on our environment.  Is the web ticket getting generated for you?

Not applicable

Thanks for your quick reply!

No, I doubt that the web ticket is being generated. At least from looking at the log-files. That is why suspect that there is an issue with the scripting:

• When entering through Accesspoint, it all seems to be working fine. It grabs the user, authenticates him through the admin.account, gets a ticket and returns a “<Global><_retval_> Webticket: E3RF56DR… etc. </_retval_></Global>” - line

• When entering through SFDC, this part is never triggered.

I have not tried any of the tools for validating correct generation of webtickets. The only thing I have changed in the SFDClogin.aspx is what is beeing suggested in the article; username, password, and server IP-adress. The QMC settings are also configurated according to the article

This is the URL I'm using:

http://Server-IP Adress/SFDClogin.aspx?SessionId={!API.Session_ID}&ServerURL={!API.Partner_Server_URL_180}&document=NationalEarnings.qvw

Any ideas?

Contributor III

URL is correct.

I have validated the SDFC login page and the web ticket by the following way

Get the values for {!API.sesssion_ID} {!API.Partner_Server_URL_180} from salesforce and hard code it in the SDFC page and debug it step by step . So that you can find the issue in the SDFC page.

Version history
Revision #:
1 of 1
Last update:
‎2012-12-31 07:34 AM
Updated by: