The Open-Source
Data Layer for Feedback
A Go service plus PostgreSQL. Self-hosted.
Queryable with plain SQL.
One row per response field
An NPS score and a comment from the same submission become two rows. Joinable, indexable, queryable with plain SQL.

Multiple field types, one schema
Gather and unify feedback from all the types - text, categorical, nps, csat, ces, rating, number, boolean, date. Create and manage feedback with a structure.

- 1
Self-host with Docker
- Description
- Go service plus PostgreSQL plus a worker. One Compose file.
- 2
Send records
- Description
- POST FeedbackRecords. One row per response field.
- 3
Query like any table
- Description
- API, BI tool, or plain SQL. No JSON unnesting.
Schema
A field type for every kind of feedback
text
Open-ended feedback.
categorical
Pre-defined choices.
nps, csat, ces
Net Promoter, CSAT, and Customer Effort scores.
rating, number
Rating scales and any numeric value.
boolean, date
Yes/no answers and timestamps.
field_group_id
Group ranking and matrix items with one WHERE clause.
Multi-tenant by default
Every record carries a tenant_id. All indexes lead with it. Run Hub for one org or for thousands.

UUIDv7 keys, JSONB metadata
UUIDv7 sorts by time and stays globally unique. JSONB holds any custom context you throw at it, queryable in plain SQL.

10,000+ teams at the world's best companies trust Formbricks










































A data layer that outlives the analytics stack
Open source, self-hostable, BI-ready. Keep feedback queryable as long as your business needs it.
FAQ