# Formbricks

Formbricks is an open-source platform for building and managing surveys, enabling organizations to collect and analyze user feedback effectively.

- **Category:** forms & surveys
- **Auth:** API_KEY
- **Tools:** 54
- **Triggers:** 0
- **Slug:** `FORMBRICKS`
- **Version:** 20260217_00

## Tools

### Check Health

**Slug:** `FORMBRICKS_CHECK_HEALTH`

Tool to check the health status of the Formbricks API. Use when you need to verify that the API is operational and responding to requests.

### Create Action Class

**Slug:** `FORMBRICKS_CREATE_ACTION_CLASS`

Tool to create a new action class. Use when defining custom action logic in your environment.

### Create Attribute Class

**Slug:** `FORMBRICKS_CREATE_ATTRIBUTE_CLASS`

Creates a new attribute class (custom contact attribute) in Formbricks. Attribute classes define the schema for contact attributes used for segmentation and personalization. Each attribute must have a unique key within the environment. Common examples include 'plan', 'tier', 'company', or custom business-specific attributes. Use this when you need to define new contact attribute types before tracking user data.

### Create Client User

**Slug:** `FORMBRICKS_CREATE_CLIENT_USER`

Tool to create or identify a user within a specified environment. If the user already exists, this will identify them and potentially update user attributes. If they don't exist, it will create a new user. Use when you need to register or update users in the client API for survey targeting.

### Create Contact

**Slug:** `FORMBRICKS_CREATE_CONTACT`

Creates a new contact in a Formbricks environment. A contact represents a person or entity tracked in Formbricks for survey responses and interactions. The email serves as the unique identifier within an environment - if a contact with the same email already exists, this will update the existing contact. Use this action when you need to: - Register a new contact for survey distribution - Add contact information before sending surveys - Create or update contact records with custom attributes Prerequisites: - An environment ID (use GET_ME to retrieve available environments) - All attribute keys must exist in the environment (email is always available) - Write permissions on the API key

### Create Display

**Slug:** `FORMBRICKS_CREATE_DISPLAY`

Create a display record to track when a survey is shown to users. Displays are used to measure survey view counts and can optionally be linked to a specific user. Use this after obtaining valid survey and environment IDs to register that a survey was displayed.

### Create or Identify User

**Slug:** `FORMBRICKS_CREATE_OR_IDENTIFY_USER`

Tool to create or identify a user in Formbricks Client API. If the user already exists (based on userId), this will identify them and potentially update their attributes. If they don't exist, a new user will be created. Use this when you need to register users before tracking their interactions with surveys.

### Create Survey Response

**Slug:** `FORMBRICKS_CREATE_RESPONSE`

Tool to create a response for a survey. Use after collecting all survey answers.

### Create Survey

**Slug:** `FORMBRICKS_CREATE_SURVEY`

Tool to create a new survey. Use after defining survey details and questions.

### Create Webhook

**Slug:** `FORMBRICKS_CREATE_WEBHOOK`

Tool to create a new webhook. Use when you need to register an external endpoint to receive form response events.

### Delete Attribute Class

**Slug:** `FORMBRICKS_DELETE_ATTRIBUTE_CLASS`

Tool to delete an attribute class. Use when you need to remove an attribute class by its ID after confirming it's no longer needed.

### Delete Person

**Slug:** `FORMBRICKS_DELETE_PERSON`

Tool to delete a person. Use when you need to remove a person's record from Formbricks after confirming the ID.

### Delete Survey Response

**Slug:** `FORMBRICKS_DELETE_RESPONSE`

Tool to delete a survey response by its ID. Use when you need to remove an existing response after confirming its ID.

### Delete Survey

**Slug:** `FORMBRICKS_DELETE_SURVEY`

Deletes a survey from Formbricks by its unique identifier. Use this action when you need to permanently remove a survey. The deletion cannot be undone. Before deletion, ensure you have the correct survey ID - you can list surveys first to verify. Returns the deleted survey's data including its ID, name, type, status, and timestamps.

### Delete Team

**Slug:** `FORMBRICKS_DELETE_TEAM`

Tool to delete an organization team by its ID. Use when you need to permanently remove a team from an organization. Requires write permissions on the organization. Returns the deleted team's details including ID, name, timestamps, and organization ID.

### Delete Webhook

**Slug:** `FORMBRICKS_DELETE_WEBHOOK`

Tool to delete a webhook by ID. Use when you need to remove an existing webhook from Formbricks. Use after confirming the webhook ID.

### Get Account Info

**Slug:** `FORMBRICKS_GET_ACCOUNT_INFO`

Retrieves environment information for the authenticated API key. Returns details about the environment (development or production) including the associated project and setup completion status. This is useful for understanding which environment and project you're working with.

### Get All Contacts

**Slug:** `FORMBRICKS_GET_ALL_CONTACTS`

Tool to retrieve all contacts within the organization. Use when you need a complete list of contacts.

### Get Attribute Class

**Slug:** `FORMBRICKS_GET_ATTRIBUTE_CLASS`

Tool to get a specific attribute class by ID. Use when you need to retrieve details of a specific attribute class for inspection or validation.

### Get Client Contacts State

**Slug:** `FORMBRICKS_GET_CLIENT_CONTACTS_STATE`

Tool to get the current state of a contact including surveys and segment information. Use when you need to retrieve tracking data for a specific user, including their segment memberships, survey displays, and response history. This endpoint uses the v2 client API.

### Get Contact Attribute Key

**Slug:** `FORMBRICKS_GET_CONTACT_ATTRIBUTE_KEY`

Tool to retrieve detailed information about a specific contact attribute key by ID (v2 API). Use when you need to inspect the properties of a contact attribute key such as its type, uniqueness requirement, or associated environment.

### Get Contact by ID

**Slug:** `FORMBRICKS_GET_CONTACT_BY_ID`

Tool to retrieve a specific contact by its ID. Use when you need to fetch detailed information about a single contact.

### Get Me

**Slug:** `FORMBRICKS_GET_ME`

Tool to retrieve current authenticated organization's and environment details. Use when you need to fetch organization and environment information for the current API key.

### Get Person by ID

**Slug:** `FORMBRICKS_GET_PERSON_BY_ID`

Tool to retrieve a person by their internal ID in Formbricks. Use when you need detailed information about a specific person, including all their custom attributes. The person ID can be obtained from the Get All Persons endpoint.

### Get Responses

**Slug:** `FORMBRICKS_GET_RESPONSES`

Retrieve survey responses with flexible filtering, sorting, and pagination. Use this tool to: - List all responses across surveys or filter by specific surveyId - Filter responses by contactId to see submissions from a specific contact - Apply date range filters (startDate/endDate) with filterDateField - Sort by creation or update time (sortBy: createdAt/updatedAt) - Paginate through large result sets (limit: 1-250, skip for offset) Returns detailed response data including answers, completion status, timestamps, contact attributes, time-to-complete metrics, and pagination metadata.

### Get Roles

**Slug:** `FORMBRICKS_GET_ROLES`

Tool to retrieve all available roles in the system. Use when you need system roles for access control.

### Get Users

**Slug:** `FORMBRICKS_GET_USERS`

Retrieves all users (people) from the Formbricks environment. This tool fetches all people/users registered in your Formbricks environment using the Management API. Returns a list of user objects with their IDs, attributes, and metadata. Use this when you need to list all users, check user attributes, or verify user existence in the environment. Note: The endpoint returns all users in one response; pagination is not supported.

### Get Webhook

**Slug:** `FORMBRICKS_GET_WEBHOOK`

Tool to retrieve details of a specific webhook. Use when you need to inspect a webhook's configuration by ID.

### List Action Classes

**Slug:** `FORMBRICKS_LIST_ACTION_CLASSES`

List all action classes in your Formbricks environment. Action classes define trackable user interactions (like clicks, page views, form submissions) that can trigger surveys or be used in targeting logic. Use this to discover what actions are available for survey triggers and audience segmentation.

### List Attribute Classes

**Slug:** `FORMBRICKS_LIST_ATTRIBUTE_CLASSES`

Tool to list all attribute classes. Use when you need to retrieve existing attribute classes for segmentation or management.

### List Client Environment

**Slug:** `FORMBRICKS_LIST_CLIENT_ENVIRONMENT`

Tool to retrieve environment state for Formbricks SDKs. Use when you need to fetch the complete environment configuration including surveys, action classes, and project settings. Note: This endpoint uses server-side caching with a 5-minute TTL, so changes may take up to 5 minutes to reflect.

### List Contact Attribute Keys

**Slug:** `FORMBRICKS_LIST_CONTACT_ATTRIBUTE_KEYS`

Tool to retrieve contact attribute keys from Formbricks. Use when you need to list all available contact attributes for segmentation, filtering, or contact management. Supports pagination, sorting, and date filtering.

### List Health

**Slug:** `FORMBRICKS_LIST_HEALTH`

Tool to check the health status of critical application dependencies including database and cache. Use when you need to verify that Formbricks services are operational.

### List Contact Attribute Keys

**Slug:** `FORMBRICKS_LIST_MANAGEMENT_CONTACT_ATTRIBUTE_KEYS`

Tool to get all contact attribute keys for the environment. Use this to discover what metadata fields are available for contacts (e.g., email, name, company, custom fields).

### List Management Contact Attributes

**Slug:** `FORMBRICKS_LIST_MANAGEMENT_CONTACT_ATTRIBUTES`

Tool to retrieve all contact attributes in the environment. Use when you need to view custom data stored for contacts across the organization.

### List Management Me

**Slug:** `FORMBRICKS_LIST_MANAGEMENT_ME`

Tool to retrieve authenticated user's environment and project information. Use when you need to get details about the environment associated with the current API key, including project details and setup status.

### List Management People

**Slug:** `FORMBRICKS_LIST_MANAGEMENT_PEOPLE`

Tool to retrieve all people (legacy term for contacts) in the environment. Use when you need a complete list of people with their attributes.

### List Management Responses

**Slug:** `FORMBRICKS_LIST_MANAGEMENT_RESPONSES`

Tool to fetch survey responses using the v1 management API. Use when you need to retrieve responses for a specific survey by passing the surveyId as a query parameter, or fetch all responses you have access to. Supports basic pagination with limit and skip parameters.

### List Management Webhooks

**Slug:** `FORMBRICKS_LIST_MANAGEMENT_WEBHOOKS`

Tool to get all webhooks for the environment. Use when you need to retrieve all webhook configurations for the current environment, check which surveys have webhooks enabled, or audit webhook settings.

### List Me

**Slug:** `FORMBRICKS_LIST_ME`

Tool to fetch projects and organizations associated with the API key. Use when you need to retrieve information about the API key's organization and accessible environments.

### List Organizations Project Teams

**Slug:** `FORMBRICKS_LIST_ORGANIZATIONS_PROJECT_TEAMS`

Tool to list all project-team assignments for an organization (v2 API only). Use when you need to retrieve which teams are assigned to which projects, along with their permission levels. Supports filtering by team, project, date range, and pagination.

### List Organization Teams

**Slug:** `FORMBRICKS_LIST_ORGANIZATION_TEAMS`

Tool to retrieve all teams in an organization (v2 API). Use when you need to list teams within a specific organization, with support for pagination, sorting, and date-based filtering. Returns team details including ID, name, timestamps, and organization ID.

### List Surveys

**Slug:** `FORMBRICKS_LIST_SURVEYS`

List all surveys in the environment. Use this tool to: - Retrieve all surveys with complete configuration details - Access survey questions, endings, triggers, and styling - View survey status and metadata (created/updated timestamps, creator) - Get display settings, targeting, and language configurations Returns complete survey objects including questions, endings, welcome cards, triggers, display options, styling, and all other configuration settings.

### List Webhooks

**Slug:** `FORMBRICKS_LIST_WEBHOOKS`

List all webhooks configured for the current environment. Returns webhooks with pagination support and optional filtering by survey IDs, date ranges, and sorting. Use this action to retrieve webhook configurations, check which surveys have webhooks enabled, or audit webhook settings.

### List All Webhooks (v1)

**Slug:** `FORMBRICKS_LIST_WEBHOOKS2`

Tool to retrieve all webhooks configured for the current environment. Use when you need a complete list of webhooks without pagination or filtering.

### Update Client People Attributes By User

**Slug:** `FORMBRICKS_UPDATE_CLIENT_PEOPLE_ATTRIBUTES_BY_USER`

Tool to update a person's attributes in Formbricks to keep them in sync with your app or when you want to set a custom attribute. Use when you need to update user attributes via the Client API endpoint.

### Update Contact Attributes

**Slug:** `FORMBRICKS_UPDATE_CONTACT_ATTRIBUTES`

Tool to update a contact's attributes in Formbricks. Use when you need to keep contact information in sync with your app or set custom attributes.

### Update Person

**Slug:** `FORMBRICKS_UPDATE_PERSON`

Updates attributes for an existing person/contact in Formbricks. Use this to modify or add custom attributes to track user information. The person must exist before updating (identified by userId).

### Update Survey Response

**Slug:** `FORMBRICKS_UPDATE_RESPONSE`

Tool to update an existing survey response. Use after identifying the response to modify.

### Update Survey

**Slug:** `FORMBRICKS_UPDATE_SURVEY`

Updates an existing Formbricks survey with new properties. Only include fields you want to modify - all fields except 'id' are optional. Common use cases: - Change survey status (e.g., from 'draft' to 'inProgress' to make it live) - Update survey name or closed message - Modify display settings (delay, frequency, percentage) - Add/update questions, welcome cards, or ending screens - Configure triggers and targeting Requires: Valid survey ID (get from List Surveys or Create Survey actions)

### Update Webhook

**Slug:** `FORMBRICKS_UPDATE_WEBHOOK`

Tool to update an existing webhook. Use when you need to apply modifications to a webhook's configuration.

### Upload Bulk Contacts

**Slug:** `FORMBRICKS_UPLOAD_BULK_CONTACTS`

Upload multiple contacts to a Formbricks environment in bulk (up to 250 per request). Each contact must include an 'email' attribute with a valid email address. Additional attributes like firstName, lastName, or custom fields can be included. The API returns status 200 for full success or 207 for partial success with details about skipped contacts. Use this tool when you need to efficiently import multiple contacts at once instead of creating them individually.

### Upload Private File

**Slug:** `FORMBRICKS_UPLOAD_PRIVATE_FILE`

Tool to obtain S3 presigned upload data for a private survey file. Use after confirming environmentId and surveyId.

### Upload Public File

**Slug:** `FORMBRICKS_UPLOAD_PUBLIC_FILE`

Retrieves S3 presigned upload URLs and form fields for uploading a public file to Formbricks storage. Returns signed URL and presigned fields needed to upload files directly to S3. Maximum file size: 5MB. Uploaded files are publicly accessible. Requires write permissions on the specified environment.
