# 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
- **Composio Managed App Available?** N/A
- **Tools:** 46
- **Triggers:** 0
- **Slug:** `FORMBRICKS`
- **Version:** 20260319_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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Action Class

**Slug:** `FORMBRICKS_CREATE_ACTION_CLASS`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Unique key identifier for the Action Class |
| `name` | string | Yes | Name of the Action Class |
| `type` | string ("code" | "noCode") | Yes | Type of the Action Class, either 'code' or 'noCode' |
| `description` | string | No | Optional description of the Action Class |
| `noCodeConfig` | object | No | Optional configuration for no-code action type |
| `environmentId` | string | Yes | Environment ID where this action class belongs |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Unique identifier key for this attribute (e.g., 'customer_tier', 'plan_type'). Must be unique within the environment. |
| `name` | string | No | Human-readable display name for the attribute. If not provided, defaults to the key. |
| `type` | string | No | Type of attribute class. Must be 'custom' for user-defined attributes. |
| `isUnique` | boolean | No | Whether attribute values must be unique across all contacts (e.g., true for email, false for plan tier) |
| `description` | string | No | Optional description providing additional context about this attribute's purpose and usage |
| `environmentId` | string | Yes | Environment ID where this attribute class will be created. Get from GET_ME action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | Unique identifier for the user. This serves as the primary identifier for the user within the environment. |
| `attributes` | object | No | Custom user attributes for targeting and personalization. These can include any key-value pairs that help identify or segment the user (e.g., plan type, source, user preferences). All values should be strings. Attributes are optional but useful for targeting surveys. |
| `environmentId` | string | Yes | The environment ID where the user will be created or identified. Use GET_ME action to retrieve available environment IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `attributes` | object | Yes | Key-value pairs of contact attributes. The 'email' key is required and serves as the unique identifier. All attribute keys must already exist in the environment. Common attributes include: email (required), firstName, lastName, userId. Only string values are supported. |
| `environmentId` | string | Yes | The environment ID where the contact will be created. Use GET_ME action to retrieve available environment IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | No | Optional user ID to associate this display with a specific user for tracking purposes. |
| `surveyId` | string | Yes | The survey ID to track as displayed. Must be a valid cuid2 format identifier. |
| `environmentId` | string | Yes | The environment ID where the survey exists. Must be a valid cuid2 format identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Survey Response

**Slug:** `FORMBRICKS_CREATE_RESPONSE`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ttc` | object | No | (Optional) Time-to-complete metrics |
| `data` | object | Yes | The answers/data for the survey response |
| `meta` | object | No | (Optional) Metadata about the response, e.g., source, url, userAgent, country |
| `endingId` | string | No | (Optional) ID of the ending reached |
| `finished` | boolean | Yes | Whether the response is finished |
| `language` | string | No | (Optional) Language code of the response, e.g., 'en' |
| `surveyId` | string | Yes | The ID of the survey for which to create the response |
| `createdAt` | string | No | (Optional) Creation timestamp in ISO 8601 format |
| `displayId` | string | No | (Optional) Display ID for the response |
| `updatedAt` | string | No | (Optional) Last update timestamp in ISO 8601 format |
| `variables` | object | No | (Optional) Custom variables associated with the response |
| `singleUseId` | string | No | (Optional) Single-use ID for the response |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Survey

**Slug:** `FORMBRICKS_CREATE_SURVEY`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Survey name |
| `type` | string ("link" | "app") | Yes | Survey display type |
| `status` | string ("draft" | "inProgress" | "paused" | "completed") | Yes | Survey status |
| `questions` | array | Yes | List of questions in the survey |
| `environmentId` | string | Yes | Environment ID to create the survey in |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Target URL for the webhook; must be a valid URI that will receive webhook calls. |
| `name` | string | No | Optional name of the webhook for identification purposes. |
| `triggers` | array | Yes | List of events that will trigger the webhook; allowed values: responseCreated, responseUpdated, responseFinished |
| `surveyIds` | array | No | Optional list of survey IDs to filter webhook calls. If empty or not provided, webhook listens to all surveys in the environment. |
| `environmentId` | string | Yes | ID of the environment where the webhook will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | ID of the attribute class to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `personId` | string | Yes | ID of the person to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the response to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the survey to delete. Must be a valid survey ID from your Formbricks environment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `team_id` | string | Yes | ID of the team to delete (CUID2 format, typically starts with 'cm'). |
| `organization_id` | string | Yes | ID of the organization (CUID2 format, typically starts with 'cm'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the webhook to delete. Must be a valid CUID2 format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `attributeClassId` | string | Yes | Unique identifier of the attribute class to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | The user ID (not contactId) to retrieve state for. This is the userId field, not the internal contactId. |
| `environmentId` | string | Yes | The environment ID where the contact exists. Use GET_ME action to retrieve available environment IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contactAttributeKeyId` | string | Yes | The unique identifier of the contact attribute key to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contactId` | string | Yes | The ID of the contact to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `personId` | string | Yes | The internal ID of the person to retrieve. This ID can be obtained from the Get All Persons endpoint. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of items to skip for pagination |
| `limit` | integer | No | Number of items to return (1-250) |
| `order` | string ("asc" | "desc") | No | Sort order: 'asc' (ascending) or 'desc' (descending) |
| `sortBy` | string ("createdAt" | "updatedAt") | No | Field to sort by: 'createdAt' or 'updatedAt' |
| `endDate` | string | No | ISO 8601 end date to filter responses (inclusive) |
| `surveyId` | string | No | Filter responses by survey ID (must be valid cuid2 format) |
| `contactId` | string | No | Filter responses by contact ID |
| `startDate` | string | No | ISO 8601 start date to filter responses (inclusive) |
| `filterDateField` | string ("createdAt" | "updatedAt") | No | Date field to filter on when using startDate/endDate: 'createdAt' or 'updatedAt' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Roles

**Slug:** `FORMBRICKS_GET_ROLES`

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

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the webhook to retrieve (CUID2 format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `environmentId` | string | Yes | The ID of the environment to retrieve state for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of items to skip for pagination (default: 0) |
| `limit` | integer | No | Number of items to return (default: 50) |
| `order` | string ("asc" | "desc") | No | Enum for sort order values |
| `sortBy` | string ("createdAt" | "updatedAt") | No | Enum for sortBy field values |
| `endDate` | string | No | End date for filtering (ISO 8601 format) |
| `startDate` | string | No | Start date for filtering (ISO 8601 format) |
| `environmentId` | string | No | Filter by specific environment ID |
| `filterDateField` | string ("createdAt" | "updatedAt") | No | Enum for filterDateField values |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of project-team assignments to skip for pagination. Defaults to 0. |
| `limit` | integer | No | Number of project-team assignments to return. Defaults to 50. |
| `order` | string ("asc" | "desc") | No | Sort order options. |
| `sortBy` | string ("createdAt" | "updatedAt") | No | Sort field options for project teams list. |
| `teamId` | string | No | Filter by specific team ID. |
| `endDate` | string | No | End date for filtering project teams (ISO 8601 format). |
| `projectId` | string | No | Filter by specific project ID. |
| `startDate` | string | No | Start date for filtering project teams (ISO 8601 format). |
| `organizationId` | string | Yes | The ID of the organization to retrieve project teams from. |
| `filterDateField` | string ("createdAt" | "updatedAt") | No | Date field options for filtering. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of teams to skip before starting to return results (pagination offset). Use with 'limit' to implement pagination. Defaults to 0. |
| `limit` | integer | No | Maximum number of teams to return per page (pagination). Defaults to 50 if not specified. |
| `order` | string ("asc" | "desc") | No | Enum for sort order options. |
| `sortBy` | string ("createdAt" | "updatedAt") | No | Enum for sortBy field options. |
| `endDate` | string | No | Filter teams created or updated on or before this date (ISO 8601 format). Use with 'startDate' and 'filterDateField' to define a date range. |
| `startDate` | string | No | Filter teams created or updated on or after this date (ISO 8601 format). Use with 'endDate' and 'filterDateField' to define a date range. |
| `organizationId` | string | Yes | ID of the organization to list teams from (CUID2 format, typically starts with 'cm'). |
| `filterDateField` | string ("createdAt" | "updatedAt") | No | Enum for date field filtering options. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skip` | integer | No | Number of webhooks to skip before starting to return results (pagination offset). Use with 'limit' to implement pagination. Defaults to 0. |
| `limit` | integer | No | Maximum number of webhooks to return per page (1–250). Defaults to 50 if not specified. Use with 'skip' for pagination. |
| `order` | string ("asc" | "desc") | No | Sort order: 'asc' for ascending (oldest/earliest first) or 'desc' for descending (newest/latest first). Must be used with 'sortBy' parameter. |
| `sortBy` | string ("createdAt" | "updatedAt") | No | Sort webhooks by creation date ('createdAt') or last modification date ('updatedAt'). Must be used with 'order' parameter. |
| `endDate` | string | No | Filter webhooks created or updated on or before this date (ISO 8601 format). Use with 'startDate' to define a date range. |
| `startDate` | string | No | Filter webhooks created or updated on or after this date (ISO 8601 format). Use with 'endDate' to define a date range. |
| `surveyIds` | array | No | Filter to only return webhooks associated with these specific survey IDs. Provide a list of survey ID strings to filter results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userId` | string | Yes | The contact's user ID to update attributes for. |
| `attributes` | object | Yes | Key-value pairs of contact attributes to update. Common attributes include: firstName, lastName, email, role, company. You can also set custom attributes. All attribute keys must already exist in the environment. All values must be strings. |
| `environmentId` | string | Yes | The environment ID where the contact exists. Use GET_ME action to retrieve available environment IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Survey Response

**Slug:** `FORMBRICKS_UPDATE_RESPONSE`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the response to update |
| `ttc` | object | No | (Optional) Time-to-complete metrics |
| `data` | object | Yes | The answers/data for the survey response |
| `meta` | object | No | (Optional) Metadata about the response, e.g., source, url, userAgent, country |
| `endingId` | string | No | (Optional) ID of the ending reached |
| `finished` | boolean | Yes | Whether the response is finished |
| `language` | string | No | (Optional) Language code of the response, e.g., 'en' |
| `surveyId` | string | Yes | The ID of the survey for which to update the response |
| `contactId` | string | No | (Optional) Contact ID |
| `createdAt` | string | No | (Optional) Creation timestamp in ISO 8601 format |
| `displayId` | string | No | (Optional) Display ID for the response |
| `updatedAt` | string | No | (Optional) Last update timestamp in ISO 8601 format |
| `variables` | object | No | (Optional) Custom variables associated with the response |
| `singleUseId` | string | No | (Optional) Single-use ID for the response |
| `contactAttributes` | object | No | (Optional) Contact attributes snapshot |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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)

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the survey to update |
| `name` | string | No | New name for the survey |
| `delay` | number | No | Display delay in seconds before showing survey |
| `status` | string ("draft" | "inProgress" | "paused" | "completed") | No | Survey status: 'draft' (not yet live), 'inProgress' (active and visible to users), 'paused' (temporarily stopped), or 'completed' (finished) |
| `endings` | array | No | List of ending screen configurations with properties: 'type' (str), 'headline' (dict), 'subheader' (dict), 'buttonLabel' (dict), 'buttonLink' (str) |
| `triggers` | array | No | List of trigger events that determine when the survey appears (e.g., page URL, code action, exit intent) |
| `languages` | array | No | List of ISO 639-1 language codes enabled for the survey |
| `questions` | array | No | List of survey questions, each with: 'id' (str), 'type' (openText/multipleChoiceSingle/multipleChoiceMulti/etc), 'required' (bool), 'headline' (dict with language keys), and type-specific properties |
| `redirectUrl` | string | No | URL to redirect users to after completing the survey |
| `welcomeCard` | object | No | Welcome screen configuration with properties: 'enabled' (bool), 'headline' (dict), 'html' (dict), 'fileUrl' (str), 'showResponseCount' (bool), 'timeToFinish' (int) |
| `displayLimit` | integer | No | Maximum number of times survey can be displayed to a user |
| `hiddenFields` | object | No | Hidden fields configuration with 'enabled' (bool) and 'fieldIds' (list of field IDs to hide) |
| `displayOption` | string ("displayOnce" | "displayMultiple" | "respondMultiple") | No | Display frequency: 'displayOnce' (show once per user), 'displayMultiple' (show multiple times), or 'respondMultiple' (allow multiple responses) |
| `displayPercentage` | number | No | Percentage of users who will see the survey (0-100) |
| `showLanguageSwitch` | boolean | No | Whether to display a language switcher in the survey UI |
| `surveyClosedMessage` | string | No | Custom message displayed when the survey is no longer accepting responses |
| `isVerifyEmailEnabled` | boolean | No | Whether to require email verification before survey submission |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook

**Slug:** `FORMBRICKS_UPDATE_WEBHOOK`

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

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the webhook to update. |
| `url` | string | Yes | Target URL for the webhook; must be a valid URI. |
| `name` | string | Yes | The name of the webhook. Set to null to clear the existing name. |
| `source` | string ("user" | "zapier" | "make" | "n8n") | Yes | Source of the webhook; one of 'user', 'zapier', 'make', 'n8n'. |
| `triggers` | array | Yes | List of events that will trigger the webhook; allowed values: responseCreated, responseUpdated, responseFinished. Must include at least one entry. |
| `surveyIds` | array | Yes | List of survey IDs the webhook applies to. |
| `environmentId` | string | Yes | The ID of the environment associated with the webhook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contacts` | array | Yes | List of contact objects to upload. Minimum 1, maximum 250 contacts per request. Each contact must have a valid email attribute. |
| `environmentId` | string | Yes | The Formbricks environment ID where contacts will be created. Obtain this from the Get Me action or your Formbricks dashboard. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileName` | string | Yes | Name of the file to upload (including extension), e.g., 'report.pdf'. |
| `fileType` | string | Yes | MIME type of the file, e.g., 'application/pdf'. |
| `surveyId` | string | Yes | The ID of the survey associated with the file. |
| `environmentId` | string | Yes | Environment ID of the Formbricks instance. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### 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.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileName` | string | Yes | Name of the file to be uploaded (including extension) |
| `fileType` | string | Yes | MIME type of the file (e.g., 'image/png') |
| `environmentId` | string | Yes | The environment ID where the file will be uploaded |
| `allowedFileExtensions` | array | No | Optional list of allowed file extensions (without dot) to restrict upload types. If omitted, all default extensions are allowed: heic, png, jpeg, jpg, webp, ico, pdf, eml, doc, docx, xls, xlsx, ppt, pptx, txt, csv, mp4, mov, avi, mkv, webm, mp3, zip, rar, 7z, tar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
