Skip to main content

Formbricks

Formbricks is an open-source survey and experience management platform that lets teams collect user feedback at scale through customizable surveys, polls, and response tracking. Its Management API exposes surveys, responses, contacts, action classes, attribute classes, and webhooks so you can move feedback data programmatically between Formbricks and the rest of your stack.

Formbricks icon

Power end-to-end data operations for your Formbricks API with Nexla. Our bi-directional Formbricks connector is purpose-built for Formbricks, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Formbricks or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Formbricks workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Formbricks credential, you need the base URL of your Formbricks environment and a personal API key. Formbricks authenticates Management API requests with a personal API key sent in the x-api-key request header. The key grants the same rights and access as the user who created it, so treat it as sensitive information.

To obtain your Formbricks API key, follow these steps:

  1. Sign in to your Formbricks account. Use https://app.formbricks.com for Formbricks Cloud, or the URL of your self-hosted instance.

  2. Open the Configuration (project settings) area for the project whose data you want to work with.

  3. Select the API Keys tab.

  4. Click to generate a new API key, and assign it a descriptive label (for example, "Nexla Integration") so it is easy to identify later.

  5. Copy the generated API key immediately and store it securely. The key value is used to authenticate every Management API request and should be kept confidential.

The base URL identifies which Formbricks environment Nexla connects to: use https://app.formbricks.com for Formbricks Cloud, or your own instance URL (for example, https://formbricks.yourcompany.com) for a self-hosted deployment. If an API key is compromised, revoke it in the API Keys tab and generate a replacement. For complete details about authentication and available endpoints, see the Formbricks REST API documentation.

Authenticate

Credentials required

FieldRequiredSecretDescription
Base URLYesNoThe base URL for the Formbricks API. Use https://app.formbricks.com for Formbricks Cloud, or your self-hosted instance URL.
API KeyYesYesYour Formbricks API key for authentication.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your Formbricks environment URL in the Base URL field. Use https://app.formbricks.com for Formbricks Cloud, or your self-hosted instance URL.

  4. Enter your Formbricks API key in the API Key field. This key is sent in the x-api-key header for all API requests and must be kept confidential.

    If your Formbricks API key is compromised, revoke it in the API Keys tab of your project configuration and generate a new one. The API key grants the same access as the user who created it and should be treated as sensitive information.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Formbricks connector tile, then select the credential that will be used to connect to the Formbricks environment, and click Next; or, create a new Formbricks credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Formbricks endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List Surveys

Returns a list of all surveys in the Formbricks environment. Use this template to ingest survey definitions for analysis, reporting, or synchronization with other systems.

List Responses

Returns a list of all survey responses collected in the Formbricks environment. This endpoint is paginated, and Nexla automatically retrieves subsequent pages to fetch the full set of responses.

List People

Returns a list of all identified people (contacts) in the Formbricks environment, including their attributes and metadata.

List Action Classes

Returns a list of all action classes (event trigger definitions) configured in the Formbricks environment.

List Attribute Classes

Returns a list of all attribute classes (contact attribute schema definitions) defined in the Formbricks environment.

List Webhooks

Returns a list of all webhooks configured in the Formbricks environment.

Retrieve a single survey by ID including all question definitions

Retrieve a single survey by ID, including all question definitions. Provide the Survey ID of the survey to retrieve.

Fetch a single survey response by ID

Fetch a single survey response by ID. Provide the Response ID of the response to fetch.

Retrieve a single contact/person record by ID

Retrieve a single contact/person record by ID. Provide the Person ID of the person to retrieve.

Fetch a single webhook configuration by ID

Fetch a single webhook configuration by ID. Provide the Webhook ID of the webhook to fetch.

Fetch a single action class by ID

Fetch a single action class by ID. Provide the Action Class ID of the action class to fetch.

Fetch a single attribute class schema by ID

Fetch a single attribute class schema by ID. Provide the Attribute Class ID of the attribute class to fetch.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Formbricks data sources can also be manually configured to ingest data from any valid Formbricks API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Formbricks data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Formbricks destination, and select the Send to Destination option from the menu. Select the Formbricks connector from the list of available destination connectors, then select the credential that will be used to connect to the Formbricks environment, and click Next; or, create a new Formbricks credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Formbricks endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create a new survey programmatically

Create a new survey programmatically. Each record from your Nexset is sent as a JSON request body describing the survey to create.

Update an existing survey's definition, questions, or status

Update an existing survey's definition, questions, or status. Provide the Survey ID of the survey to update; each record is sent as a JSON request body with the updated survey properties.

Delete a survey

Delete a survey. Provide the Survey ID of the survey to delete.

Create (record) a survey response on behalf of a contact

Create (record) a survey response on behalf of a contact. Each record from your Nexset is sent as a JSON request body containing the response data.

Update an existing response (e.g. mark as finished, correct data)

Update an existing response, for example to mark it as finished or correct data. Provide the Response ID of the response to update; each record is sent as a JSON request body.

Delete a specific survey response

Delete a specific survey response. Provide the Response ID of the response to delete.

Create or identify a contact/person with attributes

Create or identify a contact/person with attributes such as userId, email, and custom attributes. Each record from your Nexset is sent as a JSON request body.

Update an existing contact's attributes or metadata

Update an existing contact's attributes or metadata. Provide the Person ID of the contact to update; each record is sent as a JSON request body.

Delete a contact / person record for GDPR compliance and data cleanup

Delete a contact / person record for GDPR compliance and data cleanup. Provide the Person ID of the contact to delete.

Create a new webhook subscription

Create a new webhook subscription. Each record from your Nexset is sent as a JSON request body describing the webhook to create.

Update an existing webhook (triggers, surveyIds, URL)

Update an existing webhook, including its triggers, surveyIds, and URL. Provide the Webhook ID of the webhook to update; each record is sent as a JSON request body.

Delete a webhook subscription

Delete a webhook subscription. Provide the Webhook ID of the webhook to delete.

Create a new action class (event trigger definition)

Create a new action class (event trigger definition). Each record from your Nexset is sent as a JSON request body describing the action class to create.

Delete an action class that is no longer in use

Delete an action class that is no longer in use. Provide the Action Class ID of the action class to delete.

Create a new contact attribute class (schema extension)

Create a new contact attribute class (schema extension). Each record from your Nexset is sent as a JSON request body describing the attribute class to create.

Delete an attribute class schema definition

Delete an attribute class schema definition. Provide the Attribute Class ID of the attribute class to delete.

Manual configuration

Formbricks destinations can also be manually configured to send data to any valid Formbricks API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Formbricks Management API endpoints expect JSON payloads. For update and delete operations, include the ID of the object to be modified at the end of the request URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Formbricks endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Formbricks endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.