diff --git a/apps/formbricks-com-old/pages/docs/actions/code/index.mdx b/apps/formbricks-com-old/pages/docs/actions/code/index.mdx
deleted file mode 100644
index 78166145d2..0000000000
--- a/apps/formbricks-com-old/pages/docs/actions/code/index.mdx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "Code Actions",
- description:
- "Integrate code actions in Formbricks using formbricks.track() to trigger surveys based on user actions, like button clicks, for precise insights. All open-source.",
-};
-
-Actions can also be set in the code base. You can fire an action using `formbricks.track()`
-
-```javascript
-formbricks.track("Action Name");
-```
-
-Here is an example of how to fire an action when a user clicks a button:
-
-```javascript
-const handleClick = () => {
- formbricks.track("Button Clicked");
-};
-
-return ;
-```
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/actions/no-code/index.mdx b/apps/formbricks-com-old/pages/docs/actions/no-code/index.mdx
deleted file mode 100644
index 5aad65cd59..0000000000
--- a/apps/formbricks-com-old/pages/docs/actions/no-code/index.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "No-Code Actions",
- description:
- "Utilize Formbricks' No-Code Actions like Page URL, innerText, and CSS Selector for easy survey triggers and enhanced user insights.",
-};
-
-No-Code actions can be set up within Formbricks with just a few clicks. There are three types of No-Code actions:
-
-## Page URL Action
-
-The page URL action is triggered, when a user visits a specific page in your application. There are several match conditions:
-
-- `exactMatch`: The URL should exactly match the provided string.
-- `contains`: The URL should contain the specified string as a substring.
-- `startsWith`: The URL should start with the specified string.
-- `endsWith`: The URL should end with the specified string.
-- `notMatch`: The URL should not match the specified condition.
-- `notContains`: The URL should not contain the specified string as a substring.
-
-## innerText Action
-
-The innerText action checks if the `innerText` of a clicked HTML element matches a specific text, e.g. the label of a button. Display a survey on any button click!
-
-## CSS Selector Action
-
-The CSS Selector action checks if the provided CSS selector matches the selector of a clicked HTML element. The CSS selector can be a class, id or any other CSS selector within your website. Display a survey on any element click!
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/actions/why/index.mdx b/apps/formbricks-com-old/pages/docs/actions/why/index.mdx
deleted file mode 100644
index 580afca3a3..0000000000
--- a/apps/formbricks-com-old/pages/docs/actions/why/index.mdx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "What are actions and why are they useful?",
- description:
- "Actions in Formbricks enable targeted survey displays during specific user journey moments. Enhance user segmentation by tracking actions for granular surveying.",
-};
-
-You want to understand what your users think and feel during specific moments in the user journey. To be able to ask at exactly the right point in time, you need actions.
-
-## What are actions?
-
-Actions are a little notification sent from your application to Formbricks. You decide which actions are sent either in your [Code](/docs/actions/code) or by setting up a [No-Code](/docs/actions/no-code) action within Formbricks.
-
-## How do actions work?
-
-When a predefined action happens in your app, the Formbricks widget notices. This action can then trigger a survey to be shown to the user and is stored in the database.
-
-## Why are actions useful?
-
-Actions help you to display your surveys at the right time. Later on, you will be able to segment your users based on the actions they have triggered in the past. This way, you can create much more granular user segments, e.g. only target users that already have used a specific feature.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/api/api-key-setup/add-api-key.png b/apps/formbricks-com-old/pages/docs/api/api-key-setup/add-api-key.png
deleted file mode 100644
index 8ea4a144a1..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/api/api-key-setup/add-api-key.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/api/api-key-setup/api-key-secret.png b/apps/formbricks-com-old/pages/docs/api/api-key-setup/api-key-secret.png
deleted file mode 100644
index c30d79529a..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/api/api-key-setup/api-key-secret.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/api/api-key-setup/index.mdx b/apps/formbricks-com-old/pages/docs/api/api-key-setup/index.mdx
deleted file mode 100644
index e19805ccf6..0000000000
--- a/apps/formbricks-com-old/pages/docs/api/api-key-setup/index.mdx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import AddApiKey from "./add-api-key.png";
-import ApiKeySecret from "./api-key-secret.png";
-
-export const meta = {
- title: "API Key Setup",
- description:
- "Generate, store, and delete personal API keys for secure Formbricks access. Ensure safekeeping to prevent unauthorized account control.",
-};
-
-## Auth: Personal API key
-
-The API requests are authorized with a personal API key. This API key gives you the same rights as if you were logged in at formbricks.com - **don't share it around!**
-
-### How to generate an API key
-
-1. Go to your settings on [app.formbricks.com](https://app.formbricks.com).
-2. Go to page “API keys”
-
-3. Create a key for the development or production environment.
-4. Copy the key immediately. You won’t be able to see it again.
-
-
-
- Anyone who has your API key has full control over your account. For security reasons, you cannot view the
- API key again.
-
-
-### Delete a personal API key
-
-1. Go to settings on [app.formbricks.com](https://app.formbricks.com/).
-2. Go to page “API keys”.
-3. Find the key you wish to revoke and select “Delete”.
-4. Your API key will stop working immediately.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/api/overview/index.mdx b/apps/formbricks-com-old/pages/docs/api/overview/index.mdx
deleted file mode 100644
index a42df0b989..0000000000
--- a/apps/formbricks-com-old/pages/docs/api/overview/index.mdx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API Overview",
- description:
- "Explore Formbricks' APIs: Public Client API for client-side tasks, and User API for account management with secure API Key authentication.",
-};
-
-Formbricks offers two types of APIs: the Public Client API and the User API. Each API serves a different purpose, has different authentication requirements, and provides access to different data and settings.
-
-## Public Client API
-
-The Public Client API is designed for the JavaScript SDK and does not require authentication. It's primarily used for creating persons, sessions, and responses within the Formbricks platform. This API is ideal for client-side interactions, as it doesn't expose sensitive information.
-
-## User API
-
-The User API provides access to all data and settings that are visible in the Formbricks App. This API requires a personal API Key for authentication, which can be generated in the Settings section of the Formbricks App. With the User API, you can manage your Formbricks account programmatically, accessing and modifying data and settings as needed.
-
-**Auth:** Personal API Key
-
-API requests made to the User API are authorized using a personal API key. This key grants the same rights and access as if you were logged in at formbricks.com. It's essential to keep your API key secure and not share it with others.
-
-To generate, store, or delete an API key, follow the instructions provided on the following page [API Key](/docs/api/api-key-setup).
-
-By understanding the differences between these two APIs, you can choose the appropriate one for your needs, ensuring a secure and efficient integration with the Formbricks platform.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/attributes/custom-attributes/index.mdx b/apps/formbricks-com-old/pages/docs/attributes/custom-attributes/index.mdx
deleted file mode 100644
index 4605b0d876..0000000000
--- a/apps/formbricks-com-old/pages/docs/attributes/custom-attributes/index.mdx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "Setting attributes with code",
- description:
- "Set attributes in code using setAttribute function. Enhance user segmentation, target surveys effectively, and gather valuable insights for better decisions. All open-source.",
-};
-
-One way to send attributes to Formbricks is in your code. In Formbricks, there are two special attributes for [user identification](/docs/attributes/identify-users)(user ID & email) and custom attributes. An example:
-
-### Setting Custom User Attributes
-
-You can use the setAttribute function to set any custom attribute for the user (e.g. name, plan, etc.):
-
-```javascript
-formbricks.setAttribute("Plan", "Pro");
-```
-
-Generally speaking, the setAttribute function works like this:
-
-```javascript
-formbricks.setAttribute("attribute_key", "attribute_value");
-```
-
-Where `attributeName` is the name of the attribute you want to set, and `attributeValue` is the value of the attribute you want to set.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/attributes/identify-users/index.mdx b/apps/formbricks-com-old/pages/docs/attributes/identify-users/index.mdx
deleted file mode 100644
index 79d20aec3d..0000000000
--- a/apps/formbricks-com-old/pages/docs/attributes/identify-users/index.mdx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "Identifying Users",
- description:
- "Identify users with Formbricks by setting User ID, email, and custom attributes. Enhance survey targeting and recontacting while maintaining user privacy.",
-};
-
-At Formbricks, we value user privacy. By default, Formbricks doesn't collect or store any personal information from your users. However, we understand that it can be helpful for you to know which user submitted the feedback and also functionality like recontacting users and controlling the waiting period between surveys requires identifying the users. That's why we provide a way for you to share existing user data from your app, so you can view it in our dashboard.
-
-Once the Formbricks widget is loaded on your web app, our SDK exposes methods for identifying user attributes. Let's set it up!
-
-## Setting User ID
-
-You can use the `setUserId` function to identify a user with any string. It's best to use the default identifier you use in your app (e.g. unique id from database) but you can also anonymize these as long as they are unique for every user. This function can be called multiple times with the same value safely and stores the identifier in local storage. We recommend you set the User ID whenever the user logs in to your website, as well as after the installation snippet (if the user is already logged in).
-
-```javascript
-formbricks.setUserId("USER_ID");
-```
-
-## Setting User Email
-
-You can use the setEmail function to set the user's email:
-
-```javascript
-formbricks.setEmail("user@example.com");
-```
-
-### Setting Custom User Attributes
-
-You can use the setAttribute function to set any custom attribute for the user (e.g. name, plan, etc.):
-
-```javascript
-formbricks.setAttribute("attribute_key", "attribute_value");
-```
-
-### Logging Out Users
-
-When a user logs out of your webpage, make sure to log them out of Formbricks as well. This will prevent new activity from being associated with an incorrect user. Use the logout function:
-
-```javascript
-formbricks.logout();
-```
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/attributes/why/index.mdx b/apps/formbricks-com-old/pages/docs/attributes/why/index.mdx
deleted file mode 100644
index 4b09cbb01c..0000000000
--- a/apps/formbricks-com-old/pages/docs/attributes/why/index.mdx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "What are attributes and why are they useful?",
- description:
- "How to use attributes for user segmentation, enhancing survey targeting & results. Improve feedback quality and make data-driven decisions.",
-};
-
-Surveying your user base without segmentation leads to weak results and survey fatigue. Attributes help you segment your users into groups.
-
-## What are attributes?
-
-Attributes are key-value pairs that you can set for each person individually. For example, the attribute "Plan" can be set to "Free" or "Paid".
-
-## How do attributes work?
-
-Attributes are sent from your application to Formbricks and are associated with the current user. We store it in our database and allow you to use it the next time you create a survey.
-
-## Why are attributes useful?
-
-Attributes help show surveys to the right group of people. For example, you can show a survey to all users who have a "Plan" attribute set to "Paid".
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/change-text.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/change-text.png
deleted file mode 100644
index 1908b5f5be..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/change-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/create-cancel-flow.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/create-cancel-flow.png
deleted file mode 100644
index 7526a42b9a..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/create-cancel-flow.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/index.mdx
deleted file mode 100644
index 06612d8cec..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/index.mdx
+++ /dev/null
@@ -1,125 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-import DemoPreview from "@/components/dummyUI/DemoPreview";
-
-import CreateChurnFlow from "./create-cancel-flow.png";
-import ChangeText from "./change-text.png";
-import TriggerInnerText from "./trigger-inner-text.png";
-import TriggerCSS from "./trigger-css-selector.png";
-import TriggerPageUrl from "./trigger-page-url.png";
-import RecontactOptions from "./recontact-options.png";
-import PublishSurvey from "./publish-survey.png";
-import SelectAction from "./select-action.png";
-
-export const meta = {
- title: "Learn from Churn",
- description: "To know how to decrease churn, you have to understand it. Use a micro-survey.",
-};
-
-Churn is hard, but can teach you a lot. Whenever a user decides that your product isn’t worth it anymore, you have a unique opportunity to get deep insights. These insights are pure gold to reduce churn.
-
-## Purpose
-
-The Churn Survey is among the most effective ways to identify weaknesses in you offering. People were willing to pay but now are not anymore: What changed? Let’s find out!
-
-## Preview
-
-
-
-## Formbricks Approach
-
-- Ask at exactly the right point in time
-- Follow-up to prevent bad reviews
-- Coming soon: Make survey mandatory
-
-## Overview
-
-To run the Churn Survey in your app you want to proceed as follows:
-
-1. Create new Churn Survey at [app.formbricks.com](http://app.formbricks.com/)
-2. Set up the user action to display survey at right point in time
-3. Choose correct recontact options to never miss a feedback
-4. Prevent that churn!
-
-
- We assume that you have already installed the Formbricks Widget in your web app. It’s required to display
- messages and surveys in your app. If not, please follow the [Quick Start Guide (takes 15mins
- max.)](/docs/getting-started/quickstart)
-
-
-### 1. Create new Churn Survey
-
-If you don't have an account yet, create one at [app.formbricks.com](https://app.formbricks.com/auth/signup)
-
-Click on "Create Survey" and choose the template “Churn Survey”:
-
-
-
-### 2. Update questions (if you like)
-
-You’re free to update the question and answer options. However, based on our experience, we suggest giving the provided template a go 😊
-
-
-
-_Want to change the button color? You can do so in the product settings._
-
-Save, and move over to the “Audience” tab.
-
-### 3. Pre-segment your audience
-
-In this case, you don’t really need to pre-segment your audience. You likely want to ask everyone who hits the “Cancel subscription” button.
-
-### 4. Set up a trigger
-
-To create the trigger for your Churn Survey, you have two options to choose from:
-
-1. **Trigger by innerText:** You likely have a “Cancel Subscription” button in your app. You can setup a user Action with the according `innerText` to trigger the survey, like so:
-
-
-
-2. **Trigger by CSS Selector:** In case you have more than one button saying “Cancel Subscription” in your app and only want to display the survey when one of them is clicked, you want to be more specific. The best way to do that is to give this button the HTML `id=“cancel-subscription”` and set your user action up like so:
-
-
-
-3. **Trigger by pageURL:** Lastly, you could also display your survey on a subpage “/subscription-cancelled” where you forward users once they cancelled the trial subscription. You can then create a user Action with the type `pageURL` with the following settings:
-
-
-
-Whenever a user visits this page, matches the filter conditions above and the recontact options (below) the survey will be displayed ✅
-
-Here is our complete [Actions manual](/docs/actions/why) covering [Code](/docs/actions/code) and [No-Code](/docs/actions/no-code) Actions.
-
-
-
-We’re currently building full-screen survey pop-ups. You’ll be able to prevent users from closing the survey unless they respond to it. It’s certainly debatable if you want that but you could force them to click through the survey before letting them cancel 🤷
-
-
-
-### 5. Select Action in the “When to ask” card
-
-
-
-### 6. Last step: Set Recontact Options correctly
-
-Lastly, scroll down to “Recontact Options”. Here you have to choose the correct settings to make sure you milk these super valuable insights. You want to make sure that this survey is always displayed, no matter if the user has already seen a survey in the past days:
-
-
-
-These settings make sure the survey is always displayed, when a user wants to Cancel their subscription.
-
-### 7. Congrats! You’re ready to publish your survey 💃
-
-
-
-
- You need to have the Formbricks Widget installed to display the Churn Survey in your app. Please follow
- [this tutorial (Step 4 onwards)](/docs/getting-started/quickstart) to install the widget.
-
-
-###
-
-# Get those insights! 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/publish-survey.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/publish-survey.png
deleted file mode 100644
index 5d21ed596f..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/publish-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/recontact-options.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/recontact-options.png
deleted file mode 100644
index 5995f97fdd..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/recontact-options.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/select-action.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/select-action.png
deleted file mode 100644
index 94cc8eb004..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/select-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-css-selector.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-css-selector.png
deleted file mode 100644
index 806170f0d3..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-css-selector.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-inner-text.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-inner-text.png
deleted file mode 100644
index 103d0764fc..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-inner-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-page-url.png b/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-page-url.png
deleted file mode 100644
index c66b870928..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/cancel-subscription/trigger-page-url.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/add-action.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/add-action.png
deleted file mode 100644
index 7ebb5853f7..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/add-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/change-id.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/change-id.png
deleted file mode 100644
index fc83c4ef02..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/change-id.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/copy-ids.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/copy-ids.png
deleted file mode 100644
index f2e8481112..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/copy-ids.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/docs-navi.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/docs-navi.png
deleted file mode 100644
index df5b0a319f..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/docs-navi.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/docs-template.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/docs-template.png
deleted file mode 100644
index c689d8f440..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/docs-template.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/index.mdx
deleted file mode 100644
index 30e4316ada..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/index.mdx
+++ /dev/null
@@ -1,385 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import DocsFeedback from "@/components/docs/DocsFeedback";
-import AddAction from "./add-action.png";
-import ChangeId from "./change-id.png";
-import DocsNavi from "./docs-navi.png";
-import DocsTemplate from "./docs-template.png";
-import SelectNonevent from "./select-nonevent.png";
-import SwitchToDev from "./switch-to-dev.png";
-import WhenToAsk from "./when-to-ask.png";
-import CopyIds from "./copy-ids.png";
-
-export const meta = {
- title: "Docs Feedback",
- description: "Docs Feedback allows you to measure how clear your documentation is.",
-};
-
-Docs Feedback allows you to measure how clear your documentation is.
-
-## Purpose
-
-Unlike yourself, your users don't spend 5-7 days per week thinking about your product. To fight the "Curse of Knowledge" you have to measure how clear your docs are.
-
-## Preview
-
-
-
-## Installation
-
-To get this running, you'll need a bit of time. Here are the steps we're going through:
-
-1. Set up Formbricks Cloud
-2. Build the frontend
-3. Connect to API
-4. Test
-
-### 1. Setting up Formbricks Cloud
-
-1. To get started, create an account for the [Formbricks Cloud](https://app.formbricks.com/auth/signup).
-
-2. In the Menu (top right) you see that you can switch between a “Development” and a “Production” environment. These are two separate environments so your test data doesn’t mess up the insights from prod. Switch to “Development”:
-
-
-
-3. Then, create a survey using the template “Docs Feedback”:
-
-
-
-4. Change the Internal Question ID of the first question to **“isHelpful”** to make your life easier 😉
-
-
-
-5. In the same way, you can change the Internal Question ID of the _Please elaborate_ question to **“additionalFeedback”** and the one of the _Page URL_ question to **“pageUrl”**.
-
-
- If you want different answers than “Yes 👍” and “No 👎” you need update the choices accordingly. They have
- to be identical to the frontend we're building in the next step.
-
-
-6. Click on “Continue to Settings or select the audience tab manually. Scroll down to “When to ask” and create a new Action:
-
-
-
-7. Our goal is to create an event that never fires. This is a bit nonsensical because it is a workaround. Stick with me 😃 Fill the action out like on the screenshot:
-
-
-
-8. Select the Non-Event in the dropdown. Now you see that the “Publish survey” button is active. Publish your survey 🤝
-
-
-
-**You’re all setup in Formbricks Cloud for now 👍**
-
-### 2. Build the frontend
-
-
- Your frontend likely looks and works differently. This is an example specific to our tech stack. We want to
- illustrate what you should consider building yours 😊
-
-
-Before we start, lets talk about the widget. It works like this:
-
-- Once the user selects yes/no, a partial response is sent to the Formbricks API. It includes the feedback and the current page url.
-- Then the user is presented with an additional open text field to further explain their choice. Once it's submitted, the previous response is updated with the additional feedback.
-
-This allows us to capture and analyze partial feedback where the user is not willing to provide additional information.
-
-**Let's do this 👇**
-
-1. Open the code editor where you handle your docs page.
-
-2. Likely, you have a template file or similar which renders the navigation at the bottom of the page:
-
-
-
-Locate that file. We are using the [Tailwind Template “Syntax”](https://tailwindui.com/templates/syntax) for our docs. Here is our [Layout.tsx](https://github.com/formbricks/formbricks/blob/main/apps/formbricks-com/components/docs/Layout.tsx) file.
-
-3. Write the frontend code for the widget. Here is the full component (we break it down right below):
-
-```tsx
-import { useState } from "react";
-import { handleFeedbackSubmit, updateFeedback } from "../../lib/handleFeedbackSubmit";
-import { Popover, PopoverTrigger, PopoverContent, Button } from "@formbricks/ui";
-import { useRouter } from "next/router";
-
-export default function DocsFeedback() {
- const router = useRouter();
- const [isOpen, setIsOpen] = useState(false);
- const [sharedFeedback, setSharedFeedback] = useState(false);
- const [responseId, setResponseId] = useState(null);
- const [freeText, setFreeText] = useState("");
-
- if (
- !process.env.NEXT_PUBLIC_FORMBRICKS_COM_DOCS_FEEDBACK_SURVEY_ID ||
- !process.env.NEXT_PUBLIC_FORMBRICKS_COM_API_HOST ||
- !process.env.NEXT_PUBLIC_FORMBRICKS_COM_ENVIRONMENT_ID
- ) {
- return null;
- }
-
- return (
-
- );
-}
-```
-
-**Let’s break it down!**
-
-Setting the local states and getting the current URL:
-
-```tsx
-const router = useRouter(); // to get the URL of the current docs page
-const [isOpen, setIsOpen] = useState(false); // to close Popover after
-const [sharedFeedback, setSharedFeedback] = useState(false); // to display Thank You message
-const [responseId, setResponseId] = useState(null); // to store responseID (will explain more)
-const [freeText, setFreeText] = useState(""); // to locally store the additional info provided by user
-```
-
-Disabling feedback if config environment variables are not set properly:
-
-```tsx
-// Disables feedback if key info like survey ID, API Host, or Formbricks environment ID are missing
-
-if (
- !process.env.NEXT_PUBLIC_FORMBRICKS_COM_DOCS_FEEDBACK_SURVEY_ID ||
- !process.env.NEXT_PUBLIC_FORMBRICKS_COM_API_HOST ||
- !process.env.NEXT_PUBLIC_FORMBRICKS_COM_ENVIRONMENT_ID
-) {
- return null;
-}
-```
-
-The actual frontend (read comments):
-
-```tsx
-return (
-
- {!sharedFeedback ? ( // displays Feedback buttons or Thank You message
-
- Was this page helpful?
-
-
- {["Yes 👍", " No 👎"].map((option) => ( // Popup Trigger is a button as well. This is a workaround to open the same form but send a different response to the API
- {
- const id = await handleFeedbackSubmit(option, router.asPath); // handleFeedbackSubmit sends the Yes / No choice as well as the current URL to Formbricks and returns the responseId
- setResponseId(id); // add responseId to local state so we can use it if user decides to add more feedback in free text field
- }}>
- {option} // "Yes 👍" or "No 👎" - they have to be identical with the choices in the survey on app.formbricks.com for it to work (!)
-
- ))}
-
-
-
-
-
-
- ) : (
-
Thanks a lot, boss! 🤝
// Thank You message
- )}
-
- );
-}
-```
-
-## 3. Connecting to the Formbricks API
-
-The last step is to hook up your sparkling new frontend to the Formbricks API. To do so, we followed the “[Create Response](/docs/client-api/create-response)” and “[Update Response](/docs/client-api/update-response)” pages in our docs.
-
-Here is the code for the `handleFeedbackSubmit` function with comments:
-
-```tsx
-export const handleFeedbackSubmit = async (YesNo, pageUrl) => {
- const response_data = {
- data: {
- isHelpful: YesNo, // the "Yes 👍" or "No 👎" response. Remember: They have to be identical with the choices in the survey on app.formbricks.com for it to work.
- pageUrl: pageUrl, // So you know which page the user gives feedback about.
- },
- };
-
- const payload = {
- response: response_data,
- surveyId: process.env.NEXT_PUBLIC_FORMBRICKS_COM_DOCS_FEEDBACK_SURVEY_ID, // For testing, replace this with the survey ID of your survey (more info below)
- };
-
- try {
- const res = await fetch(
- `${process.env.NEXT_PUBLIC_FORMBRICKS_COM_API_HOST}/api/v1/client/environments/${process.env.NEXT_PUBLIC_FORMBRICKS_COM_ENVIRONMENT_ID}/responses`, // For testing, replace this with the API host and environemnt ID of your Development environment on app.formbricks.com
- };
- {
- method: "POST",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(payload),
- }
- );
-
- if (res.ok) {
- const responseJson = await res.json();
- return responseJson.id; // Returns the response ID
- } else {
- console.error("Error submitting form");
- }
- } catch (error) {
- console.error("Error submitting form:", error);
- }
-};
-```
-
-And this is the `updateFeedback` function with comments:
-
-```tsx
-export const updateFeedback = async (freeText, responseId) => {
- if (!responseId) {
- console.error("No response ID available"); // If there is not response ID, no response can be updated.
- return;
- }
-
- const payload = {
- response: {
- data: {
- additionalInfo: freeText,
- },
- finished: true, // Lets Formbricks calculate Completion Rate
- },
- };
-
- try {
- const res = await fetch(
- `${process.env.NEXT_PUBLIC_FORMBRICKS_COM_API_HOST}/api/v1/client/environments/${process.env.NEXT_PUBLIC_FORMBRICKS_COM_ENVIRONMENT_ID}/responses/${responseId}`,
- {
- method: "PUT",
- headers: {
- "Content-Type": "application/json",
- },
- body: JSON.stringify(payload),
- }
- );
-
- if (!res.ok) {
- console.error("Error updating response");
- }
- } catch (error) {
- console.error("Error updating response:", error);
- }
-};
-```
-
-That’s almost it! 🤸
-
-## 4. Setting it up for testing
-
-Before you roll it out in production, you want to test it. To do so, you need two things:
-
-1. Environment ID (1) of the development environment on app.formbricks.com
-2. Survey ID (2) of your test survey
-
-When you are on the survey detail page, you’ll find both of them in the URL:
-
-
-
-Now, you have to replace the IDs and the API host accordingly in your `handleFeedbackSubmit`:
-
-```tsx
- const payload = {
- response: response_data,
- surveyId: clgwfv4a7002el50ihyuss38x, // This is an example, replace with yours
- };
-
- try {
- const res = await fetch(
- // Note that we also updated the API host to 'https://app.formbricks.com/'
- `https:app.formbricks.com/api/v1/client/environments/clgwcwp4z000lpf0hur7uxbuv/responses`,
- };
-```
-
-And lastly, in the `updateFeedback` function
-
-```tsx
- try {
- const res = await fetch(
- // Note that we also updated the API host to 'https://app.formbricks.com/'
- `https:app.formbricks.com/api/v1/client/environments/clgwcwp4z000lpf0hur7uxbuv/responses/${responseId}`, // Note that we also updated the API host to 'https://app.formbricks.com/'
-}
-```
-
-### You’re good to go! 🎉
-
-Something doesn’t work? Check your browser console for the error.
-
-Can’t figure it out? [Join our Discord!](https://formbricks.com/discord)
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/select-nonevent.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/select-nonevent.png
deleted file mode 100644
index 1ae4b89609..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/select-nonevent.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/switch-to-dev.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/switch-to-dev.png
deleted file mode 100644
index d257edb18a..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/switch-to-dev.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/when-to-ask.png b/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/when-to-ask.png
deleted file mode 100644
index f762837a3f..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/docs-feedback/when-to-ask.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/action-css.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/action-css.png
deleted file mode 100644
index 3f828569a1..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/action-css.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/action-text.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/action-text.png
deleted file mode 100644
index f33e4125de..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/action-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/change-text.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/change-text.png
deleted file mode 100644
index 78f6cfcc1d..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/change-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/create-survey.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/create-survey.png
deleted file mode 100644
index 2339123901..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/create-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/index.mdx
deleted file mode 100644
index 8c3637fba1..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/index.mdx
+++ /dev/null
@@ -1,106 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import DemoPreview from "@/components/dummyUI/DemoPreview";
-import Image from "next/image";
-
-import ActionCSS from "./action-css.png";
-import ActionText from "./action-text.png";
-import ChangeText from "./change-text.png";
-import CreateSurvey from "./create-survey.png";
-import Publish from "./publish.png";
-import RecontactOptions from "./recontact-options.png";
-import SelectAction from "./select-action.png";
-
-export const meta = {
- title: "Feature Chaser",
- description: "Follow up with users who used a specific feature. Gather feedback and improve your product.",
-};
-
-Following up on specific features only makes sense with very targeted surveys. Formbricks is built for that.
-
-## Purpose
-
-Product analytics never tell you why a feature is used - and why not. Following up on specfic features with highly relevant questions is a great way to gather feedback and improve your product.
-
-## Preview
-
-
-
-## Formbricks Approach
-
-- Trigger survey at exactly the right point in the user journey
-- Never ask twice, keep your data clean
-- Prevent survey fatigue with global waiting period
-
-## Overview
-
-To run the Feature Chaser survey in your app you want to proceed as follows:
-
-1. Create new Feature Chaser survey at [app.formbricks.com](http://app.formbricks.com/)
-2. Setup a user action to display survey at the right point in time
-
-
- We assume that you have already installed the Formbricks Widget in your web app. It’s required to display
- messages and surveys in your app. If not, please follow the [Quick Start Guide (takes 15mins
- max.)](/docs/getting-started/quickstart)
-
-
-### 1. Create new Feature Chaser
-
-If you don't have an account yet, create one at [app.formbricks.com](https://app.formbricks.com/auth/signup)
-
-Click on "Create Survey" and choose the template “Feature Chaser”:
-
-
-
-### 2. Update questions
-
-The questions you want to ask are dependent on your feature and can be very specific. In the template, we suggest a high-level check on how easy it was for the user to achieve their goal. We also add an opportunity to provide context:
-
-
-
-Save, and move over to where the magic happens: The “Audience” tab.
-
-### 3. Set up a trigger for the Feature Chaser survey:
-
-Before setting the right trigger, you need to identify a user action in your app which signals, that they have just used the feature you want to understand better. In most cases, it is clicking a specific button in your product.
-
-You can create [Code Actions](/docs/actions/code) and [No Code Actions](/docs/actions/no-code) to follow users through your app. In this example, we will create a No Code Action.
-
-There are two ways to track a button:
-
-1. **Trigger by innerText:** You might have a button with a unique text at the end of your feature e.g. "Export Report". You can setup a user Action with the according `innerText` to trigger the survey, like so:
-
-
-
-2. **Trigger by CSS Selector:** In case you have more than one button saying “Export Report” in your app and only want to display the survey when one of them is clicked, you want to be more specific. The best way to do that is to give this button the HTML `id=“export-report-featurename”` and set your user action up like so:
-
-
-
-Please follow our [Actions manual](/docs/actions/why) for an in-depth description of how Actions work.
-
-### 4. Select Action in the “When to ask” card
-
-
-
-### 5. Last step: Set Recontact Options correctly
-
-Lastly, scroll down to “Recontact Options”. Here you have full freedom to decide who you want to ask. Generally, you only want to ask every user once and prevent survey fatigue. It's up to you to decide if you want to ask again, when the user did not yet reply:
-
-
-
-### 7. Congrats! You’re ready to publish your survey 💃
-
-
-
-
- You need to have the Formbricks Widget installed to display the Feature Chaser in your app. Please follow
- [this tutorial (Step 4 onwards)](/docs/getting-started/quickstart) to install the widget.
-
-
-###
-
-# Get those insights! 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/publish.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/publish.png
deleted file mode 100644
index 9cc54803e7..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/publish.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/recontact-options.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/recontact-options.png
deleted file mode 100644
index d5c8d1bd1d..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/recontact-options.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/select-action.png b/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/select-action.png
deleted file mode 100644
index acc19a906e..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feature-chaser/select-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-action.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-action.png
deleted file mode 100644
index 46f0bcf373..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-css-action.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-css-action.png
deleted file mode 100644
index 9bbd777d0b..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-css-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-html-action.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-html-action.png
deleted file mode 100644
index c0882b9398..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/add-html-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/change-text-content.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/change-text-content.png
deleted file mode 100644
index 432f3e4b50..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/change-text-content.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/create-feedback-box-by-template.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/create-feedback-box-by-template.png
deleted file mode 100644
index 4d191b78a2..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/create-feedback-box-by-template.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/index.mdx
deleted file mode 100644
index a08db498a4..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/index.mdx
+++ /dev/null
@@ -1,105 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import Link from "next/link";
-import Image from "next/image";
-import { Callout } from "@/components/shared/Callout";
-import DemoPreview from "@/components/dummyUI/DemoPreview";
-
-import AddAction from "./add-action.png";
-import AddCSSAction from "./add-css-action.png";
-import AddHTMLAction from "./add-html-action.png";
-import ChangeTextContent from "./change-text-content.png";
-import CreateFeedbackBox from "./create-feedback-box-by-template.png";
-import PublishSurvey from "./publish-survey.png";
-import SelectAction from "./select-feedback-button-action.png";
-import RecontactOptions from "./set-recontact-options.png";
-
-export const meta = {
- title: "Feedback Box",
- description: "The Feedback Box gives your users a direct channel to share their feedback and feel heard.",
-};
-
-The Feedback Box gives your users a direct channel to share their feedback and feel heard.
-
-## Purpose
-
-A low friction way to gather feedback helps catching even the smallest points of frustration in user experiences. Use automations to react rapidly and make users feel heard.
-
-## Preview
-
-
-
-## Formbricks Approach
-
-- Make it easy: 2 clicks to share feedback
-- Pipe insights where team can see them and react quickly
-
-## Installation
-
-To add the Feedback Box to your app, you need to perform these steps:
-
-1. Create new Feedback Box at app.formbricks.com
-2. Add user action to trigger Feedback Box
-3. Update recontact settings to display correctly
-
-### 1. Create new Feedback Box
-
-If you don't have an account yet, create one at [app.formbricks.com](https://app.formbricks.com/auth/signup)
-
-Then, create a new survey and look for the "Feedback Box" template:
-
-
-
-### 2. Update question content
-
-Change the questions and answer options according to your preference:
-
-
-
-### 3. Create user action to trigger Feedback Box:
-
-Go to the “Audience” tab, find the “When to send” card and choose “Add Action”. We will now use our super cool No-Code User Action Tracker:
-
-
-
-
- You can also create [Code Actions](/docs/actions/code) using `formbricks.track("Eventname")` - they will
- automatically appear in your Actions overview as long as the SDK is embedded.
-
-
-We have two options to track the Feedback Button in your application: innerText and CSS-Selector:
-
-1. **innerText:** This means that whenever a user clicks any HTML item in your app which has an `innerText` of `Feedback` the Feedback Box will be displayed.
-2. **CSS-Selector:** This means that when an element with a specific CSS-Selector like `#feedback-button` is clicked, your Feedback Box is triggered.
-
-
-
-
-
-
-### 4. Select action in the “When to ask” card
-
-
-
-### 5. Set Recontact Options correctly
-
-Scroll down to “Recontact Options”. Here you have to choose the right settings so that the Feedback Box pops up every time the user action is performed. (Our default is that every user sees every survey only once):
-
-
-
-### 7. You’re ready publish your survey!
-
-
-
-## Setting up the Widget
-
-
- You need to have the Formbricks Widget installed to display the Feedback Box in your app. Please follow
- [this tutorial (Step 4 onwards)](/docs/getting-started/quickstart) to install the widget.
-
-
-###
-
-# That’s it! 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/publish-survey.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/publish-survey.png
deleted file mode 100644
index 87123d2a2f..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/publish-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/select-feedback-button-action.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/select-feedback-button-action.png
deleted file mode 100644
index 2aaa423fb9..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/select-feedback-button-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/set-recontact-options.png b/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/set-recontact-options.png
deleted file mode 100644
index d8a7ff132a..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/feedback-box/set-recontact-options.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/action-innertext.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/action-innertext.png
deleted file mode 100644
index 8699e8f385..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/action-innertext.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/action-pageurl.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/action-pageurl.png
deleted file mode 100644
index cd5caf14e4..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/action-pageurl.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/change-text.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/change-text.png
deleted file mode 100644
index 2febaed9cc..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/change-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/create-survey.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/create-survey.png
deleted file mode 100644
index 1cfb3c44db..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/create-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/index.mdx
deleted file mode 100644
index 1bd6296ffa..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/index.mdx
+++ /dev/null
@@ -1,114 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import DemoPreview from "@/components/dummyUI/DemoPreview";
-import Image from "next/image";
-
-import ActionText from "./action-innertext.png";
-import ActionPageurl from "./action-pageurl.png";
-import ChangeText from "./change-text.png";
-import CreateSurvey from "./create-survey.png";
-import Publish from "./publish.png";
-import RecontactOptions from "./recontact-options.png";
-import SelectAction from "./select-action.png";
-
-export const meta = {
- title: "Improve Trial Conversion",
- description: "Understand how to improve the trial conversions to get more paying customers.",
-};
-
-When a user doesn't convert, you want to know why. A micro-survey displayed at exactly the right time gives you a window into understanding the most relevant question: To pay or not to pay?
-
-## Purpose
-
-The better you understand why free users don’t convert to paid users, the higher your revenue. You can make an informed decision about what to change in your offering to make more people pay for your service.
-
-## Preview
-
-
-
-## Formbricks Approach
-
-- Ask at exactly the right point in time
-- Ask to understand the problem, don’t ask for solutions
-
-## Installation
-
-To display the Trial Conversion Survey in your app you want to proceed as follows:
-
-1. Create new Trial Conversion Survey at [app.formbricks.com](http://app.formbricks.com/)
-2. Set up the user action to display survey at right point in time
-3. Print that 💸
-
-
- We assume that you have already installed the Formbricks Widget in your web app. It’s required to display
- messages and surveys in your app. If not, please follow the [Quick Start Guide (takes 15mins
- max.)](/docs/getting-started/quickstart)
-
-
-### 1. Create new Trial Conversion Survey
-
-If you don't have an account yet, create one at [app.formbricks.com](https://app.formbricks.com/auth/signup)
-
-Click on "Create Survey" and choose the template “Improve Trial Conversion”:
-
-
-
-### 2. Update questions (if you like)
-
-You’re free to update the questions and answer options. However, based on our experience, we suggest giving the provided template a go 😊
-
-
-
-_Want to change the button color? You can do so in the product settings!_
-
-Save, and move over to the “Audience” tab.
-
-### 3. Pre-segment your audience (coming soon)
-
-
- We're working on pre-segmenting users by attributes. We will update this manual in the next days.
-
-
-Pre-segmentation isn't relevant for this survey because you likely want to solve all people who cancel their trial. You probably have a specific user action e.g. clicking on "Cancel Trial" you can use to only display the survey to users trialing your product.
-
-### 4. Set up a trigger for the Trial Conversion Survey:
-
-How you trigger your survey depends on your product. There are two options:
-
-1. **Trigger by pageURL:** Let’s say you have a page under “/trial-cancelled” where you forward users once they cancelled the trial subscription. You can then create an user Action with the type `pageURL` with the following settings:
-
-
-
-Whenever a user visits this page, the survey will be displayed ✅
-
-2. **Trigger by Button Click:** In a different case, you have a “Cancel Trial button in your app. You can setup a user Action with the according `innerText` like so:
-
-
-
-Please have a look at our complete [Actions manual](/docs/actions/why) if you have questions.
-
-### 5. Select Action in the “When to ask” card
-
-
-
-### 6. Last step: Set Recontact Options correctly
-
-Lastly, scroll down to “Recontact Options”. Here you have to choose the correct settings to make sure you gather as many insights as possible. You want to make sure that this survey is always displayed, no matter if the user has already seen a survey in the past days:
-
-
-
-### 7. Congrats! You’re ready to publish your survey 💃
-
-
-
-
- You need to have the Formbricks Widget installed to display the Improve Trial Conversion Survey in your app.
- Please follow [this tutorial (Step 4 onwards)](/docs/getting-started/quickstart) to install the widget.
-
-
-###
-
-# Go get 'em 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/publish.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/publish.png
deleted file mode 100644
index a63538d6ee..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/publish.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/recontact-options.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/recontact-options.png
deleted file mode 100644
index cf0dcfb5b1..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/recontact-options.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/select-action.png b/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/select-action.png
deleted file mode 100644
index ec3f22bec9..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/improve-trial-cr/select-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-css.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-css.png
deleted file mode 100644
index 143c7a03e6..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-css.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-innertext.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-innertext.png
deleted file mode 100644
index 7fb947ff8e..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-innertext.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-pageurl.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-pageurl.png
deleted file mode 100644
index 791a6ab321..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/action-pageurl.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/add-action.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/add-action.png
deleted file mode 100644
index 50306cece0..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/add-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/change-text.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/change-text.png
deleted file mode 100644
index e015f420d1..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/change-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/create-prompt.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/create-prompt.png
deleted file mode 100644
index a524548d42..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/create-prompt.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/index.mdx
deleted file mode 100644
index 8d05b0af03..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/index.mdx
+++ /dev/null
@@ -1,133 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import DemoPreview from "@/components/dummyUI/DemoPreview";
-import Image from "next/image";
-
-import ActionCSS from "./action-css.png";
-import ActionInner from "./action-innertext.png";
-import ActionPageurl from "./action-pageurl.png";
-import AddAction from "./add-action.png";
-import ChangeText from "./change-text.png";
-import CreatePrompt from "./create-prompt.png";
-import InterviewExample from "./interview-example.png";
-import Publish from "./publish-survey.png";
-import RecontactOptions from "./recontact-options.png";
-import SelectAction from "./select-action.png";
-
-export const meta = {
- title: "In-app Interview Prompt",
- description: "Invite only power users to schedule an interview with your product team.",
-};
-
-The Interview Prompt allows you to pick a specific user segment (e.g. Power Users) and invite them to a user interview. Bye, bye spammy email invites, benefit from up to 6x more respondents.
-
-## Purpose
-
-Product analytics and in-app surveys are incomplete without user interviews. Set the scheduling on autopilot for a continuous stream of interviews.
-
-## Preview
-
-
-
-## Formbricks Approach
-
-- Pre-segment users with custom attributes. Only invite highly relevant users.
-- In-app prompts have a 6x higher conversion rate than email invites.
-- Set scheduling user interviews on auto pilot.
-- Soon: Integrate directly with your [Cal.com](http://Cal.com) account.
-
-## Installation
-
-To display an Interview Prompt in your app you want to proceed as follows:
-
-1. Create new Interview Prompt at [app.formbricks.com](http://app.formbricks.com/)
-2. Adjust content and settings
-3. That’s it! 🎉
-
-
- We assume that you have already installed the Formbricks Widget in your web app. It’s required to display
- messages and surveys in your app. If not, please follow the [Quick Start Guide
- (15mins).](/docs/getting-started/quickstart)
-
-
-### 1. Create new Interview Prompt
-
-If you don't have an account yet, create one at [app.formbricks.com](https://app.formbricks.com/auth/signup)
-
-Click on "Create Survey" and choose the template “Interview Prompt”:
-
-
-
-### 2. Update prompt and CTA
-
-Update the prompt, description and button text to match your products tonality. You can also update the button color in the Product Settings.
-
-
-
-In the button settings you have to make sure it is set to “External URL”. In the URL field, copy your booking link (e.g. https://cal.com/company/user-interview). If you don’t have a booking link yet, head over to [cal.com](http://cal.com) and get one - they have the best free plan out there!
-
-
-
-Save, and move over to the “Audience” tab.
-
-### 3. Pre-segment your audience (coming soon)
-
-
- We're working on pre-segmenting users by attributes. We will update this manual in the next few days.
-
-
-Once you clicked over to the “Audience” tab you can change the settings. In the **Who To Send** card, select “Filter audience by attribute”. This allows you to only show the prompt to a specific segment of your user base.
-
-In our case, we want to select users who we have assigned the attribute “Power User”. To learn how to assign attributes to your users, please [follow this guide](/docs/attributes/why).
-
-Great, now only the “Power User” segment will see our Interview Prompt. But when will they see it?
-
-### 4. Set up a trigger for the Interview Prompt:
-
-To create the trigger to show your Interview Prompt, go to the “Audience” tab, find the “When to send” card and choose “Add Action”. We will now use our super cool No-Code User Action Tracker:
-
-
-
-
- You can also create [Code Actions](/docs/actions/code) using `formbricks.track("Eventname")` - they will
- automatically appear in your Actions overview as long as the SDK is embedded.
-
-
-Generally, we have two types of user actions: Page views and clicks. The Interview Prompt, you’ll likely want to display on a page visit since you already filter who sees the prompt by attributes.
-
-1. **pageURL:** Whenever a user visits a page the survey will be displayed, as long as the other conditions match. Other conditions are pre-segmentation, if this user has seen a survey in the past 2 weeks, etc.
-
-
-
-2. **innerText & CSS-Selector:** When a user clicks an element (like a button) with a specific text content or CSS selector, the prompt will be displayed as long as the other conditions also match.
-
-
-
-
-
-
-### 5. Select action in the “When to ask” card
-
-
-
-### 6. Set Recontact Options correctly
-
-Scroll down to “Recontact Options”. Here you have to choose the correct settings to strike the right balance between asking for user feedback and preventing survey fatigue. Your settings also depend on the size of your user base or segment. If you e.g. have thousands of “Power Users” you can easily afford to only display the prompt once. If you have a smaller user base you might want to ask twice to get a sufficient amount of bookings:
-
-
-
-### 7. Congrats! You’re ready to publish your survey 💃 🤸
-
-
-
-
- You need to have the Formbricks Widget installed to display the Interview Prompt in your app. Please follow
- [this tutorial (Step 4 onwards)](/docs/getting-started/quickstart) to install the widget.
-
-
-###
-
-# Learn about them users! 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/interview-example.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/interview-example.png
deleted file mode 100644
index eaf773d974..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/interview-example.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/publish-survey.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/publish-survey.png
deleted file mode 100644
index 3c05657fa1..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/publish-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/recontact-options.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/recontact-options.png
deleted file mode 100644
index 5d5d0b568d..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/recontact-options.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/select-action.png b/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/select-action.png
deleted file mode 100644
index f6967aa760..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/interview-prompt/select-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/action-css.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/action-css.png
deleted file mode 100644
index 143c7a03e6..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/action-css.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/action-pageurl.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/action-pageurl.png
deleted file mode 100644
index 791a6ab321..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/action-pageurl.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/change-text.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/change-text.png
deleted file mode 100644
index 3fbf0184c4..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/change-text.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/create-survey.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/create-survey.png
deleted file mode 100644
index 9fe5db384a..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/create-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/index.mdx b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/index.mdx
deleted file mode 100644
index 0d8d99f31f..0000000000
--- a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/index.mdx
+++ /dev/null
@@ -1,116 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import DemoPreview from "@/components/dummyUI/DemoPreview";
-import Image from "next/image";
-
-import ActionCSS from "./action-css.png";
-import ActionPageurl from "./action-pageurl.png";
-import ChangeText from "./change-text.png";
-import CreateSurvey from "./create-survey.png";
-import Publish from "./publish.png";
-import RecontactOptions from "./recontact-options.png";
-import SelectAction from "./select-action.png";
-
-export const meta = {
- title: "Product-Market Fit Survey",
- description: "The Product-Market Fit survey helps you measure, well, Product-Market Fit (PMF).",
-};
-
-## Purpose
-
-Measuring and understanding your PMF is essential to build a large, successful business. It helps you understand what users like, what they’re missing and what to build next. This survey is perfectly suited to measure PMF like [Superhuman](https://review.firstround.com/how-superhuman-built-an-engine-to-find-product-market-fit).
-
-## Preview
-
-
-
-## Formbricks Approach
-
-- Pre-segment users to only survey users who have experienced your products value
-- Never ask twice, keep your data clean
-- Run on autopilot: Set up once, keep surveying users continuously
-
-## Overview
-
-To display the Product-Market Fit survey in your app you want to proceed as follows:
-
-1. Create new Product-Market Fit survey at [app.formbricks.com](http://app.formbricks.com/)
-2. Setup pre-segmentation to assure high data quality
-3. Setup the user action to display survey at good point in time
-
-
- We assume that you have already installed the Formbricks Widget in your web app. It’s required to display
- messages and surveys in your app. If not, please follow the [Quick Start Guide (takes 15mins
- max.)](/docs/getting-started/quickstart)
-
-
-### 1. Create new PMF survey
-
-If you don't have an account yet, create one at [app.formbricks.com](https://app.formbricks.com/auth/signup)
-
-Click on "Create Survey" and choose one of the PMF survey templates. The first one is rather short, the latter builds on the ["Product-Market Fit Engine"](https://review.firstround.com/how-superhuman-built-an-engine-to-find-product-market-fit) developed by Superhuman:
-
-
-
-### 2. Update questions (if you like)
-
-You’re free to update the question and answer options. However, based on our experience, we suggest giving the provided template a go 😊 Here is a very [detailed description](https://coda.io/@rahulvohra/superhuman-product-market-fit-engine) of what to do with the data you’re collecting.
-
-
-
-_Want to change the button color? You can do so in the product settings!_
-
-Save, and move over to where the magic happens: The “Audience” tab.
-
-### 3. Pre-segment your audience (coming soon)
-
-
- We're working on pre-segmenting users by attributes. We will update this manual in the next days.
-
-
-To run this survey properly, you should pre-segment your user base. As touched upon earlier: if you ask every user you’ll get lots of opinions which are often misleading. You only want to gather feedback from people who invested the time to get to know and use your product:
-
-**Filter by attribute**: You can keep the logic to decide if a user has (or has not) experienced value in your application. This makes most sense if you want to use historic usage data to decide if a user qualifies or not. Create your logic and if it applies, send an attribute to Formbricks by e.g. `formbricks.setAttribute("Loyalty", "Experienced Value");` Here is the full manual on how to [set attributes](/docs/attributes/custom-attributes).
-
-**Filter by actions (coming soon)**: Later, you can also segment users based on events tracked with Formbricks. However, this makes it impossible to use historic usage data (pre Formbricks usage). Here we will have a few options to achieve that:
-
-- Check the time passed since sign-up (e.g. signed up 4 weeks ago)
-- User has performed a specific action a certain number of times or (e.g. created 5 reports)
-- User has performed a combination of actions (e.g. created a report **and** invited a team member)
-
-This way you make sure that you separate potentially misleading opinions from valuable insights.
-
-### 4. Set up a trigger for the Product-Market Fit survey:
-
-You need a trigger to display the survey but in this case, the filtering does all the work. It’s up to you to decide to display the survey after the user viewed a specific subpage (pageURL) or after clicking an element. Have a look at the [Actions manual](/docs/actions/why) if you are not sure how to set them up:
-
-
-
-
-
-
-### 5. Select Action in the “When to ask” card
-
-
-
-### 6. Last step: Set Recontact Options correctly
-
-Lastly, scroll down to “Recontact Options”. Here you have to choose the correct settings to make sure your data remains of high quality. You want to make sure that this survey is only responded to once per user. It is up to you to decide if you want to display it several times until the user responds:
-
-
-
-### 7. Congrats! You’re ready to publish your survey 💃
-
-
-
-
- You need to have the Formbricks Widget installed to display the PMF Survey in your app. Please follow [this
- tutorial (Step 4 onwards)](/docs/getting-started/quickstart) to install the widget.
-
-
-###
-
-# Get those insights!
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/publish.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/publish.png
deleted file mode 100644
index 42bbc5f2bd..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/publish.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/recontact-options.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/recontact-options.png
deleted file mode 100644
index 5d5d0b568d..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/recontact-options.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/select-action.png b/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/select-action.png
deleted file mode 100644
index f6967aa760..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/best-practices/pmf-survey/select-action.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/client-api/create-response/index.mdx b/apps/formbricks-com-old/pages/docs/client-api/create-response/index.mdx
deleted file mode 100644
index 288200305a..0000000000
--- a/apps/formbricks-com-old/pages/docs/client-api/create-response/index.mdx
+++ /dev/null
@@ -1,95 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API: Create response",
- description: "Learn how to create a new response to a survey via API.",
-};
-
-
-
-| field name | required | default | description |
-| ---------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| data | yes | - | The response data object (answers to the survey). In this object the key is the questionId, the value the answer of the user to this question. |
-| personId | no | - | The person this response is connected to. |
-| surveyId | yes | - | The survey this response is connected to. |
-| finished | yes | false | Mark a response as complete to be able to filter accordingly. |
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/client-api/overview/index.mdx b/apps/formbricks-com-old/pages/docs/client-api/overview/index.mdx
deleted file mode 100644
index 88e68edfba..0000000000
--- a/apps/formbricks-com-old/pages/docs/client-api/overview/index.mdx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-
-export const meta = {
- title: "Client API Overview",
- description:
- "Explore the Formbricks Public Client API for client-side tasks and integration into your website.",
-};
-
-The Public Client API is designed for the JavaScript SDK and does not require authentication. It's primarily used for creating persons, sessions, and responses within the Formbricks platform. This API is ideal for client-side interactions, as it doesn't expose sensitive information.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/client-api/update-response/index.mdx b/apps/formbricks-com-old/pages/docs/client-api/update-response/index.mdx
deleted file mode 100644
index f1f7914744..0000000000
--- a/apps/formbricks-com-old/pages/docs/client-api/update-response/index.mdx
+++ /dev/null
@@ -1,84 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API: Update submission",
- description: "Learn how to update a new response to a survey via API.",
-};
-
-
-
-| field name | required | default | description |
-| ---------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| data | yes | - | The response data object (answers to the survey). In this object the key is the questionId, the value the answer of the user to this question. |
-| finished | yes | false | Mark a response as complete to be able to filter accordingly. |
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/contributing/demo/demoapp.png b/apps/formbricks-com-old/pages/docs/contributing/demo/demoapp.png
deleted file mode 100644
index b3f657a420..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/contributing/demo/demoapp.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/contributing/demo/index.mdx b/apps/formbricks-com-old/pages/docs/contributing/demo/index.mdx
deleted file mode 100644
index a55cddc714..0000000000
--- a/apps/formbricks-com-old/pages/docs/contributing/demo/index.mdx
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import DemoApp from "./demoapp.png";
-
-export const meta = {
- title: "Demo App",
- description: "To test in-app surveys, trigger actions and set attributes, you can use the Demo App.",
-};
-
-To play around with the in-app [User Actions](/docs/actions/why), you can use the Demo App. It's a simple React app that you can run locally and use to trigger actions and set [Attributes](/docs/attributes/why).
-
-
-
-## Functionality
-
-### Code Action
-
-This button sends a Code Action to the Formbricks API called 'Code Action'. You will find it in the Actions Tab.
-
-```tsx
-formbricks.track("Code Action");
-```
-
-### No Code Action
-
-This button sends a No Code Action as long as you created it beforehand in the Formbricks App. For it to work, you need to add the No Code Action within Formbricks.
-
-```tsx
-
-```
-
-### Set Plan to "Free"
-
-This button sets the attribute 'Plan' to 'Free'. If the attribute does not exist, it creates it.
-
-```tsx
-formbricks.setAttribute("Plan", "Free");
-```
-
-### Set Plan to "Paid"
-
-This button sets the attribute 'Plan' to 'Paid'. If the attribute does not exist, it creates it.
-
-```tsx
-formbricks.setAttribute("Plan", "Paid");
-```
-
-### Set Email
-
-This button sets the user email 'test@web.com'
-
-```tsx
-formbricks.setEmail("test@web.com");
-```
-
-### Set UserId
-
-This button sets an external user ID to 'THIS-IS-A-VERY-LONG-USER-ID-FOR-TESTING'
-
-```tsx
-formbricks.setUserId("THIS-IS-A-VERY-LONG-USER-ID-FOR-TESTING");
-```
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/contributing/introduction/index.mdx b/apps/formbricks-com-old/pages/docs/contributing/introduction/index.mdx
deleted file mode 100644
index 83ecde519a..0000000000
--- a/apps/formbricks-com-old/pages/docs/contributing/introduction/index.mdx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-
-export const meta = {
- title: "Contribution Guide",
- description: "How to contribute to Formbricks",
-};
-
-We are so happy that you are interested in contributing to Formbricks 🤗
-
-There are many ways to contribute to Formbricks with writing Issues, fixing bugs, building new features or updating the docs.
-
-## Issues
-
-Spotted a bug? Has deployment gone wrong? Do you have user feedback? [Raise an issue](https://github.com/formbricks/formbricks/issues/new/choose) for the fastest response.
-
-... or pick up and fix an issue if you want to do a Pull Request.
-
-## Feature requests
-
-Raise an issue for these and tag it as an Enhancement. We love every idea. Please give us as much context on the why as possible.
-
-## Creating a PR
-
-Please fork the repository, make your changes and create a new pull request if you want to make an update.
-
-If you want to speak to us before doing lots of work, please join our [Discord server](https://formbricks.com/discord) and tell us what you would like to work on - we're very responsive and friendly!
-
-For QA of your Pull-Request, you can also get in touch with Matti on Discord. But we will also get to your PR without you taking additional action ;-)
-
-## Features
-
-We are currently working on having a clear [Roadmap](https://github.com/formbricks/formbricks) for the next steps ahead.
-
-But you can also pick a feature that is not already on the roadmap if you think it creates a positive impact for Formbricks.
-
-If you are at all unsure, just raise it as an enhancement issue first and tell us that you like to work on it, and we'll very quickly respond.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/contributing/setup/index.mdx b/apps/formbricks-com-old/pages/docs/contributing/setup/index.mdx
deleted file mode 100644
index b3a5867237..0000000000
--- a/apps/formbricks-com-old/pages/docs/contributing/setup/index.mdx
+++ /dev/null
@@ -1,83 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-
-export const meta = {
- title: "Setup Dev Environment",
- description: "Setup a development environment for Formbricks.",
-};
-
-To get the project running locally on your machine you need to have the following development tools installed:
-
-- Node.JS (we recommend v18)
-- [pnpm](https://pnpm.io/)
-- [Docker](https://www.docker.com/) (to run PostgreSQL / MailHog)
-
-1. Clone the project:
-
- ```bash
- git clone https://github.com/formbricks/formbricks
- ```
-
- and move into the directory
-
- ```bash
- cd formbricks
- ```
-
-1. Install Node.JS packages via pnpm. Don't have pnpm? Get it [here](https://pnpm.io/installation)
-
- ```bash
- pnpm install
- ```
-
-1. Create a `.env` file based on `.env.example`. It's already preset to work with the docker-compose setup but you can also change values if needed.
-
- ```bash
- cp .env.example .env
- ```
-
-1. Make sure you have [`Docker`](https://docs.docker.com/compose/) & [`docker-compose`](https://docs.docker.com/compose/) installed and running on your machine. Then run the following command to start the formbricks dev setup:
-
- ```bash
- pnpm go
- ```
-
- This starts the Formbricks main app (plus all its dependencies) as well as the following services using Docker:
-
- - a `postgres` container for hosting your database,
- - a `mailhog` container that acts as a mock SMTP server and shows received mails in a web UI (forwarded to your host's `localhost:8025`)
-
- **You can now access the Formbricks app on [http://localhost:3000](http://localhost:3000)**. You will be automatically redirected to the login. To use your local installation of formbricks, create a new account.
-
- For viewing the confirmation email and other emails the system sends you, you can access mailhog at [http://localhost:8025](http://localhost:8025)
-
-### Build
-
-To build all apps and packages and check for build errors, run the following command:
-
-```bash
-pnpm build
-```
-
-### Access Demo app
-
-To run the [Demo app](/docs/contributing/demo), run the following command in a separate terminal window:
-
-```bash
-pnpm dev --filter=demo
-```
-
-You can now access the Demo app on [http://localhost:3002](http://localhost:3002).
-
-### Access Formbricks website
-
-If you want to make changes to the Formbricks website, e.g. to update the documentation, run the following command in a separate terminal window:
-
-```bash
-pnpm dev --filter=formbricks-com
-```
-
-You can now access the Formbricks website on [http://localhost:3001](http://localhost:3001).
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/clear-app-data.png b/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/clear-app-data.png
deleted file mode 100644
index 31e6ee9fcb..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/clear-app-data.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/index.mdx b/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/index.mdx
deleted file mode 100644
index 6e37886a9a..0000000000
--- a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/index.mdx
+++ /dev/null
@@ -1,65 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import ClearAppData from "./clear-app-data.png";
-import UncaughtPromise from "./uncaught-promise.png";
-import Logout from "./logout.png";
-
-export const meta = {
- title: "Troubleshooting",
- description:
- "Formbricks is a complex application in constant development. Sometimes, things don't go as planned. Here are some tips to help you troubleshoot.",
-};
-
-Here you'll find help with Frequently Recurring Problems
-
-## "The app doesn't work after doing a prisma migration"
-
-This can happen but fear not, the fix is easy: Delete the application storage of your browser and reload the page. This will force the app to re-fetch the data from the server:
-
-
-
-## "I ran 'pnpm i' but there seems to be an error with the packages"
-
-If nothing helps, run `pnpm clean` and then `pnpm i` again. This solves a lot.
-
-## "I get a full-screen error with cryptic strings"
-
-This usually happens when the Formbricks Widget wasn't correctly or completely built.
-
-```bash
-// Build formbricks-js first
-pnpm build --filter=js
-
-// Run the app again
-pnpm dev
-```
-
-## My machine struggles with the repository
-
-Since we're working with a monorepo structure, the repository can get quite big. If you're having trouble working with the repository, try the following:
-
-```bash
-// Only run the Formbricks app
-pnpm dev --filter=web...
-
-// Only run the landing page app
-pnpm dev --filter=formbricks-com...
-
-// Only run the demo app
-pnpm dev --filter=demo...
-```
-
-However, in our experience it's better to run `pnpm dev` than having two terminals open (one with the Formbricks app and one with the demo).
-
-## Uncaught (in promise) SyntaxError: Unexpected token !DOCTYPE ... is not valid JSON
-
-
-
-This happens when you're using the Demo App and delete the Person within the Formbricks app which the widget is currently connected with. We're fixing it, but you can also just logout your test person and reload the page to get rid of it.
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/logout.png b/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/logout.png
deleted file mode 100644
index 8ff41bcfc6..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/logout.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/uncaught-promise.png b/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/uncaught-promise.png
deleted file mode 100644
index d424bef970..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/contributing/troubleshooting/uncaught-promise.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/env-id.png b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/env-id.png
deleted file mode 100644
index d342241df4..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/env-id.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/index.mdx b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/index.mdx
deleted file mode 100644
index d847a727da..0000000000
--- a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/index.mdx
+++ /dev/null
@@ -1,95 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import Image from "next/image";
-
-import SetupChecklist from "./env-id.png";
-import WidgetNotConnected from "./widget-not-connected.png";
-import WidgetConnected from "./widget-connected.png";
-
-export const meta = {
- title: "Setting up Formbricks SDK with Next.js App Directory",
- description:
- "Setting up Formbricks with the new Next.js 13 App Directory can be tricky. Follow this guide to make sure you get it right.",
-};
-
-This guide will walk you through the process of integrating the Formbricks SDK into a Next.js application using the new app directory. As the Formbricks SDK only works on the client side, it's essential to ensure proper integration to avoid any issues.
-
-## Prerequisites
-
-Before getting started, make sure you have:
-
-1. A Next.js application set up and running.
-2. A Formbricks account with access to your environment ID and API host. You can find these in the **Setup Checklist** in the Settings:
-
-
-
-## Installing Formbricks SDK
-
-First, you need to install the Formbricks SDK using one of the following commands:
-
-```bash
-npm install --save @formbricks/js
-# or
-yarn add @formbricks/js
-# or
-pnpm add @formbricks/js
-```
-
-## Integrating with Next.js 13 App Directory
-
-The Next.js 13 app directory requires us to initialize Formbricks differently than the pages directory. Specifically, the app directory server-side renders components by default, and the formbricks-js library is a client-side library. To make these work together, create a `formbricks.tsx` file (or `formbricks.js` if you don't use Typescript) and set up the FormbricksProvider with the 'use client' directive:
-
-```tsx
-// app/formbricks.tsx
-"use client";
-import formbricks from "@formbricks/js";
-import { usePathname, useSearchParams } from "next/navigation";
-import { useEffect } from "react";
-
-export default function FormbricksProvider() {
- const pathname = usePathname();
- const searchParams = useSearchParams();
-
- useEffect(() => {
- formbricks.init({
- environmentId: "clj66eqzu00m5qu0g8leglrns",
- apiHost: "https://app.formbricks.com", // e.g. https://app.formbricks.com
- debug: true, // remove when in production
- });
- }, []);
-
- useEffect(() => {
- formbricks?.registerRouteChange();
- }, [pathname, searchParams]);
-
- return null;
-}
-```
-
-Once we do this, we can then import the `formbricks.tsx` file in our `app/layout.tsx` file, and wrap our app in the Formbricks provider.
-
-```tsx
-// app/layout.tsx
-import FormbricksProvider from "./formbricks";
-import "./globals.css";
-
-export default function RootLayout({ children }: { children: React.ReactNode }) {
- return (
-
-
- {children}
-
- );
-}
-```
-
-## Validate your setup
-
-Once you have completed the steps above, you can validate your setup by checking the **Setup Checklist** in the Settings. Your widget status indicator should go from this:
-
-
-
-To this:
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/widget-connected.png b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/widget-connected.png
deleted file mode 100644
index 01d7595cdc..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/widget-connected.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/widget-not-connected.png b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/widget-not-connected.png
deleted file mode 100644
index afd6d9aa60..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-app/widget-not-connected.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/env-id.png b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/env-id.png
deleted file mode 100644
index d342241df4..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/env-id.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/index.mdx b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/index.mdx
deleted file mode 100644
index 80f64956b6..0000000000
--- a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/index.mdx
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import Image from "next/image";
-
-import SetupChecklist from "./env-id.png";
-import WidgetNotConnected from "./widget-not-connected.png";
-import WidgetConnected from "./widget-connected.png";
-
-export const meta = {
- title: "Setting up Formbricks SDK with Next.js Pages Directory",
- description:
- "Setting up Formbricks with the new Next.js 13 Pages Directory can be tricky. Follow this guide to make sure you get it right.",
-};
-
-This guide will walk you through the process of integrating the Formbricks SDK into a Next.js application using the Pages Directory. As the Formbricks SDK only works on the client side, it's essential to ensure proper integration to avoid any issues.
-
-## Prerequisites
-
-Before getting started, make sure you have:
-
-1. A Next.js application with Pages Directory set up and running.
-2. A Formbricks account with access to your environment ID and API host. You can find these in the **Setup Checklist** in the Settings:
-
-
-
-## Installing Formbricks SDK
-
-First, you need to install the Formbricks SDK using one of the following commands:
-
-```bash
-npm install --save @formbricks/js
-# or
-yarn add @formbricks/js
-# or
-pnpm add @formbricks/js
-```
-
-## Integrating with Next.js 13 Pages Directory
-
-Update your Pages component in the \_app.ts file like so:
-
-```tsx
-import "@/styles/globals.css";
-import type { PagesProps } from "next/app";
-import { useEffect } from "react";
-import { useRouter } from "next/router";
-import formbricks from "@formbricks/js";
-
-if (typeof window !== "undefined") {
- formbricks.init({
- environmentId: "your-environment-id",
- apiHost: "your-api-host", // e.g. https://app.formbricks.com
- debug: true, // remove when in production
- });
-}
-
-export default function Pages({ Component, pageProps }: PagesProps) {
- const router = useRouter();
-
- useEffect(() => {
- // Connect next.js router to Formbricks
- const handleRouteChange = formbricks?.registerRouteChange;
- router.events.on("routeChangeComplete", handleRouteChange);
-
- return () => {
- router.events.off("routeChangeComplete", handleRouteChange);
- };
- }, []);
-
- return ;
-}
-```
-
-## What are we doing here?
-
-1. First we need to initialize the Formbricks SDK, making sure it only runs on the client side.
-2. To connect the Next.js router to Formbricks and ensure the SDK can keep track of every page change, we are registering the route change event.
-
-## Validate your setup
-
-Once you have completed the steps above, you can validate your setup by checking the **Setup Checklist** in the Settings. Your widget status indicator should go from this:
-
-
-
-To this:
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/widget-connected.png b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/widget-connected.png
deleted file mode 100644
index 01d7595cdc..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/widget-connected.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/widget-not-connected.png b/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/widget-not-connected.png
deleted file mode 100644
index afd6d9aa60..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/getting-started/nextjs-pages/widget-not-connected.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/quickstart/index.mdx b/apps/formbricks-com-old/pages/docs/getting-started/quickstart/index.mdx
deleted file mode 100644
index 401eb3a34c..0000000000
--- a/apps/formbricks-com-old/pages/docs/getting-started/quickstart/index.mdx
+++ /dev/null
@@ -1,95 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "Quickstart",
- description:
- "Get started with Formbricks: Choose self-hosted or cloud, create an account, and follow our quickstart guide to set up in-product micro-surveys with ease.",
-};
-
-Welcome to Formbricks! In this quickstart guide, we'll walk you through the initial steps to get up and running with our in-product micro-surveys. Choose between self-hosted and cloud options, create an account, and set up the JavaScript widget. Let's dive in!
-
-## Step 1: Choose between self-hosted and cloud
-
-First, you need to decide whether you want to use the self-hosted or cloud version of Formbricks.
-
-- **Self-hosted**: If you prefer to host Formbricks on your own servers, check out the dedicated [Self-hosted Documentation](/docs/self-hosting/deployment) page.
-- **Cloud**: For a hassle-free experience, choose our cloud offering, which takes care of server maintenance and updates for you. [Sign Up now.](https://app.formbricks.com/auth/signup)
-
-## Step 2: Create an account
-
-1. Visit the Formbricks Sign up page.
-2. Enter your email address, choose a password, and click **Sign Up** to create your account. Alternatively you can sign up using your GitHub account.
-
-## Step 3: Switch to the Development Environment
-
-In Formbricks, you can work in different environments to manage your surveys and settings. We recommend using the **Development environment** for your local testing and staging environments to keep your Production environment and it's data clean. To get started, switch to the **Development Environment**:
-
-1. Log in to your Formbricks dashboard.
-2. Click the your profile picture in the top right corner and in the dropdown under your current Environment select **Development**.
-3. Select **Development** from the list.
-
-## Step 4: Set up the JavaScript widget
-
-You can find all the setup instructions as well as a check if your installation was successful in the **Setup Checklist** in the Formbricks settings.
-
-### HTML
-
-Add the following script to the `` tag of your HTML file:
-
-```html
-
-```
-
-Replace your-environment-id with your actual environment ID. You can find your environment ID in the **Setup Checklist** in the Formbricks settings.
-
-### Npm
-
-1. Install the Formbricks package using npm:
-
-```bash
-npm install -s @formbricks/js
-```
-
-2. Import Formbricks and initialize the widget in your main component (e.g., App.tsx or App.js):
-
-```javascript
-import formbricks from "@formbricks/js";
-
-if (typeof window !== "undefined") {
- formbricks.init({
- environmentId: "your-environment-id",
- apiHost: "https://app.formbricks.com",
- });
-}
-```
-
-Replace your-environment-id with your actual environment ID. You can find your environment ID in the **Setup Checklist** in the Formbricks settings.
-
-For more detailed guides for different frameworks, check out our [Next.js](/docs/getting-started/nextjs) and [Vue.js](/docs/getting-started/vuejs) guides.
-
-## Step 5: Verify your setup
-
-After setting up the widget, head back to the Formbricks dashboard:
-
-1. Navigate to **Settings** in the top menubar.
-2. Check the **Setup Checklist** to ensure everything is working correctly.
-
-If you see confetti and a green box saying "Receiving data" you've successfully set up Formbricks. You're ready to start creating and customizing your in-product surveys.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/getting-started/vuejs/index.mdx b/apps/formbricks-com-old/pages/docs/getting-started/vuejs/index.mdx
deleted file mode 100644
index 73d7130b24..0000000000
--- a/apps/formbricks-com-old/pages/docs/getting-started/vuejs/index.mdx
+++ /dev/null
@@ -1,81 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-
-export const meta = {
- title: "Setting up Formbricks SDK with Vue.js",
- description:
- "Easily integrate Formbricks SDK into your Vue.js app with our guide. Enhance user feedback and improve product experience with customizable in-product micro-surveys.",
-};
-
-In this guide, we will go through the steps to set up the Formbricks SDK in a Vue.js application. This will allow you to create and customize in-product micro-surveys to gather valuable feedback from your users and improve your product experience.
-
-## Introduction
-
-Integrating the Formbricks SDK with Vue.js is a straightforward process. We will make sure the SDK is only loaded and used on the client side, as it's not intended for server-side usage.
-
-## Prerequisites
-
-Before proceeding, ensure you have the following:
-
-1. A Vue.js application set up and ready to go.
-2. A Formbricks account with an `environmentId` and `apiHost` for your application. You can find these in the Setup Checklist in the Settings.
-
-## Installation
-
-To get started, install the Formbricks SDK using your preferred package manager:
-
-```bash
-npm install --save @formbricks/js
-# or
-yarn add @formbricks/js
-# or
-pnpm add @formbricks/js
-```
-
-## Integration
-
-1. Create a new file called \`formbricks.js\` inside the \`src\` folder of your Vue.js application, and add the following code to initialize the Formbricks SDK:
-
-```javascript
-import formbricks from "@formbricks/js";
-
-if (typeof window !== "undefined") {
- formbricks.init({
- environmentId: "your-environment-id",
- apiHost: "your-api-host",
- });
-}
-
-export default formbricks;
-```
-
-2. In your main.js or main.ts file, import the formbricks.js module:
-
-```javascript
-import formbricks from "@/formbricks";
-```
-
-3. To make sure Formbricks SDK registers every page change in your Vue.js application, add a global navigation guard to your Vue Router configuration:
-
-```javascript
-import Vue from "vue";
-import VueRouter from "vue-router";
-
-Vue.use(VueRouter);
-
-const router = new VueRouter({
- // Your router configuration here
-});
-
-// Add a global navigation guard
-router.afterEach((to, from) => {
- if (typeof formbricks !== "undefined") {
- formbricks.registerRouteChange();
- }
-});
-```
-
-Now, the Formbricks SDK is set up and ready to use in your Vue.js application. You can start creating and customizing in-product micro-surveys for your users.
-
-For more information on how to use Formbricks SDK, check the rest of the documentation.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/index.mdx b/apps/formbricks-com-old/pages/docs/index.mdx
deleted file mode 100644
index bc43881980..0000000000
--- a/apps/formbricks-com-old/pages/docs/index.mdx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import HeroAnimation from "@/components/shared/HeroAnimation.tsx";
-
-export const meta = {
- title: "Formbricks – Experience Management for B2B SaaS",
-};
-
-Natively embed qualitative user research into your B2B SaaS. Leverage Best Practices for user discovery to increase Product-Market Fit.
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/add-new-zap.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/add-new-zap.png
deleted file mode 100644
index 02c3092b9b..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/add-new-zap.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/choose-event.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/choose-event.png
deleted file mode 100644
index 3ecb524db5..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/choose-event.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/connect-with-formbricks-1.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/connect-with-formbricks-1.png
deleted file mode 100644
index aaa91ad2f6..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/connect-with-formbricks-1.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/connect-with-formbricks-2.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/connect-with-formbricks-2.png
deleted file mode 100644
index 44d943b8f0..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/connect-with-formbricks-2.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/duplicate-survey.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/duplicate-survey.png
deleted file mode 100644
index 4d586acf54..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/duplicate-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/index.mdx b/apps/formbricks-com-old/pages/docs/integrations/zapier/index.mdx
deleted file mode 100644
index bf301bdf8d..0000000000
--- a/apps/formbricks-com-old/pages/docs/integrations/zapier/index.mdx
+++ /dev/null
@@ -1,102 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import AddNewZap from "./add-new-zap.png";
-import ChooseEvent from "./choose-event.png";
-import ConnectWithFB1 from "./connect-with-formbricks-1.png";
-import ConnectWithFB2 from "./connect-with-formbricks-2.png";
-import DuplicateSurvey from "./duplicate-survey.png";
-import SelectSurvey from "./select-survey.png";
-import SlackChannelMsg from "./slack-channel-msg.png";
-import SlackMsg from "./slack-message.png";
-import SubmitTestResponse from "./submit-test-response.png";
-import SuccessConnection from "./success-connected.png";
-import TestSubmission from "./test-submission.png";
-import UpdateQuestionId from "./update-question-id.png";
-import ZapierMessage from "./zapier-message.png";
-
-export const meta = {
- title: "Zapier Setup",
- description: "Wire up Formbricks with Zapier and 5000+ other apps",
-};
-
-Zapier is a powerful ally. Hook up Formbricks with Zapier and you can send your data to 5000+ other apps. Here is how to do it.
-
-
- Any changes in the survey cause additional work in the Zap. It makes sense to first settle on the survey you
- want to run and then get to setting up Zapier.
-
-
-## Step 1: Setup your survey incl. `questionId` for every question
-
-When setting up the Zap your life will be easier when you change the `questionId`s of your survey questions. You can only do so **before** you publish your survey.
-
-
-
-_In every question card in the Advanced Settings you find the Question ID field. Update it so that you’ll recognize the response tied to this question._
-
-
- You can only update the questionId when the survey was not yet published. Already published it? Just
- **duplicate it** to update the questionIds.
-
-
-
-## Step 3: Send a test response
-
-In order to set up Zapier you’ll need a test response. This allows you to select the individual values of each response in your Zap. If you have Formbricks running locally and you want to set up an in-app survey, you can use our [Demo App](/docs/contributing/demo) to trigger a survey and submit a response.
-
-
-
-## Step 4: Setup your Zap
-
-Go to [zapier.com](https://zapier.com) and create a new Zap. Search for “Formbricks” to get started:
-
-
-
-Then, choose the event you want to trigger the Zap on:
-
-
-
-## Step 5: Connect Formbricks with Zapier
-
-Now, you have to connect Zapier with Formbricks via an API Key:
-
-
-
-
-Now you need an API key. Please refer to the [API Key Setup](/docs/api/api-key-setup) page to learn how to create one.
-
-Once you copied it in the newly opened Zapier window, you will be connected:
-
-
-
-## Step 6: Select Survey
-
-Next, you can choose from all the surveys you have created in this environment:
-
-
-
-## Step 7: Test your trigger
-
-Once you hit “Test” you will see the three most recent submissions for this survey. If you don’t have any submissions in the survey, submit one to continue setting up your Zap:
-
-
-_Now you're happy that you updated the questionId's_
-
-## Step 8: Set up your Zap
-
-Now you have all the data you need at hand. The next steps depend on what you want to do with it. In this tutorial, we will send submissions to a Slack channel:
-
-
-
-In the action itself we can determine the data and layout of the message. Here, we only choose the submission data. You can also refer to the meta data of the submission and the [attributes](/docs/attributes/why) of the person who submitted the survey.
-
-
-
-We now receive a notifcation in our Slack channel whenever a Churn survey is completed:
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/select-survey.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/select-survey.png
deleted file mode 100644
index af489b5c9d..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/select-survey.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/slack-channel-msg.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/slack-channel-msg.png
deleted file mode 100644
index dccaa6ff91..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/slack-channel-msg.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/slack-message.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/slack-message.png
deleted file mode 100644
index df0c057762..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/slack-message.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/submit-test-response.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/submit-test-response.png
deleted file mode 100644
index 2476a8f07d..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/submit-test-response.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/success-connected.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/success-connected.png
deleted file mode 100644
index d8848fa2e7..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/success-connected.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/test-submission.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/test-submission.png
deleted file mode 100644
index f7ff3cbccb..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/test-submission.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/update-question-id.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/update-question-id.png
deleted file mode 100644
index 21705f00c3..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/update-question-id.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/integrations/zapier/zapier-message.png b/apps/formbricks-com-old/pages/docs/integrations/zapier/zapier-message.png
deleted file mode 100644
index a233212cfa..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/integrations/zapier/zapier-message.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/introduction/how-it-works/index.mdx b/apps/formbricks-com-old/pages/docs/introduction/how-it-works/index.mdx
deleted file mode 100644
index a64eb8c20f..0000000000
--- a/apps/formbricks-com-old/pages/docs/introduction/how-it-works/index.mdx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-
-export const meta = {
- title: "How Formbricks works",
- description:
- "Master in-product micro-surveys with Formbricks: user-friendly form builder, precise targeting, seamless integration, and insightful analytics for SaaS products.",
-};
-
-Formbricks is a powerful platform designed to help you create and manage in-product micro-surveys for SaaS and digital products. Here is an overview:
-
-## Four components
-
-1. **Form Builder**: Create and customize your surveys with a user-friendly, no-code interface.
-2. **Targeting & Triggers**: Define specific user segments and set event-based triggers to display your surveys to the right users at the right time.
-3. **Integration**: Seamlessly integrate Formbricks into your web or mobile application using the provided SDKs or the HTML snippet.
-4. **Analytics & Insights**: Analyze user responses and gain actionable insights to make informed product decisions.
-
-### Form Builder
-
-The Form Builder is where you create and customize your micro-surveys. With its intuitive drag-and-drop interface, you can easily add different question types, set response options, and apply your branding to the survey forms. The Form Builder allows you to preview your survey in real-time, ensuring it looks and feels perfect for your users.
-
-### Targeting & Triggers
-
-Formbricks offers fine-grained user targeting and event-based triggers to help you display your surveys to the most relevant audience. Using the platform, you can define user segments based on attributes and behaviors, and set up triggers to show your surveys at specific moments within your product. This ensures that you're capturing the most accurate and valuable feedback possible.
-
-### Integration
-
-Integrating Formbricks into your web or mobile application is a breeze. With SDKs for popular web frameworks like React, and an HTML snippet for non-framework based websites, you can quickly add Formbricks to your project. The provided code snippets make it easy to initialize the Formbricks widget and configure it to communicate with your backend.
-
-### Analytics & Insights
-
-Formbricks provides powerful analytics and insights to help you understand user responses and make data-driven decisions. The platform aggregates survey results and presents them in an easy-to-understand format, enabling you to identify trends, spot issues, and uncover opportunities for improvement. With Formbricks, you're always one step ahead in understanding your users and optimizing your product experience.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/introduction/what-is-formbricks/index.mdx b/apps/formbricks-com-old/pages/docs/introduction/what-is-formbricks/index.mdx
deleted file mode 100644
index 4db8c7be58..0000000000
--- a/apps/formbricks-com-old/pages/docs/introduction/what-is-formbricks/index.mdx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-
-export const meta = {
- title: "What is Formbricks?",
- description:
- "Supercharge your SaaS with Formbricks: in-product micro-surveys, seamless integration, powerful analytics, and open-source control. Elevate your user experience today!",
-};
-
-Welcome to Formbricks, your go-to solution for in-product micro-surveys that will supercharge your product experience! 🚀
-
-## Why Formbricks? 🤔
-
-- 🎯 **Tailor-made for SaaS & digital products**: Craft stunning, highly configurable surveys that enable better product decisions, deep user segmentation, and personalization.
-- 🌐 **Platform agnostic**: Seamlessly integrate Formbricks surveys into web, mobile, or desktop applications.
-- 📊 **Complete the analytics puzzle**: Answer the "why" behind your product analytics with insightful data analysis and visualization tools.
-- 🧪 **Smart triggering**: Show the right survey at the right time with event-based triggers for accurate research and well-defined priorities.
-- 🎉 **Open-source and self-hosted**: Enjoy full control over your data and infrastructure with our AGPL-licensed solution, and stay tuned for our upcoming cloud version!
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/introduction/why-is-it-better/index.mdx b/apps/formbricks-com-old/pages/docs/introduction/why-is-it-better/index.mdx
deleted file mode 100644
index 93a6d13295..0000000000
--- a/apps/formbricks-com-old/pages/docs/introduction/why-is-it-better/index.mdx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-
-export const meta = {
- title: "Why is Formbricks better?",
- description:
- "The ultimate survey solution for SaaS, offering in-depth micro-surveys, precise targeting, and seamless integrations. Discover the difference today!",
-};
-
-Formbricks outshines other survey tools by specializing in in-product micro-surveys for SaaS and digital products. With Formbricks, you're better equipped to understand user behavior, improve your product, and make data-driven decisions. Let's see how Formbricks compares to generic survey tools.
-
-| Feature | Generic Survey Tool | Formbricks In-Product Surveys |
-| --------------------------- | ------------------- | ----------------------------- |
-| Designed for SaaS | ❌ | ✅ |
-| In-product micro-surveys | ⚠️ (limited) | ✅ |
-| Customizable forms | ✅ | ✅ |
-| Fine-grained user targeting | ❌ | ✅ |
-| Seamless integrations | ⚠️ (limited) | ✅ |
-| Open-source | ❌ | ✅ |
-| Event-based triggers | ❌ | ✅ |
-| User segmentation | ❌ | ✅ |
-
-With Formbricks, you're not just getting another survey tool, but an in-depth, data-driven solution tailor-made for digital products 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/link-surveys/data-prefilling/index.mdx b/apps/formbricks-com-old/pages/docs/link-surveys/data-prefilling/index.mdx
deleted file mode 100644
index 2b57e86723..0000000000
--- a/apps/formbricks-com-old/pages/docs/link-surveys/data-prefilling/index.mdx
+++ /dev/null
@@ -1,115 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import QuestionId from "./question-id.png";
-
-export const meta = {
- title: "Data Prefilling in Link Surveys",
- description: "Prefill data in your surveys to make it easier for your users to provide feedback.",
-};
-
-Data prefilling via the URL allows you to increase conversion rate by prefilling data you already have in a different system.
-
-## Purpose
-
-URL prefilling of data comes in handy when you:
-
-- Have data for some of the respondents, but not all
-- Have data in a different system (e.g. your database) and want to add it to the user profile in Formbricks
-- Want to embed the first question in an email and increase conversion by prefilling the choice
-
-## Quick Example
-
-```tsx
-https://app.formbricks.com/s/clin3dxja02k8l80hpwmx4bjy?question_id=5
-```
-
-## How it works
-
-To prefill the first question of a survey, append `?question_id=answer` at the end of the survey URL. The answer has to match the expected type of the question. For example, if the first question is a rating question, the answer has to be a number. If the first question is a single select question, the answer has to be a string.
-
-Please make sure the answer is [URL encoded](https://www.urlencoder.org/).
-
-
- Currently, you can only prefill the first question of a link survey.
-
-
-## Where do I find my question Id?
-
-You find the `questionId` in the Advanced Settings at the bottom of each question card in the Survey Editor. As you see, you can update the `questionId` to any string you like. However, once you published your survey, this `questionId` cannot be updated anymore:
-
-
-
-## Examples
-
-Here are a few examples to get you started:
-
-### Rating Question
-
-```tsx
-https://app.formbricks.com/s/clin3yxja52k8l80hpwmx4bjy?rating_question_id=5
-
-// -> translates to 5 stars / points / emojis
-```
-
-### NPS Question
-
-```tsx
-https://app.formbricks.com/s/clin3yxja52k8l80hpwmx4bjy?nps_question_id=10
-
-// -> translates to an NPS rating of 10
-```
-
-### Single Select Question (Radio)
-
-```tsx
-https://app.formbricks.com/s/clin3yxja52k8l80hpwmx4bjy?single_select_question_id=Very%20disappointed
-
-// -> Chooses the option "Very disappointed" in the single select question. The string has to be identical to the option in your question.
-```
-
-### Multi Select Question (Checkbox)
-
-```tsx
-https://app.formbricks.com/s/clin3yxja52k8l80hpwmx4bjy?multi_select_question_id=Sun%2CPalms%2CBeach
-
-// -> Selects three options "Sun, Palms and Beach" in the multi select question. The strings have to be identical to the options in your question.
-```
-
-### Open Text Question
-
-```tsx
-https://app.formbricks.com/s/clin3yxja52k8l80hpwmx4bjy?openText_question_id=I%20love%20Formbricks
-
-// -> Adds "I love Formbricks" as the answer to the open text question
-```
-
-### CTA Question
-
-```tsx
-https://app.formbricks.com/s/clin3yxja52k8l80hpwmx4bjy?cta_question_id=clicked
-
-// -> Adds "clicked" as the answer to the CTA question. Alternatively, you can set it to "dismissed" to skip the question.
-```
-
-## Validation
-
-Make sure that the answer in the URL matches the expected type for the first question.
-
-The URL validation works as follows:
-
-- For Rating or NPS questions, the response is parsed as a number and verified if it's accepted by the schema.
-- For CTA type questions, the valid values are "clicked" (main CTA) and "dismissed" (skip CTA).
-- For Consent type questions, the valid values are "accepted" (consent given) and "dismissed" (consent not given).
-- All other question types are strings.
-
-### You’re good to go! 🎉
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/link-surveys/data-prefilling/question-id.png b/apps/formbricks-com-old/pages/docs/link-surveys/data-prefilling/question-id.png
deleted file mode 100644
index 83aa7e647e..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/link-surveys/data-prefilling/question-id.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/link-surveys/user-identification/index.mdx b/apps/formbricks-com-old/pages/docs/link-surveys/user-identification/index.mdx
deleted file mode 100644
index e662ac9430..0000000000
--- a/apps/formbricks-com-old/pages/docs/link-surveys/user-identification/index.mdx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Image from "next/image";
-
-import PeopleView from "./people-view.png";
-
-export const meta = {
- title: "User Identification in Link Surveys",
- description:
- "Identify users in link surveys via URL parameter. Connect responses to existing users in Formbricks.",
-};
-
-Identifying users in link features lets you connect responses from link surveys with existing users in your Formbricks database.
-
-## Purpose
-
-Identifying users in link surveys comes in handy when you:
-
-- Want to send out link surveys to existing users in your database
-- Want to connect responses from link surveys with existing users in your database
-- Want to gather data and later connect it to a user who has not signed up yet
-
-## Quick Example
-
-```tsx
-https://app.formbricks.com/s/clin3dxja02k8l80hpwmx4bjy?userId=ABC123
-```
-
-## How it works
-
-To link a response to a user in your Formbricks database, you can pass your internal user Id as a URL parameter.
-
-## Where do I find my userId?
-
-The `userId` we are refering to is the `userId` of your own system. For example, a user signs up to your app and gets the Id `ABC123` assigned then this is the Id you pass along in the URL parameter.
-
-This allows you to connect the response to the user profile of this specific in the Formbricks database. You can then use the response data to create segments for further surveying or invite them to an interview, etc.
-
-## getOrCreateUser - how it works exactly
-
-By default, respondents of link surveys are **not** recorded and displayed in the People view. This would lead to your People view to be spammend with unidentified people.
-
-If you add the `userId` URL parameter a Person will be created, if there is no existing person in your database with a matching `userId`.
-
-**Case 1:** User with userId `ABC111` exists, the response from the link survey will be added to this users profile.
-
-**Case 2:** User with userId `ABC222` does not yet exists, so it is created with the response from the link survey connected to this user.
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/link-surveys/user-identification/people-view.png b/apps/formbricks-com-old/pages/docs/link-surveys/user-identification/people-view.png
deleted file mode 100644
index 502d520dcf..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/link-surveys/user-identification/people-view.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/open-source-tool-for-form-and-survey-overview.png b/apps/formbricks-com-old/pages/docs/open-source-tool-for-form-and-survey-overview.png
deleted file mode 100644
index a3d69c3ed5..0000000000
Binary files a/apps/formbricks-com-old/pages/docs/open-source-tool-for-form-and-survey-overview.png and /dev/null differ
diff --git a/apps/formbricks-com-old/pages/docs/self-hosting/deployment/index.mdx b/apps/formbricks-com-old/pages/docs/self-hosting/deployment/index.mdx
deleted file mode 100644
index 3c0de0c261..0000000000
--- a/apps/formbricks-com-old/pages/docs/self-hosting/deployment/index.mdx
+++ /dev/null
@@ -1,211 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-
-export const meta = {
- title: "Deploying Formbricks to production",
- description:
- "Utilize Docker-Compose for easy deployment on your machine. Clone the repo, configure settings, and build the image to access the app on localhost.",
-};
-
-At Formbricks, we understand that different users have different needs, and we strive to cater to a wide variety of situations. This is why we provide three ways of running our application:
-
-1. **Production Instance Setup with Shell Script on Ubuntu**: If you want to quickly set up a production instance of Formbricks on a server running Ubuntu, we've got you covered! This method utilizes a convenient shell script that takes care of everything, including Docker, Postgres DB, and SSL certificate configuration. The shell script will automatically install all the required dependencies and configure your server, making the process a breeze.
-
-2. **Fast Setup with a Pre-built Docker Image:** This method is designed for those who want to quickly set up and start using Formbricks without getting into the technicalities of Docker or the build process. When you choose this method, you're using an image that we've already built for you. The pre-built image is ready-to-run, and it only requires minimal configuration on your part. This approach is perfect for getting a functional instance of Formbricks up and running with minimal hassle. It's as easy as downloading the Docker image and firing up the container.
-
-3. **Manual Setup by Building the Docker Image from Source:** This approach provides the flexibility to configure every aspect of your Formbricks instance, including environment variables that need to be set at build time. While we don't recommend changing the source code of Formbricks, this method allows you to set your own configuration that might be necessary for specific deployment needs. Keep in mind that this method requires a more in-depth understanding of Docker and the build process. However, the trade-off is the additional control and flexibility you gain, making it worth considering if you're a more advanced user or have very specific configuration needs.
-
-Please note that regardless of the method you choose, Formbricks is designed to be easy-to-use and flexible. So choose the method that best fits your comfort level and requirements, and start leveraging the power of Formbricks today!
-
----
-
-## (Most users: One-click Ubuntu setup) Running the Shell Script
-
-This is the quickest way to get Formbricks up and running on an Ubuntu server. The shell script will automatically install all the required dependencies and configure your server, making the process a breeze.
-
-### Requirements
-
-Before you proceed, make sure you have the following:
-
-- A Linux Ubuntu Virtual Machine deployed with SSH access.
-
-- An A record set up to connect a custom domain to your instance. Formbricks will automatically create an SSL certificate for your domain using Let's Encrypt.
-
-## Single Command Setup
-
-Copy and paste the following command into your terminal:
-
-```bash
-/bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/formbricks/formbricks/main/docker/production.sh)"
-```
-
-The script will prompt you for the following information:
-
-1. **Overwriting Docker GPG Keys**: If Docker GPG keys already exist, the script will ask if you want to overwrite them.
-
-2. **Email Address**: Provide your email address for SSL certificate registration with Let's Encrypt.
-
-3. **Domain Name**: Enter the domain name that Traefik will use to create the SSL certificate and forward requests to Formbricks.
-
-That's it! After running the command and providing the required information, visit the domain name you entered, and you should see the Formbricks home wizard!
-
-## (Manual Deployment) Running the pre-built Docker Image
-
-### Requirements
-
-Ensure `docker` & `docker compose` are installed on your server/system. Both are typically included with Docker utilities, like Docker Desktop and Rancher Desktop.
-
-**Note**: `docker compose` without the hyphen is now the primary method of using docker-compose, according to the Docker documentation.
-
-This is suitable for those who are testing Formbricks or running it with minimal to no modifications. For this we use the [public Docker image](https://hub.docker.com/r/formbricks/formbricks) and a simple docker-compose file.
-
-1. **Create a New Directory for Formbricks**
-
- Open a terminal and create a new directory for Formbricks, then navigate into this new directory:
-
- ```bash
- mkdir formbricks-quickstart && cd formbricks-quickstart
- ```
-
-2. **Download the Docker-Compose File**
-
- Download the docker-compose file directly from the Formbricks repository:
-
- ```bash
- curl -o docker-compose.yml https://raw.githubusercontent.com/formbricks/formbricks/main/docker/docker-compose.yml
- ```
-
-3. **Generate NextAuth Secret**
-
- Next, you need to generate a NextAuth secret. This will be used for session signing and encryption. The `sed` command below generates a random string using `openssl`, then replaces the `NEXTAUTH_SECRET:` placeholder in the `docker-compose.yml` file with this generated secret:
-
- ```bash
- sed -i "/NEXTAUTH_SECRET:$/s/NEXTAUTH_SECRET:.\*/NEXTAUTH_SECRET: $(openssl rand -base64 32)/" docker-compose.yml
- ```
-
-4. **Start the Docker Setup**
-
- You're now ready to start the Formbricks Docker setup. The following command will start Formbricks together with a postgreSQL database using Docker Compose:
-
- ```bash
- docker compose up -d
- ```
-
- The `-d` flag will run the containers in detached mode, meaning they'll run in the background.
-
-5. **Visit Formbricks in Your Browser**
-
- After starting the Docker setup, visit http://localhost:3000 in your browser to interact with the Formbricks application. The first time you access this page, you'll be greeted by a setup wizard. Follow the prompts to define your first user and get started.
-
-## Updating Formbricks
-
-1. Stop the Formbricks stack
-
- ```bash
- docker compose down
- ```
-
-2. Pull the latest changes
-
- ```bash
- docker compose pull
- ```
-
-3. Update env vars as necessary.
-4. Re-start the Formbricks stack
-
- ```bash
- docker compose up -d
- ```
-
-## (Advanced users) Build and Run Formbricks
-
-### Requirements
-
-Ensure `docker` & `docker compose` are installed on your server/system. Both are typically included with Docker utilities, like Docker Desktop and Rancher Desktop.
-
-**Note**: `docker compose` without the hyphen is now the primary method of using docker-compose, according to the Docker documentation.
-
-1. Clone the repository:
-
- ```bash
- git clone https://github.com/formbricks/formbricks.git && cd formbricks
- ```
-
-2. Modify the `.env.docker` file as required by your setup. This file comes with a basic setup and Formbricks works without making any changes to the file. To enable email sending functionality you need to configure the SMTP settings. If you configured your email credentials, you can also comment the following lines to enable email verification (`# NEXT_PUBLIC_EMAIL_VERIFICATION_DISABLED=1`) and password reset (`# NEXT_PUBLIC_PASSWORD_RESET_DISABLED=1`)
-
- Note: All environment variables starting with `NEXT_PUBLIC_` are used at build time. When you change environment variables later, you need to rebuild the image with `docker compose build` for the changes to take effect.
-
-3. Finally start the docker compose process to build and spin up the Formbricks container as well as the PostgreSQL database.
-
- ```bash
- docker compose up -d
- # (use docker-compose if you are on an older docker version)
- ```
-
- You can now access the app on [http://localhost:3000](http://localhost:3000). You will be automatically redirected to the login. To use your local installation of Formbricks, create a new account.
-
-Certainly, here is the reformatted version for Formbricks environment variables.
-
-### Important Run-time Variables
-
-These variables must also be provided at runtime.
-
-| Variable | Description | Required | Default |
-| --------------- | --------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------- |
-| WEBAPP_URL | Base URL of the site. | required | `http://localhost:3000` |
-| DATABASE_URL | Database URL with credentials. | required | `postgresql://postgres:postgres@postgres:5432/formbricks?schema=public` |
-| NEXTAUTH_SECRET | Secret for NextAuth, used for session signing and encryption. | required | (Generated by the user) |
-| NEXTAUTH_URL | Location of the auth server. By default, this is the Formbricks docker instance itself. | required | `http://localhost:3000` |
-
-### Build-time Variables
-
-These variables must be provided at the time of the docker build and can be provided by updating the `.env` file.
-
-| Variable | Description | Required | Default |
-| --------------------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------------------- | ----------------------- |
-| NEXT_PUBLIC_WEBAPP_URL | Base URL injected into static files. | required | `http://localhost:3000` |
-| PRISMA_GENERATE_DATAPROXY | Enables a dedicated connection pool for Prisma using Prisma Data Proxy. Uncomment to enable. | optional | |
-| NEXT_PUBLIC_EMAIL_VERIFICATION_DISABLED | Disables email verification if set to `1`. | optional | |
-| NEXT_PUBLIC_PASSWORD_RESET_DISABLED | Disables password reset functionality if set to `1`. | optional | |
-| NEXT_PUBLIC_SIGNUP_DISABLED | Disables the ability for new users to create an account if set to `1`. | optional | |
-| NEXT_PUBLIC_INVITE_DISABLED | Disables the ability for invited users to create an account if set to `1`. | optional | |
-| NEXT_PUBLIC_PRIVACY_URL | URL for privacy policy. | optional | |
-| NEXT_PUBLIC_TERMS_URL | URL for terms of service. | optional | |
-| NEXT_PUBLIC_IMPRINT_URL | URL for imprint. | optional | |
-| SENTRY_IGNORE_API_RESOLUTION_ERROR | Disables Sentry warning if set to `1`. | optional | |
-| NEXT_PUBLIC_SENTRY_DSN | DSN for Sentry error tracking. | optional | |
-| NEXT_PUBLIC_GITHUB_AUTH_ENABLED | Enables GitHub login if set to `1`. | optional | |
-| GITHUB_ID | Client ID for GitHub. | optional (required if GitHub auth is enabled) | |
-| GITHUB_SECRET | Secret for GitHub. | optional (required if GitHub auth is enabled) | |
-| NEXT_PUBLIC_GOOGLE_AUTH_ENABLED | Enables Google login if set to `1`. | optional | |
-| GOOGLE_CLIENT_ID | Client ID for Google. | optional (required if Google auth is enabled) | |
-| GOOGLE_CLIENT_SECRET | Secret for Google. | optional (required if Google auth is enabled) | |
-| CRON_SECRET | Secret for running cron jobs. | optional | |
-
-Please refer to the [Formbricks Instructions](https://github.com/formbricks/formbricks) for more details on generating these variables.
-
-## Debugging
-
-If you encounter any issues, you can check the logs of the container with:
-
-```bash
-docker compose logs -f
-```
-
-You can close the logs again with `CTRL + C`.
-
-## Troubleshooting for the Shell Script Setup
-
-If you encounter any issues, consider the following steps:
-
-- **Inbound Rules**: Make sure you have added inbound rules for Port 80 and 443 in your VM's Security Group.
-
-- **A Record**: Verify that you have set up an A record for your domain, pointing to your VM's IP address.
-
-- **Check Docker Instances**: Run `docker ps` to check the status of the Docker instances.
-
-- **Check Formbricks Logs**: Run `cd formbricks && docker compose logs` to check the logs of the Formbricks stack.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/webhook-api/create-webhook/index.mdx b/apps/formbricks-com-old/pages/docs/webhook-api/create-webhook/index.mdx
deleted file mode 100644
index bffe0508a8..0000000000
--- a/apps/formbricks-com-old/pages/docs/webhook-api/create-webhook/index.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API: Create webhook",
- description: "Learn how to create a new webhook via API.",
-};
-
-
-
-| field name | required | default | description |
-| ---------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------- |
-| url | yes | - | The endpoint that the webhook will send data to |
-| trigger | yes | - | The event that will trigger the webhook ("responseCreated" or "responseUpdated" or "responseFinished") |
-| surveyIds | no | - | List of survey IDs that will trigger the webhook. If not provided, the webhook will be triggered for all surveys. |
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/webhook-api/delete-webhook/index.mdx b/apps/formbricks-com-old/pages/docs/webhook-api/delete-webhook/index.mdx
deleted file mode 100644
index 245445ad55..0000000000
--- a/apps/formbricks-com-old/pages/docs/webhook-api/delete-webhook/index.mdx
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API: Delete Webhook",
- description: "Learn how to delete a specific webhook by its ID via API.",
-};
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/webhook-api/get-webhook/index.mdx b/apps/formbricks-com-old/pages/docs/webhook-api/get-webhook/index.mdx
deleted file mode 100644
index d57b20279d..0000000000
--- a/apps/formbricks-com-old/pages/docs/webhook-api/get-webhook/index.mdx
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API: Get Webhook",
- description: "Learn how to retrieve a specific webhook by its ID via API.",
-};
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/webhook-api/list-webhooks/index.mdx b/apps/formbricks-com-old/pages/docs/webhook-api/list-webhooks/index.mdx
deleted file mode 100644
index afc1bef901..0000000000
--- a/apps/formbricks-com-old/pages/docs/webhook-api/list-webhooks/index.mdx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { APILayout } from "@/components/shared/APILayout.tsx";
-
-export const meta = {
- title: "API: List Webhooks",
- description: "Learn how to retrieve a list of all webhooks via API.",
-};
-
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/webhook-api/overview/index.mdx b/apps/formbricks-com-old/pages/docs/webhook-api/overview/index.mdx
deleted file mode 100644
index 8dd3a67a74..0000000000
--- a/apps/formbricks-com-old/pages/docs/webhook-api/overview/index.mdx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-
-export const meta = {
- title: "Webhook API Overview",
- description: "Learn how to use the Formbricks Webhook API.",
-};
-
-Formbricks' Webhook API offers a powerful interface for interacting with webhooks. Webhooks in Formbricks allow you to receive real-time HTTP notifications of changes to specific objects in the Formbricks environment.
-
-Before you start managing webhooks, you need to create an API key. This will be used for authorization when making requests to the Webhook API. Please see the [API key setup page](/docs/api/api-key-setup) for more details on how to create and manage your API keys.
-
-The behavior of the webhooks is determined by their trigger settings. The trigger determines which updates the webhook sends. Current available triggers include "responseCreated", "responseUpdated", and "responseFinished". This allows you to customize your webhooks to only send notifications for the events that are relevant to your application.
-
-Webhooks are tied to a specific Formbricks environment. Once set, a webhook will receive updates from all surveys within this environment. This makes it easy to manage your data flow and ensure that all relevant updates are caught by the webhook.
-
-Our API has several REST endpoints enabling you to manage these webhooks, providing a great deal of flexibility:
-
-1. **List Webhooks:** Retrieve a list of all existing webhooks.
-2. **Create a New Webhook:** Add a new webhook to your system.
-3. **Get a Specific Webhook:** Query the details of a specific webhook using its unique ID.
-4. **Delete a Webhook:** Remove an existing webhook.
-
-These APIs are designed to facilitate seamless integration of Formbricks with third-party systems. By making use of our webhook API, you can automate the process of sending data to these systems whenever significant events occur within your Formbricks environment.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/webhook-api/webhook-payload/index.mdx b/apps/formbricks-com-old/pages/docs/webhook-api/webhook-payload/index.mdx
deleted file mode 100644
index 6dedb30726..0000000000
--- a/apps/formbricks-com-old/pages/docs/webhook-api/webhook-payload/index.mdx
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-
-export const meta = {
- title: "Webhook Payload",
- description: "Learn how to handle the Formbricks API payload.",
-};
-
-This documentation helps understand the payload structure that will be received when the webhook is triggered in Formbricks.
-
-## An example webhook payload
-
-```
-{
- "webhookId": "cljwxvjos0003qhnvj2jg4k5i",
- "event": "responseCreated",
- "data": {
- "id": "cljwy2m8r0001qhclco1godnu",
- "createdAt": "2023-07-10T14:14:17.115Z",
- "updatedAt": "2023-07-10T14:14:17.115Z",
- "surveyId": "cljsf3d7a000019cv9apt2t27",
- "finished": false,
- "data": {
- "qumbk3fkr6cky8850bvvq5z1": "Executive"
- },
- "meta": {
- "userAgent": {
- "os": "Mac OS",
- "browser": "Chrome"
- }
- },
- "personAttributes": {
- "email": "test@web.com",
- "userId": "THIS-IS-A-VERY-LONG-USER-ID-FOR-TESTING"
- },
- "person": {
- "id": "cljold01t0000qh8ewzigzmjk",
- "attributes": {
- "email": "test@web.com",
- "userId": "THIS-IS-A-VERY-LONG-USER-ID-FOR-TESTING"
- },
- "createdAt": "2023-07-04T17:56:17.154Z",
- "updatedAt": "2023-07-04T17:56:17.154Z"
- },
- "notes": [],
- "tags": []
- }
-}
-
-```
-
-| Variable | Type | Description |
-| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| webhookId | String | Webhook's Id |
-| event | String | The name of the trigger event [responseCreated, responseUpdated, responseFinished] |
-| data | Object | Contains the details of the newly created response. |
-| data.id | String | Formbricks Response ID. |
-| data.createdAt | String | The timestamp when the response was created. |
-| data.updatedAt | String | The timestamp when the response was last updated. |
-| data.surveyId | String | The identifier of the survey associated with this response. |
-| data.finished | Boolean | A boolean value indicating whether the survey response is marked as finished. |
-| data.data | Object | An object containing the response data, where keys are question identifiers, and values are the corresponding answers given by the respondent. |
-| data.meta | Object | Additional metadata related to the response, such as the user's operating system and browser information. |
-| data.personAttributes | Object | An object with attributes related to the respondent, such as their email and a user ID (if available). |
-| data.person | Object | Information about the respondent, including their unique id, attributes, and creation/update timestamps. |
-| data.notes | Array | An array of notes associated with the response (if any). |
-| data.tags | Array | An array of tags assigned to the response (if any). |
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/email/index.mdx b/apps/formbricks-com-old/pages/docs/wrappers/email/index.mdx
deleted file mode 100644
index 1c4bb6fb81..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/email/index.mdx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-
-export const meta = {
- title: "Email Surveys",
-};
-
-
- As of now, we're focussing on in-app surveying. However, we will build out additional forms of surveying
- sooner or later.
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/inline/index.mdx b/apps/formbricks-com-old/pages/docs/wrappers/inline/index.mdx
deleted file mode 100644
index 16d577c3ce..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/inline/index.mdx
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Link from "next/link";
-
-export const meta = {
- title: "Inline surveys",
-};
-
-An inline survey is natively embedded into your user interface.
-
-
- Since this is highly dependent on your frontend stack, we do not yet provide any UI components. We explain how you can fill a `
` in your UI with the Best Practice content.
-
-
-## Preparation
-
-The Best Practices come with a default pop-over in the script. We assume that you have already installed one of the Best Practices and configured it. If not, please proceed here:
-
-- Install and configure Feedback Box
-- Install and configure Product-Market Fit survey
-
-## Implementation
-
-1. To inject the Best Practice in your inline div, you have to make sure to have set the `containerID` in the config object:
-
-```json
-config: {
- formbricksUrl: "https://app.formbricks.com",
- formId: "cldipcgat0000mn0g31a8pdse",
- containerId: "formbricks-survey", // needs to be set
-},
-```
-
-2. All you have to do then is to set the `id` of your div accordingly:
-
-```tsx
-
-```
-
-At the moment we only support embedding one survey per page. We are working on a solution to support multiple surveys per page.
-
-## Full Example
-
-Here is a full example file for React.js using NPM:
-
-```tsx
-import { useEffect } from "react";
-
-export function FeedbackButton() {
- useEffect(() => {
- window.formbricks = {
- ...window.formbricks,
- config: {
- hqUrl: "https://app.formbricks.com",
- formId: "abcdefg",
- containerId: "formbricks-container",
- contact: {
- name: "Matti",
- position: "Co-Founder",
- imgUrl: "https://avatars.githubusercontent.com/u/675065?s=128&v=4",
- },
- },
- };
- // @ts-ignore
- import("@formbricks/feedback");
- }, []);
-
- return ;
-}
-```
-
-## That's it 🎉
-
-You’re Best Practice survey will be displayed in your target div when the Best Practice survey is fully loaded.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/link/index.mdx b/apps/formbricks-com-old/pages/docs/wrappers/link/index.mdx
deleted file mode 100644
index be0d36f82a..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/link/index.mdx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-
-export const meta = {
- title: "Link (Standalone Survey)",
-};
-
-
- As of now, we're focussing on in-app surveying. However, we will build out additional forms of surveying
- sooner or later.
-
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/modal/index.mdx b/apps/formbricks-com-old/pages/docs/wrappers/modal/index.mdx
deleted file mode 100644
index f487bc6300..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/modal/index.mdx
+++ /dev/null
@@ -1,129 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import { Callout } from "@/components/shared/Callout";
-import Link from "next/link";
-import ResponsiveEmbed from "react-responsive-embed";
-
-export const meta = {
- title: "Modal Surveys",
-};
-
-A modal is a window popping up in the middle of the screen (pop-up). The rest of the user interface is usually greyed out.
-
-
- As of now, we do not provide modal UI. We explain how you can fill a modal of your frontend framework with
- the Best Practice content.
-
-
-## Example
-
-
-
-
-
-## Preparation
-
-The Best Practices come with a default pop-over in the script. We assume that you have already installed one of the Best Practices and configured it. If not, please proceed here:
-
-- Install and configure Feedback Box
-- Install and configure Product-Market Fit survey
-
-## Implementation
-
-1. To inject the Best Practice in your Modal window, you have to make sure to have set the `containerID` in the config object:
-
-```json
-config: {
- hqUrl: "https://app.formbricks.com",
- formId: "cldipcgat0000mn0g31a8pdse",
- containerId: "formbricks-survey", // needs to be set
-},
-```
-
-2. All you have to do then is to set the `id` of the inner div of your Modal accordingly:
-
-```tsx
-
-```
-
-3. If you have several Best Practices embedded, you have to **make sure to use unique `id's`.**
-
-## Full Example
-
-Here is a full example file for React.js, TailwindCSS and HeadlessUI:
-
-```tsx
-import { Dialog, Transition } from "@headlessui/react";
-import { Fragment, useEffect, useState } from "react";
-
-export default function Demo() {
- const [initialized, setInitialized] = useState(false);
- useEffect(() => {
- window.formbricks = {
- ...window.formbricks,
- config: {
- hqUrl: process.env.NEXT_PUBLIC_FORMBRICKS_URL,
- formId: process.env.NEXT_PUBLIC_FORMBRICKS_FORM_ID,
- divId: "formbricks-container",
- contact: {
- name: "Matti",
- position: "Co-Founder",
- imgUrl: "https://avatars.githubusercontent.com/u/675065?s=128&v=4",
- },
- },
- };
- // @ts-ignore
- import("@formbricks/feedback").then(() => setInitialized(true));
- }, []);
-
- useEffect(() => {
- if (initialized) {
- window.formbricks.render();
- }
- }, [initialized]);
-
- return (
-
-
-
- );
-}
-```
-
-## That's it 🎉
-
-You’re Best Practice loads whenever the modal is opened. When the content of the Best Practice did not load correctly, the Modal will not open.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/pop-over/demo.tsx b/apps/formbricks-com-old/pages/docs/wrappers/pop-over/demo.tsx
deleted file mode 100644
index 4c6b04192b..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/pop-over/demo.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { FeedbackButton } from "@/components/docs/FeedbackButtonPopover";
-
-export default function PopOverDemo() {
- return (
-
-
-
- );
-}
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/pop-over/index.mdx b/apps/formbricks-com-old/pages/docs/wrappers/pop-over/index.mdx
deleted file mode 100644
index f0e692b670..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/pop-over/index.mdx
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import Link from "next/link";
-import ResponsiveEmbed from "react-responsive-embed";
-
-export const meta = {
- title: "In-app Pop-overs",
-};
-
-The pop-over opens a little survey window with the survey content when the user clicks on a button.
-
-## Example
-
-
-
-
-
-## Preparation
-
-The Best Practices come with a default pop-over in the script. We assume that you have already installed one of the Best Practices and configured it. If not, please proceed here:
-
-- Install and configure Feedback Box
-- Install and configure Product-Market Fit survey
-
-## Implementation
-
-To implement the pop-over, all you have to do is set up a button with the following onClick handler, like so:
-
-```tsx
-
-```
-
-## Full Example
-
-Here is a full example file for React.js with TailwindCSS:
-
-```tsx
-import { Button } from "@formbricks/ui";
-import { useEffect, useRef, useState } from "react";
-
-declare global {
- interface Window {
- formbricks: any;
- }
-}
-
-export function FeedbackButton() {
- useEffect(() => {
- window.formbricks = {
- ...window.formbricks,
- config: {
- formbricksUrl: https://app.formbricks.com",
- formId: "abcdefg",
- contact: {
- name: "Matti",
- position: "Co-Founder",
- imgUrl: "https://avatars.githubusercontent.com/u/675065?s=128&v=4",
- },
- },
- };
- // @ts-ignore
- import("@formbricks/feedback");
- }, []);
-
- return (
-
- );
-}
-```
-
-## That’s it! 🎉
-
-You’re Best Practice survey should open on button click.
-
-export default ({ children }) => {children};
diff --git a/apps/formbricks-com-old/pages/docs/wrappers/slide-out/index.mdx b/apps/formbricks-com-old/pages/docs/wrappers/slide-out/index.mdx
deleted file mode 100644
index 4d28ee4303..0000000000
--- a/apps/formbricks-com-old/pages/docs/wrappers/slide-out/index.mdx
+++ /dev/null
@@ -1,127 +0,0 @@
-import { Layout } from "@/components/docs/Layout";
-import { Fence } from "@/components/shared/Fence";
-import Link from "next/link";
-import ResponsiveEmbed from "react-responsive-embed";
-import { Callout } from "@/components/shared/Callout";
-
-export const meta = {
- title: "In-app slide-outs",
-};
-
-The slide-out is placed on the side of the page (bottom on mobile) and can be opened by clicking a button. It's a great way to show an always present feedback form or survey to your users.
-
-
- Currently the slide-out wrapper is a custom integration that needs to be implemented by you. We are working
- on a more convenient way to integrate the slide-out in the near-future.
-
-
-## Example
-
-
-
-
-
-## Preparation
-
-The Best Practices come with a default slide-out in the script. We assume that you have already installed one of the Best Practices and configured it. If not, please proceed here:
-
-- Install and configure Feedback Box
-- Install and configure Product-Market Fit survey
-
-## Full Example
-
-Here is a full example file for React.js with TailwindCSS:
-
-```tsx
-import clsx from "clsx";
-import { useEffect, useRef, useState } from "react";
-
-declare global {
- interface Window {
- formbricks: any;
- }
-}
-
-export function FeedbackButton() {
- const [isOpen, setIsOpen] = useState(false);
- const feedbackRef = useRef(null);
-
- useEffect(() => {
- // Close the feedback form if the user clicks outside of it
- function handleClickOutside(event: any) {
- if (feedbackRef.current && !feedbackRef.current.contains(event.target)) {
- if (isOpen) setIsOpen(false);
- }
- }
- // Bind the event listener
- document.addEventListener("mousedown", handleClickOutside);
- return () => {
- // Unbind the event listener on clean up
- document.removeEventListener("mousedown", handleClickOutside);
- };
- }, [feedbackRef, isOpen]);
-
- useEffect(() => {
- window.formbricks = {
- ...window.formbricks,
- config: {
- formbricksUrl: https://app.formbricks.com",
- formId: "abcdefg",
- containerId: "formbricks-feedback-wrapper",
- contact: {
- name: "Matti",
- position: "Co-Founder",
- imgUrl: "https://avatars.githubusercontent.com/u/675065?s=128&v=4",
- },
- },
- };
- // @ts-ignore
- import("@formbricks/feedback");
- }, []);
-
- return (
- <>
-