A signed Power Query custom connector that brings Qualtrics survey response data directly into Power BI Desktop and the Power BI Service.
Download the latest release »
Qualtrics API Docs
·
Report a Bug
·
Request a Feature
- About the Project
- Getting Started
- Usage
- Scheduled Refresh (Power BI Service)
- For Developers
- Troubleshooting
- Contributing
- License
- Contact
- Acknowledgments
Qualtrics is a leading survey and experience management platform widely used across enterprise, government, and academic organizations. However, getting survey response data into Power BI requires either manual CSV exports or building custom API integrations — both of which are slow, error-prone, and hard to automate.
This connector solves that. It authenticates with the Qualtrics Response Exports API, enumerates your active surveys in a navigation table, and triggers an on-demand export when you load a survey into your report. Everything works inside the Power Query experience you already know, with no scripting required for end users.
- Signed package — ships as a
.pqxsigned with a code-signing certificate so Power BI loads it without disabling security settings - Data center picker — choose from nine named Qualtrics data centers (each showing the underlying URL) or enter a custom base URL
- API token authentication — uses the standard
X-API-TOKENheader; credentials are stored securely by Power BI and the on-premises gateway - Navigation table — all surveys accessible to your API token appear as selectable items in the Get Data navigator
- On-demand response export — selecting a survey triggers a full response export via the Qualtrics async export API and returns the results as a structured table
- Gateway-compatible — supports scheduled refresh through an on-premises data gateway
| Component | Role |
|---|---|
| Power Query M | Connector logic |
| Power Query SDK | Build toolchain (MakePQX.exe) |
| Qualtrics Response Exports API | Data source |
- Power BI Desktop (any recent version)
- A Qualtrics account with API access enabled
- A Qualtrics API token — find yours at Account Settings → Qualtrics IDs → API Token
-
Go to the latest release and download the connector file:
qualtrics.pqx— recommended (signed package, no security exceptions required)qualtrics.mez— unsigned fallback
-
Copy the file into your Power BI custom connectors folder:
Platform Folder path Windows (current user) %USERPROFILE%\Documents\Power BI Desktop\Custom ConnectorsIf the
Custom Connectorsfolder does not exist, create it. -
Open Power BI Desktop and navigate to File → Options → Security.
- If you are using the signed
.pqx, no changes are needed — the connector loads automatically. - If you are using the unsigned
.mez, set Data Extensions to Allow any extension to load without validation or warning.
- If you are using the signed
-
Restart Power BI Desktop.
-
Select Get Data → Online Services → Qualtrics (or search for "Qualtrics").
-
Choose your data center from the dropdown and enter your API token when prompted.
The connector presents a dropdown of Qualtrics data centers with their underlying URLs shown for reference:
| Display name | Base URL |
|---|---|
| Washington, DC Area Data Center | https://iad1.qualtrics.com |
| Dallas, TX Area Data Center | https://dfw3.qualtrics.com |
| San Jose, CA Area Data Center | https://sjc1.qualtrics.com |
| Chicago, IL Area Data Center | https://ord1.qualtrics.com |
| Dublin, Ireland Data Center | https://fra1.qualtrics.com |
| Sydney, Australia Data Center | https://syd1.qualtrics.com |
| Singapore Data Center | https://sin1.qualtrics.com |
| Canada Data Center | https://ca1.qualtrics.com |
| US Government Data Center | https://gov1.qualtrics.com |
| Other | enter a custom base URL below |
If your organization is on a custom branded domain or a data center not listed, select Other and enter the full base URL (for example, https://iad1.qualtrics.com).
Not sure which data center you are on? Check Account Settings → Qualtrics IDs → Datacenter ID, or look at the subdomain in your Qualtrics browser URL.
After authenticating, the connector opens a navigator showing all active surveys accessible to your API token. Selecting a survey:
- Calls the Qualtrics Create Response Export endpoint.
- Polls the export progress until the file is ready.
- Downloads and parses the response data into a Power BI table.
Each refresh re-triggers the export, so your report always reflects the latest survey responses.
To enable scheduled refresh in the Power BI Service:
- Install and configure an on-premises data gateway.
- Copy
qualtrics.pqx(orqualtrics.mez) into the gateway's custom connector folder:- Default:
%ProgramFiles%\On-premises data gateway\CustomConnectors
- Default:
- Restart the gateway service.
- In the Power BI Service, go to Manage gateways, find your gateway, and confirm the connector is listed under Connectors.
- Map your dataset's data source credentials in Dataset Settings → Data source credentials.
Use the same data center and authentication settings in both Power BI Desktop and the gateway to avoid credential mismatch errors.
This section covers building, testing, and signing the connector from source.
| Requirement | Notes |
|---|---|
| Visual Studio Code | Any recent version |
| Power Query SDK extension | Provides MakePQX.exe and the PQ test runner |
After installing the extension, MakePQX.exe is available inside the extension's .nuget subfolder and is auto-discovered by the included VS Code tasks.
Compile the connector (creates bin/AnyCPU/Debug/qualtrics.mez):
MakePQX.exe compileAlternatively, run the MakePQX: Compile (.mez) task in VS Code (Ctrl+Shift+B).
Evaluate interactively in the SDK:
- Open
qualtrics.query.pq. - Set your credentials via the Power Query SDK credential panel.
- Click Evaluate current file in the SDK activity bar.
Example test query (qualtrics.query.pq):
let
BaseUrl = "Washington, DC Area Data Center (https://iad1.qualtrics.com)",
Nav = Qualtrics.Contents(BaseUrl)
in
NavThe VS Code tasks in .vscode/tasks.json automate the full workflow. You can also run the steps manually:
Pack into a .pqx:
MakePQX.exe pack --mez .\bin\AnyCPU\Debug\qualtrics.mez --target .\bin\AnyCPU\Debug\qualtrics.pqxSign the .pqx:
$env:SIGN_PFX_PATH = "C:\secure\path\connector-signing.pfx"
$env:SIGN_PFX_PASSWORD = "<pfx-password>"
MakePQX.exe sign .\bin\AnyCPU\Debug\qualtrics.pqx `
--certificate $env:SIGN_PFX_PATH `
--password $env:SIGN_PFX_PASSWORD `
--replaceThe
.pfxfile and its password are never committed. Seecerts/README.mdfor guidance on creating a self-signed certificate.
Verify the signature:
MakePQX.exe verify .\bin\AnyCPU\Debug\qualtrics.pqxExpected output includes SignatureStatus: Success and Valid: true.
qualtrics.pq Main connector logic and metadata
qualtrics.query.pq SDK interactive test query
qualtrics.proj MSBuild packaging definition
resources.resx Localizable UI strings
qualtrics*.png Connector icons (16 / 20 / 24 / 32 / 40 / 48 / 64 / 80 px)
certs/ Certificate guidance (private keys are git-ignored)
.vscode/tasks.json VS Code build, pack, sign, and verify tasks
bin/ Build output (git-ignored)
| Symptom | Resolution |
|---|---|
MakePQX.exe not found |
Install or repair the Power Query SDK extension, or add MakePQX.exe to your PATH. The VS Code tasks auto-discover it from the extension folder. |
PFX file not found during signing |
Set SIGN_PFX_PATH in your environment or update the path in the VS Code task prompt. |
| Connector does not appear in Get Data | Confirm the file is in the correct Custom Connectors folder and that Power BI Desktop was restarted after copying the file. |
DataSource.Error / 401 Unauthorized |
Verify your API token is valid and that the selected data center matches your Qualtrics organization's region. |
| Export times out | Large surveys can take longer to export. The connector polls for up to several minutes; try refreshing again. Contact your Qualtrics administrator if exports consistently fail. |
| Service refresh fails | Confirm that the gateway has the connector file in its custom connectors folder, the gateway service has been restarted, and the credentials in the Power BI Service match those used in Desktop. |
Contributions are welcome. If you have a bug fix or feature idea:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit your changes:
git commit -m "Add your feature description" - Push to the branch:
git push origin feature/your-feature-name - Open a pull request.
For significant changes, please open an issue first to discuss the proposal.
Distributed under the MIT License. See LICENSE for details.
Ben Schram — ben@benjaminschram.com
Project repository: https://github.com/bschram/powerbi-qualtrics-connector
- Qualtrics Response Exports API documentation
- Microsoft Power Query M documentation
- Power Query SDK for VS Code
- othneildrew/Best-README-Template — README structure inspiration
- Shields.io — badge generation