Skip to content
Get started

Connecting Hub to Power BI

Connect Formbricks Hub to Microsoft Power BI and build reports on your feedback data - no ETL, just point Power BI at Hub's database.

Hub stores all data in a single PostgreSQL database. You can report on it with Microsoft Power BI by connecting Power BI to Hub’s database and building reports from the feedback_records table.

StepAction
1Run Hub + Postgres (Quick Start)
2Install Power BI Desktop (free); optionally sign in to Power BI Service for sharing
3In Power BI Desktop: Get Data -> PostgreSQL database -> enter Hub’s server, database, and credentials (see Step 1 table)
4In the Navigator: select feedback_records -> Load (or Transform data to shape in Power Query)
5Build reports using the same dimensions and metrics as in the Quick reference below
  • Direct access - Power BI connects to Hub’s Postgres database; no data copying or sync required (or use Import for a local snapshot).
  • Microsoft ecosystem - Power BI is the de facto standard for many organizations; Desktop is free for authoring.
  • Same data model - Hub’s Data Model uses one row per response in a single table; easy to aggregate and visualize.
  1. Download Power BI Desktop (free) and install it.
  2. Run Hub and Postgres locally (Quick Start).
  3. In Power BI Desktop: Get Data -> PostgreSQL database -> use the same host, database, and credentials as Hub (for example, Server localhost, Database hub, and your Postgres user/password).
  4. Select the feedback_records table -> Load, then build a chart (for example, bar chart with Axis source_type, Values Count of id).

If Formbricks Hub is not running yet, follow the Quick Start Guide to start Hub and Postgres (for example, docker compose up -d).

Note the database connection details you use for Hub (host, port, database name, user, password). You will need them for Power BI. If you use the compose file from the docs, that is typically:

SettingExample value
Hostlocalhost (if Hub and Postgres run on the same machine as Power BI Desktop)
Port5432
Database namehub
Usernameformbricks
PasswordYour Postgres password (in the Quick Start compose setup this is POSTGRES_PASSWORD in .env; default is formbricks_dev)
  1. Open Power BI Desktop.
  2. Click Get data (or Home -> Get data) and choose PostgreSQL database.
  3. Enter:
    • Server - The host and port of Hub’s Postgres (for example, localhost or localhost,5432; if port is 5432 you can often omit it).
    • Database - The database name from the Step 1 table (for example, hub).
  4. Choose Data connectivity mode: Import (copy data into the report) or DirectQuery (query live). Import is simpler for small to medium datasets.
  5. Under Authentication, select Database and enter the Username and Password from the Step 1 table.
  6. Click OK. If Power BI prompts to test the connection, confirm it succeeds.
  1. In the Navigator dialog, expand the database and select feedback_records.
  2. Optionally click Transform data to open Power Query and remove columns or add filters before loading; otherwise click Load.
  3. Once loaded, feedback_records appears in the Data pane on the right. You can now use it to build report visuals.

For the full table schema - column names, types, and field semantics (for example, field_type, value_number, value_text) - see the Data Model doc.

Use the Visualizations pane to add charts and the Data pane to drag fields into Axis, Values, and Filters.

Example: NPS over time (line or area chart)

Section titled “Example: NPS over time (line or area chart)”
  1. Add a Line chart or Area chart.
  2. Axis - Drag collected_at; in the field’s dropdown set the date hierarchy to Date and change to Week or Month if needed.
  3. Values - Drag value_number and set the aggregation to Average (or add a measure).
  4. Filters - Add a filter on field_type and set it to nps so only NPS questions are included.
  5. Optionally add Count of rows or a custom NPS measure; the same logic as in the Data Model can be implemented in Power Query or DAX if needed.

Example: Count by source (bar or pie chart)

Section titled “Example: Count by source (bar or pie chart)”
  1. Add a Clustered bar chart or Pie chart.
  2. Axis (or Legend) - Drag source_type.
  3. Values - Use Count of any column (for example, Count of id) or add a measure that counts rows.
  4. Save the report.
  1. Add a Clustered bar chart.
  2. Axis - Drag field_id or field_label.
  3. Values - Drag value_number with Average.
  4. Filters - Filter field_type to nps, csat, or rating as needed.
  5. Save the report.

Once Power BI has access to Hub’s database and the feedback_records table, your feedback data is ready for reporting with no extra integration work.

For the complete list of columns and field types, see the Data Model.

Use caseDimension / filterMetric
NPS/CSAT over timecollected_at; filter field_type = npsAVG(value_number) or custom NPS
Count by sourcesource_typeCOUNT(*)
Score by questionfield_id or field_labelAVG(value_number)
Categorical breakdownvalue_text (for example, device, segment)COUNT(*)
Multi-tenantFilter tenant_idany

Hub

Power BI