---
description: Capacitor plugin to integrate Formbricks on Android, iOS, and Web. Supports form submissions, analytics, and user feedback.
title: Capacitor Formbricks Plugin for Android, iOS & Web - Capawesome
image: https://capawesome.io/docs/assets/images/social/sdks/capacitor/formbricks.png
---

<!doctype html> 

[Skip to content ](#capacitor-formbricks-plugin) 

[🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode. ](/blog/announcing-the-capacitor-vault-plugin/) 

* [ SDKs ](/docs/sdks/)
* Formbricks [ Formbricks ](/docs/sdks/capacitor/formbricks/)
* [ iOS ](#ios)
* [ Configuration ](#configuration)
* [ Usage ](#usage)
* [ API ](#api)
* [ FAQ ](#faq)
* [ Related Plugins ](#related-plugins)
* [ Newsletter ](#newsletter)
* [ Changelog ](#changelog)
* [ License ](#license)
* [ Geocoder ](/docs/sdks/capacitor/geocoder/)
* [ Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [ Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [ Gyroscope ](/docs/sdks/capacitor/gyroscope/)
* [ Haptics ](/docs/sdks/capacitor/haptics/)
* [ Home Indicator ](/docs/sdks/capacitor/home-indicator/)
* [ In-App Browser ](/docs/sdks/capacitor/in-app-browser/)
* [ Install Referrer ](/docs/sdks/capacitor/install-referrer/)
* [ Keep Awake ](/docs/sdks/capacitor/keep-awake/)
* [ libSQL ](/docs/sdks/capacitor/libsql/)
* [ Light Sensor ](/docs/sdks/capacitor/light-sensor/)
* [ Live Update ](/docs/sdks/capacitor/live-update/)
* [ Localization ](/docs/sdks/capacitor/localization/)
* [ Mail Composer ](/docs/sdks/capacitor/mail-composer/)
* [ Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [ Maps Launcher ](/docs/sdks/capacitor/maps-launcher/)
* [ Media Session ](/docs/sdks/capacitor/media-session/)
* [ ML Kit ](/docs/sdks/capacitor/mlkit/)
* [ Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [ Network ](/docs/sdks/capacitor/network/)
* [ NFC ](/docs/sdks/capacitor/nfc/)
* [ Node.js ](/docs/sdks/capacitor/nodejs/)
* [ OAuth ](/docs/sdks/capacitor/oauth/)
* [ Passkeys ](/docs/sdks/capacitor/passkeys/)
* [ Password Autofill ](/docs/sdks/capacitor/password-autofill/)
* [ PDF Generator ](/docs/sdks/capacitor/pdf-generator/)
* [ PDF Viewer ](/docs/sdks/capacitor/pdf-viewer/)
* [ Pedometer ](/docs/sdks/capacitor/pedometer/)
* [ Permissions ](/docs/sdks/capacitor/permissions/)
* [ Phone Dialer ](/docs/sdks/capacitor/phone-dialer/)
* [ Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [ Photo Manipulator ](/docs/sdks/capacitor/photo-manipulator/)
* [ PixLive ](/docs/sdks/capacitor/pixlive/)
* [ PostHog ](/docs/sdks/capacitor/posthog/)
* [ Printer ](/docs/sdks/capacitor/printer/)
* [ Privacy Screen ](/docs/sdks/capacitor/privacy-screen/)
* [ Proximity Sensor ](/docs/sdks/capacitor/proximity-sensor/)
* [ Purchases ](/docs/sdks/capacitor/purchases/)
* [ RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [ Root Detection ](/docs/sdks/capacitor/root-detection/)
* [ Screen Brightness ](/docs/sdks/capacitor/screen-brightness/)
* [ Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [ Screen Reader ](/docs/sdks/capacitor/screen-reader/)
* [ Screenshot ](/docs/sdks/capacitor/screenshot/)
* [ Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [ Settings Launcher ](/docs/sdks/capacitor/settings-launcher/)
* [ Shake ](/docs/sdks/capacitor/shake/)
* [ Silent Mode ](/docs/sdks/capacitor/silent-mode/)
* [ SIM ](/docs/sdks/capacitor/sim/)
* [ SMS Composer ](/docs/sdks/capacitor/sms-composer/)
* [ Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [ Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [ Share Target ](/docs/sdks/capacitor/share-target/)
* [ Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [ SQLite ](/docs/sdks/capacitor/sqlite/)
* [ Superwall ](/docs/sdks/capacitor/superwall/)
* [ System WebView ](/docs/sdks/capacitor/system-webview/)
* [ Text Interaction ](/docs/sdks/capacitor/text-interaction/)
* [ Text Zoom ](/docs/sdks/capacitor/text-zoom/)
* [ Thermal State ](/docs/sdks/capacitor/thermal-state/)
* [ Toast ](/docs/sdks/capacitor/toast/)
* [ Torch ](/docs/sdks/capacitor/torch/)
* [ Vault ](/docs/sdks/capacitor/vault/)
* [ Volume ](/docs/sdks/capacitor/volume/)
* [ Wallet ](/docs/sdks/capacitor/wallet/)
* [ Wifi ](/docs/sdks/capacitor/wifi/)
* [ Zip ](/docs/sdks/capacitor/zip/)
* [ Cordova ](/docs/sdks/cordova/)
* [ Cloud ](/docs/cloud/)
* [ Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [ Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [ FAQ ](/docs/cloud/live-updates/faq/)
* [ Native Builds ](/docs/cloud/native-builds/)
* [ Set Up Environments ](/docs/cloud/native-builds/environments/)
* [ Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [ Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [ Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [ Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [ Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [ Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [ Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [ Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [ Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [ Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [ Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [ Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [ FAQ ](/docs/cloud/native-builds/faq/)
* [ App Store Publishing ](/docs/cloud/app-store-publishing/)
* [ Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [ Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [ Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [ FAQ ](/docs/cloud/app-store-publishing/faq/)
* [ Automations ](/docs/cloud/automations/)
* [ Reference ](/docs/cloud/automations/reference/)
* [ Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [ FAQ ](/docs/cloud/automations/faq/)
* [ Assist ](/docs/cloud/assist/)
* [ CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [ Webhooks ](/docs/cloud/webhooks/)
* [ Integrations ](/docs/cloud/integrations/)
* Account
* [ Organization ](/docs/cloud/organizations/)
* [ Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [ Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [ Billing ](/docs/cloud/organizations/billing/)
* [ License Keys ](/docs/cloud/license-keys/)
* [ AI ](/docs/ai/)
* [ Insiders ](/docs/insiders/)
* [ Billing & Plans ](/docs/insiders/billing-and-plans/)
* [ FAQ ](/docs/insiders/faq/)
* [ License ](https://capawesome.io/legal/eula/)
* [ Support ](/docs/support/)
* [ Contributing ](/docs/contributing/)
* Contributing code
* [ Code of Conduct ](/docs/contributing/code-of-conduct/)
* [ Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [ Blog ](/blog/)
* Categories

* [ iOS ](#ios)
* [ Configuration ](#configuration)
* [ Usage ](#usage)
* [ API ](#api)
* [ FAQ ](#faq)
* [ Related Plugins ](#related-plugins)
* [ Newsletter ](#newsletter)
* [ Changelog ](#changelog)
* [ License ](#license)

# Capacitor Formbricks Plugin[¶](#capacitor-formbricks-plugin "Permanent link")

Unofficial Capacitor plugin for [Formbricks](https://formbricks.com/).[1](#fn:1)

[ ![Deliver Live Updates to your Capacitor app with Capawesome Cloud](../../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://cloud.capawesome.io/) 

## Use Cases[¶](#use-cases "Permanent link")

The Formbricks plugin is typically used to collect user feedback directly in your app, for example:

* **In-app surveys**: Track actions like a button press to trigger Formbricks surveys at the right moment.
* **Personalized feedback**: Identify users with a user ID to connect survey responses to specific users.
* **Targeted surveys**: Set user attributes such as plan or tier to show surveys only to specific user segments.
* **Localized surveys**: Set the survey language to show surveys in the user's language.

## Compatibility[¶](#compatibility "Permanent link")

| Plugin Version | Capacitor Version | Status         |
| -------------- | ----------------- | -------------- |
| 0.1.x          | \>=8.x.x          | Active support |

## Installation[¶](#installation "Permanent link")

You can use our **AI-Assisted Setup** to install the plugin. Add the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:

`[](#%5F%5Fcodelineno-0-1)npx skills add capawesome-team/skills --skill capacitor-plugins
`

Then use the following prompt:

`` [](#%5F%5Fcodelineno-1-1) Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-formbricks` plugin in my project.
 ``

If you prefer **Manual Setup**, install the plugin by running the following commands and follow the platform-specific instructions below:

`[](#%5F%5Fcodelineno-2-1)npm install @capawesome/capacitor-formbricks @formbricks/js
[](#%5F%5Fcodelineno-2-2)npx cap sync
`

### Android[¶](#android "Permanent link")

#### Variables[¶](#variables "Permanent link")

If needed, you can define the following project variable in your app's `variables.gradle` file to change the default version of the dependency:

* `$formbricksAndroidVersion` version of `com.formbricks:android` (default: `1.2.0`)

This can be useful if you encounter dependency conflicts with other plugins in your project.

#### Data Binding[¶](#data-binding "Permanent link")

The Formbricks Android SDK requires Data Binding to be enabled in your app's `build.gradle` file:

`[](#%5F%5Fcodelineno-3-1)android {
[](#%5F%5Fcodelineno-3-2)    buildFeatures {
[](#%5F%5Fcodelineno-3-3)        dataBinding true
[](#%5F%5Fcodelineno-3-4)    }
[](#%5F%5Fcodelineno-3-5)}
`

### iOS[¶](#ios "Permanent link")

#### Minimum Deployment Target[¶](#minimum-deployment-target "Permanent link")

If you are using **Swift Package Manager**, make sure that your iOS deployment target is set to at least `16.6` in your Xcode project settings (usually in `ios/App/App.xcodeproj`):

`[](#%5F%5Fcodelineno-4-1)-IPHONEOS_DEPLOYMENT_TARGET = 15.0
[](#%5F%5Fcodelineno-4-2)+IPHONEOS_DEPLOYMENT_TARGET = 16.6
`

If you are using **CocoaPods**, make sure that your iOS deployment target is set to at least `16.6` in your `Podfile`:

`[](#%5F%5Fcodelineno-5-1)platform :ios, '16.6'
`

## Configuration[¶](#configuration "Permanent link")

No configuration required for this plugin.

## Usage[¶](#usage "Permanent link")

The following examples show how to set up the SDK, identify the user, set user attributes, set the survey language, track an action, and log out the user.

### Set up the SDK[¶](#set-up-the-sdk "Permanent link")

Set up the Formbricks SDK with the URL of your Formbricks instance and the environment ID of your Formbricks project. This method must be called before any other method:

`[](#%5F%5Fcodelineno-6-1)import { Formbricks } from '@capawesome/capacitor-formbricks';
[](#%5F%5Fcodelineno-6-2)
[](#%5F%5Fcodelineno-6-3)const setup = async () => {
[](#%5F%5Fcodelineno-6-4)  await Formbricks.setup({
[](#%5F%5Fcodelineno-6-5)    appUrl: 'https://app.formbricks.com',
[](#%5F%5Fcodelineno-6-6)    environmentId: 'YOUR_ENVIRONMENT_ID',
[](#%5F%5Fcodelineno-6-7)  });
[](#%5F%5Fcodelineno-6-8)};
`

### Identify the user[¶](#identify-the-user "Permanent link")

Set the user ID of the current user to connect survey responses to that user:

`[](#%5F%5Fcodelineno-7-1)import { Formbricks } from '@capawesome/capacitor-formbricks';
[](#%5F%5Fcodelineno-7-2)
[](#%5F%5Fcodelineno-7-3)const setUserId = async () => {
[](#%5F%5Fcodelineno-7-4)  await Formbricks.setUserId({
[](#%5F%5Fcodelineno-7-5)    userId: 'user-123',
[](#%5F%5Fcodelineno-7-6)  });
[](#%5F%5Fcodelineno-7-7)};
`

### Set user attributes[¶](#set-user-attributes "Permanent link")

Set a single attribute with `setAttribute(...)` or multiple attributes at once with `setAttributes(...)`, for example to target surveys to specific user segments:

`[](#%5F%5Fcodelineno-8-1)import { Formbricks } from '@capawesome/capacitor-formbricks';
[](#%5F%5Fcodelineno-8-2)
[](#%5F%5Fcodelineno-8-3)const setAttribute = async () => {
[](#%5F%5Fcodelineno-8-4)  await Formbricks.setAttribute({
[](#%5F%5Fcodelineno-8-5)    key: 'plan',
[](#%5F%5Fcodelineno-8-6)    value: 'pro',
[](#%5F%5Fcodelineno-8-7)  });
[](#%5F%5Fcodelineno-8-8)};
[](#%5F%5Fcodelineno-8-9)
[](#%5F%5Fcodelineno-8-10)const setAttributes = async () => {
[](#%5F%5Fcodelineno-8-11)  await Formbricks.setAttributes({
[](#%5F%5Fcodelineno-8-12)    attributes: {
[](#%5F%5Fcodelineno-8-13)      plan: 'pro',
[](#%5F%5Fcodelineno-8-14)      tier: 'gold',
[](#%5F%5Fcodelineno-8-15)    },
[](#%5F%5Fcodelineno-8-16)  });
[](#%5F%5Fcodelineno-8-17)};
`

### Set the survey language[¶](#set-the-survey-language "Permanent link")

Set the language in which surveys are displayed:

`[](#%5F%5Fcodelineno-9-1)import { Formbricks } from '@capawesome/capacitor-formbricks';
[](#%5F%5Fcodelineno-9-2)
[](#%5F%5Fcodelineno-9-3)const setLanguage = async () => {
[](#%5F%5Fcodelineno-9-4)  await Formbricks.setLanguage({
[](#%5F%5Fcodelineno-9-5)    language: 'de',
[](#%5F%5Fcodelineno-9-6)  });
[](#%5F%5Fcodelineno-9-7)};
`

### Track an action[¶](#track-an-action "Permanent link")

Track an action that may trigger a survey:

`[](#%5F%5Fcodelineno-10-1)import { Formbricks } from '@capawesome/capacitor-formbricks';
[](#%5F%5Fcodelineno-10-2)
[](#%5F%5Fcodelineno-10-3)const track = async () => {
[](#%5F%5Fcodelineno-10-4)  await Formbricks.track({
[](#%5F%5Fcodelineno-10-5)    action: 'button_pressed',
[](#%5F%5Fcodelineno-10-6)  });
[](#%5F%5Fcodelineno-10-7)};
`

### Log out the user[¶](#log-out-the-user "Permanent link")

Log out the current user and clear all attributes:

`[](#%5F%5Fcodelineno-11-1)import { Formbricks } from '@capawesome/capacitor-formbricks';
[](#%5F%5Fcodelineno-11-2)
[](#%5F%5Fcodelineno-11-3)const logout = async () => {
[](#%5F%5Fcodelineno-11-4)  await Formbricks.logout();
[](#%5F%5Fcodelineno-11-5)};
`

## API[¶](#api "Permanent link")

* [logout()](#logout)
* [setAttribute(...)](#setattribute)
* [setAttributes(...)](#setattributes)
* [setLanguage(...)](#setlanguage)
* [setUserId(...)](#setuserid)
* [setup(...)](#setup)
* [track(...)](#track)
* [Interfaces](#interfaces)

### logout()[¶](#logout "Permanent link")

`[](#%5F%5Fcodelineno-12-1)logout() => Promise<void>
`

Log out the current user and clear all attributes.

**Since:** 0.1.0

---

### setAttribute(...)[¶](#setattribute "Permanent link")

`[](#%5F%5Fcodelineno-13-1)setAttribute(options: SetAttributeOptions) => Promise<void>
`

Set a single user attribute.

| Param       | Type                                        |
| ----------- | ------------------------------------------- |
| **options** | [SetAttributeOptions](#setattributeoptions) |

**Since:** 0.1.0

---

### setAttributes(...)[¶](#setattributes "Permanent link")

`[](#%5F%5Fcodelineno-14-1)setAttributes(options: SetAttributesOptions) => Promise<void>
`

Set multiple user attributes at once.

| Param       | Type                                          |
| ----------- | --------------------------------------------- |
| **options** | [SetAttributesOptions](#setattributesoptions) |

**Since:** 0.1.0

---

### setLanguage(...)[¶](#setlanguage "Permanent link")

`[](#%5F%5Fcodelineno-15-1)setLanguage(options: SetLanguageOptions) => Promise<void>
`

Set the survey language.

| Param       | Type                                      |
| ----------- | ----------------------------------------- |
| **options** | [SetLanguageOptions](#setlanguageoptions) |

**Since:** 0.1.0

---

### setUserId(...)[¶](#setuserid "Permanent link")

`[](#%5F%5Fcodelineno-16-1)setUserId(options: SetUserIdOptions) => Promise<void>
`

Set the user ID of the current user.

| Param       | Type                                  |
| ----------- | ------------------------------------- |
| **options** | [SetUserIdOptions](#setuseridoptions) |

**Since:** 0.1.0

---

### setup(...)[¶](#setup "Permanent link")

`[](#%5F%5Fcodelineno-17-1)setup(options: SetupOptions) => Promise<void>
`

Setup the Formbricks SDK with the provided options.

**Attention**: This method must be called before any other method.

| Param       | Type                          |
| ----------- | ----------------------------- |
| **options** | [SetupOptions](#setupoptions) |

**Since:** 0.1.0

---

### track(...)[¶](#track "Permanent link")

`[](#%5F%5Fcodelineno-18-1)track(options: TrackOptions) => Promise<void>
`

Track an action that may trigger a survey.

| Param       | Type                          |
| ----------- | ----------------------------- |
| **options** | [TrackOptions](#trackoptions) |

**Since:** 0.1.0

---

### Interfaces[¶](#interfaces "Permanent link")

#### SetAttributeOptions[¶](#setattributeoptions "Permanent link")

| Prop      | Type   | Description                 | Since |
| --------- | ------ | --------------------------- | ----- |
| **key**   | string | The name of the attribute.  | 0.1.0 |
| **value** | string | The value of the attribute. | 0.1.0 |

#### SetAttributesOptions[¶](#setattributesoptions "Permanent link")

| Prop           | Type                         | Description            | Since |
| -------------- | ---------------------------- | ---------------------- | ----- |
| **attributes** | { \[key: string\]: string; } | The attributes to set. | 0.1.0 |

#### SetLanguageOptions[¶](#setlanguageoptions "Permanent link")

| Prop         | Type   | Description                                         | Since |
| ------------ | ------ | --------------------------------------------------- | ----- |
| **language** | string | The language code of the survey language (e.g. de). | 0.1.0 |

#### SetUserIdOptions[¶](#setuseridoptions "Permanent link")

| Prop       | Type   | Description                      | Since |
| ---------- | ------ | -------------------------------- | ----- |
| **userId** | string | The user ID of the current user. | 0.1.0 |

#### SetupOptions[¶](#setupoptions "Permanent link")

| Prop              | Type   | Description                                    | Since |
| ----------------- | ------ | ---------------------------------------------- | ----- |
| **appUrl**        | string | The URL of your Formbricks instance.           | 0.1.0 |
| **environmentId** | string | The environment ID of your Formbricks project. | 0.1.0 |

#### TrackOptions[¶](#trackoptions "Permanent link")

| Prop       | Type   | Description                      | Since |
| ---------- | ------ | -------------------------------- | ----- |
| **action** | string | The name of the action to track. | 0.1.0 |

## FAQ[¶](#faq "Permanent link")

### Can I use this plugin with a self-hosted Formbricks instance?[¶](#can-i-use-this-plugin-with-a-self-hosted-formbricks-instance "Permanent link")

Yes, the `appUrl` option of the `setup(...)` method takes the URL of your Formbricks instance. Simply pass the URL of your self-hosted instance instead of `https://app.formbricks.com`.

### Why is no survey shown after calling `track`?[¶](#why-is-no-survey-shown-after-calling-track "Permanent link")

Make sure that `setup(...)` has been called first, since it must be called before any other method. Also note that `track(...)` only tracks an action that _may_ trigger a survey. Whether a survey is actually shown depends on how the survey is configured in your Formbricks project.

### Why does my iOS build fail after installing the plugin?[¶](#why-does-my-ios-build-fail-after-installing-the-plugin "Permanent link")

The Formbricks iOS SDK requires an iOS deployment target of at least `16.6`. Make sure that your deployment target is set accordingly in your Xcode project settings or `Podfile`, as described in the [Installation](#installation) section.

### Why does my Android build fail after installing the plugin?[¶](#why-does-my-android-build-fail-after-installing-the-plugin "Permanent link")

The Formbricks Android SDK requires Data Binding to be enabled in your app's `build.gradle` file. See the [Installation](#installation) section for the required configuration.

### Can I use this plugin with Ionic, React, Vue or Angular?[¶](#can-i-use-this-plugin-with-ionic-react-vue-or-angular "Permanent link")

Yes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects.

## Related Plugins[¶](#related-plugins "Permanent link")

* [PostHog](https://capawesome.io/docs/sdks/capacitor/posthog/): Unofficial Capacitor plugin for PostHog.
* [Grafana Faro](https://capawesome.io/docs/sdks/capacitor/grafana-faro/): Unofficial Capacitor plugin for Grafana Faro.
* [App Review](https://capawesome.io/docs/sdks/capacitor/app-review/): Let users submit app store reviews and ratings.

## Newsletter[¶](#newsletter "Permanent link")

Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).

## Changelog[¶](#changelog "Permanent link")

See [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/formbricks/CHANGELOG.md).

## License[¶](#license "Permanent link")

See [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/formbricks/LICENSE).

---

1. This project is not affiliated with, endorsed by, sponsored by, or approved by Formbricks GmbH or any of their affiliates or subsidiaries. [↩](#fnref:1 "Jump back to footnote 1 in the text")

July 8, 2026 

Back to top

```json
{"@context": "https://schema.org", "@graph": [{"@type": "TechArticle", "@id": "https://capawesome.io/docs/sdks/capacitor/formbricks/#article", "headline": "Capacitor Formbricks Plugin for Android, iOS & Web", "name": "Capacitor Formbricks Plugin for Android, iOS & Web", "description": "Capacitor plugin to integrate Formbricks on Android, iOS, and Web. Supports form submissions, analytics, and user feedback.", "inLanguage": "en", "url": "https://capawesome.io/docs/sdks/capacitor/formbricks/", "mainEntityOfPage": "https://capawesome.io/docs/sdks/capacitor/formbricks/", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "about": {"@id": "https://capawesome.io/docs/sdks/capacitor/formbricks/#software"}}, {"@type": "SoftwareSourceCode", "@id": "https://capawesome.io/docs/sdks/capacitor/formbricks/#software", "name": "Capacitor Formbricks Plugin for Android, iOS & Web", "description": "Capacitor plugin to integrate Formbricks on Android, iOS, and Web. Supports form submissions, analytics, and user feedback.", "url": "https://capawesome.io/docs/sdks/capacitor/formbricks/", "programmingLanguage": "TypeScript", "runtimePlatform": "Capacitor", "codeRepository": "https://github.com/capawesome-team", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}}]}
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Can I use this plugin with a self-hosted Formbricks instance?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, the appUrl option of the setup(...) method takes the URL of your Formbricks instance. Simply pass the URL of your self-hosted instance instead of https://app.formbricks.com."}}, {"@type": "Question", "name": "Why is no survey shown after calling track?", "acceptedAnswer": {"@type": "Answer", "text": "Make sure that setup(...) has been called first, since it must be called before any other method. Also note that track(...) only tracks an action that may trigger a survey. Whether a survey is actually shown depends on how the survey is configured in your Formbricks project."}}, {"@type": "Question", "name": "Why does my iOS build fail after installing the plugin?", "acceptedAnswer": {"@type": "Answer", "text": "The Formbricks iOS SDK requires an iOS deployment target of at least 16.6. Make sure that your deployment target is set accordingly in your Xcode project settings or Podfile, as described in the Installation section."}}, {"@type": "Question", "name": "Why does my Android build fail after installing the plugin?", "acceptedAnswer": {"@type": "Answer", "text": "The Formbricks Android SDK requires Data Binding to be enabled in your app's build.gradle file. See the Installation section for the required configuration."}}, {"@type": "Question", "name": "Can I use this plugin with Ionic, React, Vue or Angular?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, the plugin is framework-agnostic. It works in any Capacitor app regardless of the web framework, including Ionic with Angular, React, or Vue, as well as plain JavaScript projects."}}], "url": "https://capawesome.io/docs/sdks/capacitor/formbricks/"}
```
