Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/formbricks/formbricks/llms.txt

Use this file to discover all available pages before exploring further.

The Notion integration allows you to automatically add survey responses as pages in Notion databases. Perfect for organizing feedback, building roadmaps, or creating customer insights repositories.

What Gets Synced

When a response is submitted to a linked survey:
  • Each response creates a new page in your Notion database
  • Survey questions are mapped to database properties
  • Data syncs in real-time as responses arrive
  • You control which questions map to which properties

Setup for Formbricks Cloud

1

Navigate to Integrations

In your Formbricks dashboard, go to Configuration > Integrations and click Connect on the Notion card.Formbricks Integrations Tab
2

Connect with Notion

Click Connect with Notion to start the OAuth flow.Connect Formbricks with your Notion account
3

Authorize and Select Databases

On the Notion OAuth page:
  1. Select your Notion workspace
  2. Choose which databases Formbricks can access
  3. Click Allow access
4

Confirm Connection

After authorization, you’ll return to Formbricks and see a connected status.Formbricks is now connected with Notion
5

Prepare Your Database

Ensure your Notion database has:
  • Properties that match your survey questions
  • Appropriate property types (text, select, number, etc.)
  • Shared access with the Formbricks integration
6

Link a Database

Click Link New Database to open the configuration modal.Link Formbricks with a Notion database
7

Map Questions to Properties

  1. Select the Notion database
  2. Select the survey
  3. Map each survey question to a database property
  4. Click Link Database Question to notion database column mapping
8

Verify Setup

Your linked database appears in the list. Responses will now automatically create Notion pages!List of linked notion databases

Self-Hosted Setup

To enable Notion integration on a self-hosted instance:
1

Create Notion Integration

  1. Sign in to Notion
  2. Go to My integrations
  3. Click New integration
  4. Fill in the basic information (name, logo)
  5. Click Submit
2

Enable Public Distribution

  1. Click the Distribution tab
  2. Toggle Make integration public
  3. A form will appear below
3

Configure Redirect URI

Under Redirect URIs, add:
https://<your-domain>/api/v1/integrations/notion/callback
For local development:
http://localhost:3000/api/v1/integrations/notion/callback
4

Complete Distribution Form

Fill in all required fields, then click Submit.
5

Copy Credentials

After submission, copy:
  • Client ID
  • Client Secret
6

Set Environment Variables

Add to your Formbricks .env file:
NOTION_OAUTH_CLIENT_ID=<your-client-id>
NOTION_OAUTH_CLIENT_SECRET=<your-client-secret>
7

Restart Formbricks

Restart your Formbricks instance to apply the changes.
Once configured, follow the Cloud setup steps to link databases.

Property Type Mapping

Formbricks automatically maps survey question types to Notion property types:
Survey Question TypeNotion Property TypeNotes
TextTitle, Text, or Rich TextShort text → Title, Long text → Rich Text
Multiple Choice (single)SelectOptions created automatically
Multiple Choice (multi)Multi-selectOptions created automatically
Number / RatingNumberNumeric values only
DateDateISO format dates
EmailEmailValidated email format
URLURLValid URLs only
File UploadFiles & MediaFile links
If property types don’t match, Notion may reject the sync. Ensure your database properties are compatible with your question types.

API Implementation

The integration uses Notion’s API v2022-06-28:

Fetching Databases

POST https://api.notion.com/v1/search
{
  "filter": {
    "value": "database",
    "property": "object"
  },
  "page_size": 100
}

Creating Pages

POST https://api.notion.com/v1/pages
{
  "parent": {
    "database_id": "<database_id>"
  },
  "properties": {
    "Question 1": {
      "rich_text": [{ "text": { "content": "Response text" } }]
    },
    "Rating": {
      "number": 5
    }
  }
}
Implementation is in apps/web/lib/notion/service.ts:writeData().

Example Workflow

  1. User completes your “Product Feedback” survey
  2. Formbricks detects the response
  3. A new page is created in your “Feedback Database” with:
    • Title: Response ID or first question answer
    • Properties: Mapped question responses
    • Created time: Response timestamp
  4. Your team can now:
    • Add comments and discussions
    • Link to related projects
    • Create tasks or roadmap items
    • Filter and analyze responses

Remove Integration

1

Open Integrations

Go to Configuration > Integrations
2

Manage Notion

Click Manage on the Notion card
3

Delete

Click Delete Integration and confirm
Delete Notion Integration
Deleting the integration removes all database links. Existing Notion pages are not deleted, but new responses won’t sync.

Troubleshooting

Ensure:
  • The database was shared with the Formbricks integration during OAuth
  • You selected the correct Notion workspace
  • The database is not archived
Try disconnecting and reconnecting the integration.
Check:
  • Property types match question types
  • All required database properties are mapped
  • The database hasn’t been deleted or archived
  • You haven’t revoked Formbricks’ access in Notion settings
  • Verify the survey is linked to the database
  • Check Notion’s page history to confirm pages were created
  • Ensure responses are fully submitted (not partial)
If specific properties fail:
  • Verify the property still exists in the database
  • Check that the property type supports the data being sent
  • Try re-linking the database with updated mappings

Best Practices

Use Views

Create filtered views in Notion to organize responses by survey, date, or rating

Add Relations

Link response pages to Projects, Customers, or Features for better context

Set Up Automations

Use Notion’s automation features to notify teams or update related pages

Archive Old Data

Periodically archive old responses to keep your database performant
Need help? Join our GitHub Discussions!