From f3d21c50ab9513653e9ecc00c1b5d13402db017a Mon Sep 17 00:00:00 2001
From: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
Date: Mon, 17 Feb 2025 15:17:50 +0530
Subject: [PATCH] fix: broken links and redirect in docs (#4741)
---
docs/README.md | 2 +-
docs/api-reference/introduction.mdx | 2 +-
docs/mint.json | 256 +++++++++++++++++-
docs/self-hosting/advanced/migration.mdx | 4 +-
.../configuration/integrations/airtable.mdx | 14 +-
.../integrations/google-sheets.mdx | 14 +-
.../configuration/integrations/n8n.mdx | 18 +-
.../configuration/integrations/notion.mdx | 14 +-
.../configuration/integrations/slack.mdx | 14 +-
.../configuration/integrations/zapier.mdx | 14 +-
docs/self-hosting/overview.mdx | 2 +-
docs/self-hosting/setup/docker.mdx | 4 +-
docs/self-hosting/setup/one-click.mdx | 2 +-
.../integrations/activepieces.mdx | 2 +-
.../core-features/integrations/airtable.mdx | 2 +-
.../core-features/integrations/make.mdx | 2 +-
.../core-features/integrations/n8n.mdx | 4 +-
.../core-features/integrations/wordpress.mdx | 4 +-
.../core-features/integrations/zapier.mdx | 6 +-
docs/xm-and-surveys/overview.mdx | 4 -
.../xm/best-practices/cancel-subscription.mdx | 4 +-
.../xm/best-practices/docs-feedback.mdx | 4 +-
.../best-practices/improve-email-content.mdx | 6 -
.../xm/best-practices/improve-trial-cr.mdx | 4 +-
.../xm/best-practices/interview-prompt.mdx | 4 +-
.../xm/best-practices/pmf-survey.mdx | 6 +-
26 files changed, 308 insertions(+), 104 deletions(-)
diff --git a/docs/README.md b/docs/README.md
index 4cbe0750c0..7c14a5c0cf 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -24,7 +24,7 @@ mintlify dev
### Publishing Changes
-Install our Github App to auto propagate changes from your repo to your deployment. Changes will be deployed to production automatically after pushing to the default branch. Find the link to install on your dashboard.
+Install our Github App to auto propagate changes from your repo to your deployment. Changes will be deployed to production automatically after pushing to the default branch. Find the link to install on your dashboard.
#### Troubleshooting
diff --git a/docs/api-reference/introduction.mdx b/docs/api-reference/introduction.mdx
index 4bad907b79..854b65f0b0 100644
--- a/docs/api-reference/introduction.mdx
+++ b/docs/api-reference/introduction.mdx
@@ -7,7 +7,7 @@ Formbricks offers two types of APIs: the **Public Client API** and the **Managem
### API Key Setup
-Checkout the [API Key Setup](/development/rest-api) to access the Management APIs with an API Key.
+Checkout the [API Key Setup](/api-reference/rest-api) to access the Management APIs with an API Key.
If you’ve forked the collection and are running it, update the `apiKey` and `environmentId` in the collection variables with your values. We also provide post-run scripts to help auto-assign variables when running scripts.
diff --git a/docs/mint.json b/docs/mint.json
index 972050d4d9..587f7093ec 100644
--- a/docs/mint.json
+++ b/docs/mint.json
@@ -204,12 +204,12 @@
"group": "Integrations",
"icon": "bridge",
"pages": [
- "self-hosting/configuration/airtable",
- "self-hosting/configuration/google-sheets",
- "self-hosting/configuration/n8n",
- "self-hosting/configuration/notion",
- "self-hosting/configuration/slack",
- "self-hosting/configuration/zapier"
+ "self-hosting/configuration/integrations/airtable",
+ "self-hosting/configuration/integrations/google-sheets",
+ "self-hosting/configuration/integrations/n8n",
+ "self-hosting/configuration/integrations/notion",
+ "self-hosting/configuration/integrations/slack",
+ "self-hosting/configuration/integrations/zapier"
]
}
]
@@ -334,7 +334,7 @@
"source": "/docs/link-surveys/global/limit-submissions"
},
{
- "destination": "/docs/xm-and-surveys/surveys/general-features/multi-language-surveys",
+ "destination": "/docs/xm-and-surveys/surveys/general-features/market-research-panel",
"permanent": true,
"source": "/docs/link-surveys/market-research-panel"
},
@@ -398,20 +398,170 @@
"permanent": true,
"source": "/docs/link-surveys/verify-email-before-survey"
},
+ {
+ "source": "/docs/app-surveys/global/add-image-or-video-question",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/general-features/add-image-or-video-question"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/consent",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/consent"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/statement-cta",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/statement-cta"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/airtable",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/airtable"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/zapier",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/zapier"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/wordpress",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/wordpress"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/slack",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/slack"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/n8n",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/n8n"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/notion",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/notion"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/google-sheets",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/google-sheets"
+ },
{
"destination": "/docs/xm-and-surveys/surveys/website-app-surveys/quickstart",
"permanent": true,
"source": "/docs/app-surveys/quickstart"
},
+ {
+ "destination": "/docs/xm-and-surveys/core-features/question-type/address",
+ "permanent": true,
+ "source": "/docs/core-features/global/question-type/address"
+ },
{
"destination": "/docs/xm-and-surveys/surveys/website-app-surveys/framework-guides",
"permanent": true,
"source": "/docs/app-surveys/framework-guides"
},
+ {
+ "destination": "/docs/xm-and-surveys/core-features/integrations/activepieces",
+ "permanent": true,
+ "source": "/docs/developer-docs/integrations/activepieces"
+ },
+ {
+ "destination": "/docs/xm-and-surveys/core-features/user-management",
+ "permanent": true,
+ "source": "/docs/core-features/global/access-roles"
+ },
+ {
+ "destination": "/docs/xm-and-surveys/core-features/styling-theme",
+ "permanent": true,
+ "source": "/docs/core-features/global/styling-theme"
+ },
+ {
+ "destination": "/docs/xm-and-surveys/core-features/email-customization",
+ "permanent": true,
+ "source": "/docs/core-features/global/email-customization"
+ },
+ {
+ "destination": "/docs/self-hosting/setup/one-click",
+ "permanent": true,
+ "source": "/docs/self-hosting/one-click"
+ },
+ {
+ "destination": "/docs/self-hosting/configuration/custom-ssl",
+ "permanent": true,
+ "source": "/docs/self-hosting/custom-ssl"
+ },
+ {
+ "destination": "/docs/self-hosting/setup/docker",
+ "permanent": true,
+ "source": "/docs/self-hosting/docker"
+ },
+ {
+ "destination": "/docs/self-hosting/setup/cluster-setup",
+ "permanent": true,
+ "source": "/docs/self-hosting/cluster-setup"
+ },
+ {
+ "destination": "/docs/self-hosting/advanced/migration",
+ "permanent": true,
+ "source": "/docs/self-hosting/migration-guide"
+ },
+ {
+ "source": "/docs/self-hosting/integrations",
+ "permanent": true,
+ "destination": "/docs/self-hosting/configuration/integrations"
+ },
+ {
+ "source": "/docs/self-hosting/license",
+ "permanent": true,
+ "destination": "/docs/self-hosting/advanced/license"
+ },
+ {
+ "source": "/docs/self-hosting/rate-limiting",
+ "permanent": true,
+ "destination": "/docs/self-hosting/advanced/rate-limiting"
+ },
+ {
+ "source": "/docs/self-hosting/kubernetes",
+ "permanent": true,
+ "destination": "/docs/self-hosting/setup/cluster-setup"
+ },
+ {
+ "source": "/docs/developer-docs/overview",
+ "permanent": true,
+ "destination": "/docs/development/overview"
+ },
+ {
+ "source": "/docs/developer-docs/js-sdk",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/website-app-surveys/framework-guides"
+ },
+ {
+ "source": "docs/developer-docs/react-native-in-app-surveys",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/website-app-surveys/framework-guides#react-native"
+ },
+ {
+ "source": "/docs/developer-docs/rest-api",
+ "permanent": true,
+ "destination": "/docs/api-reference/rest-api"
+ },
+ {
+ "source": "/docs/developer-docs/webhooks",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/webhooks"
+ },
+ {
+ "source": "/docs/developer-docs/contributing/get-started",
+ "permanent": true,
+ "destination": "/docs/development/contribution/contribution"
+ },
{
"destination": "/docs/xm-and-surveys/surveys/website-app-surveys/actions",
"permanent": true,
- "source": "/app-surveys/actions"
+ "source": "/docs/app-surveys/actions"
},
{
"destination": "/docs/xm-and-surveys/surveys/website-app-surveys/advanced-targeting",
@@ -437,6 +587,96 @@
"destination": "/docs/xm-and-surveys/surveys/general-features/metadata",
"permanent": true,
"source": "/docs/app-surveys/global/metadata"
+ },
+ {
+ "source": "/docs/api-docs",
+ "permanent": true,
+ "destination": "/docs/api-reference"
+ },
+ {
+ "source": "/docs/developer-docs/contributing/troubleshooting",
+ "permanent": true,
+ "destination": "/docs/development/troubleshooting"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/file-upload",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/file-upload"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/picture-selection",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/select-picture"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/rating",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/rating"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/date",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/date"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/schedule",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/schedule-a-meeting"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/free-text",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/free-text"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/single-select",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/select-single"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/multiple-select",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/select-multiple"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/matrix",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/matrix"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/make",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/make"
+ },
+ {
+ "source": "/docs/developer-docs/integrations/overview",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/integrations/overview"
+ },
+ {
+ "source": "/docs/app-surveys/global/hidden-fields",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/general-features/hidden-fields"
+ },
+ {
+ "source": "/docs/app-surveys/global/limit-submissions",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/general-features/limit-submissions"
+ },
+ {
+ "source": "/docs/core-features/global/question-type/net-promoter-score",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/core-features/question-type/net-promoter-score"
+ },
+ {
+ "source": "/docs/link-surveys/data-prefilling",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/link-surveys/data-prefilling"
+ },
+ {
+ "source": "/docs/app-surveys/global/multi-language-surveys",
+ "permanent": true,
+ "destination": "/docs/xm-and-surveys/surveys/general-features/multi-language-surveys"
}
],
"tabs": [
diff --git a/docs/self-hosting/advanced/migration.mdx b/docs/self-hosting/advanced/migration.mdx
index 764d08944e..62f6368aec 100644
--- a/docs/self-hosting/advanced/migration.mdx
+++ b/docs/self-hosting/advanced/migration.mdx
@@ -132,7 +132,7 @@ Formbricks v2.7 includes all the features and improvements developed by the comm
### Additional Updates
-If you previously used organisation-based access control (an enterprise feature) and the `DEFAULT_ORGANIZATION_ROLE` environment variable, update its value to one of these roles: `owner`, `manager`, or `member`. Read more about the new roles in the [documentation](/global/access-roles).
+If you previously used organisation-based access control (an enterprise feature) and the `DEFAULT_ORGANIZATION_ROLE` environment variable, update its value to one of these roles: `owner`, `manager`, or `member`. Read more about the new roles in the [documentation](/xm-and-surveys/core-features/user-management).
### Steps to Migrate
@@ -889,7 +889,7 @@ For a seamless migration, below is a shell script for your self-hosted instance
### Docker & Single Script Setup
Now that these variables can be defined at runtime, you can append them inside your `x-environment` in the `docker-compose.yml` itself.
-For a more detailed guide on these environment variables, please refer to the [Important Runtime Variables](/self-hosting/docker#important-run-time-variables) section.
+For a more detailed guide on these environment variables, please refer to the [Important Runtime Variables](/self-hosting/setup/docker#important-run-time-variables) section.
```yaml docker-compose.yml
version: "3.3"
diff --git a/docs/self-hosting/configuration/integrations/airtable.mdx b/docs/self-hosting/configuration/integrations/airtable.mdx
index 443a7fb9e8..078abfe794 100644
--- a/docs/self-hosting/configuration/integrations/airtable.mdx
+++ b/docs/self-hosting/configuration/integrations/airtable.mdx
@@ -1,11 +1,7 @@
-export const metadata = {
- title: "Airtable (On Premise)",
- description: "Instantly populate your Airtable table with survey data",
-};
-
-#### On Premise: Integrations
-
-# Airtable (On Premise)
+---
+title: Airtable (On Premise)
+description: Instantly populate your Airtable table with survey data
+---
The Airtable integration allows you to automatically send responses to an Airtable of your choice.
@@ -58,6 +54,6 @@ Enabling the Airtable Integration in a self-hosted environment requires creating
* `AIRTABLE_CLIENT_ID`
-Voila! You have successfully enabled the Airtable integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in [Airtable Integration with Formbricks](/developer-docs/integrations/airtable) section to link an Airtable with Formbricks.
+Voila! You have successfully enabled the Airtable integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in [Airtable Integration with Formbricks](/xm-and-surveys/core-features/integrations/airtable) section to link an Airtable with Formbricks.
Still struggling or something not working as expected? [Join our Github Discussions](https://github.com/formbricks/formbricks/discussions) and we'd be glad to assist you!
diff --git a/docs/self-hosting/configuration/integrations/google-sheets.mdx b/docs/self-hosting/configuration/integrations/google-sheets.mdx
index 5ec422603b..570a0fbc5d 100644
--- a/docs/self-hosting/configuration/integrations/google-sheets.mdx
+++ b/docs/self-hosting/configuration/integrations/google-sheets.mdx
@@ -1,11 +1,7 @@
-export const metadata = {
- title: "Google Sheets (On Premise)",
- description: "Instantly populate your Google Sheet table with survey data",
-};
-
-#### On Premise: Integrations
-
-# Google Sheets (On Premise)
+---
+title: Google Sheets (On Premise)
+description: Instantly populate your Google Sheet table with survey data
+---
The Google Sheets integration allows you to automatically send responses to an Google Sheets of your choice.
@@ -87,6 +83,6 @@ Now just copy **GOOGLE\_SHEETS\_CLIENT\_ID**, **GOOGLE\_SHEETS\_CLIENT\_SECRET**
* `GOOGLE_SHEETS_REDIRECT_URL`
-Voila! You have successfully enabled the Google Sheets integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in [Google Sheets Integration with Formbricks](/developer-docs/integrations/google-sheets) section to link a Google Sheet with Formbricks.
+Voila! You have successfully enabled the Google Sheets integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in [Google Sheets Integration with Formbricks](/xm-and-surveys/core-features/integrations/google-sheets) section to link a Google Sheet with Formbricks.
Still struggling or something not working as expected? [Join our Github Discussions](https://github.com/formbricks/formbricks/discussions) and we'd be glad to assist you!
diff --git a/docs/self-hosting/configuration/integrations/n8n.mdx b/docs/self-hosting/configuration/integrations/n8n.mdx
index c27c326de5..a38a0c7a26 100644
--- a/docs/self-hosting/configuration/integrations/n8n.mdx
+++ b/docs/self-hosting/configuration/integrations/n8n.mdx
@@ -1,11 +1,7 @@
-export const metadata = {
- title: "n8n (On Premise)",
- description: "Set up automations with your self-hosted n8n instance.",
-};
-
-#### On Premise: Integrations
-
-# n8n (On Premise)
+---
+title: n8n (On Premise)
+description: Set up automations with your self-hosted n8n instance.
+---
The n8n integration allows you to create automations based on survey responses.
@@ -32,7 +28,7 @@ Enabling the n8n integration in a self-hosted environment requires a new workflo

-Now you need an API key. Please refer to the [API Key Setup](/additional-features/api#how-to-generate-an-api-key) page to learn how to create one.
+Now you need an API key. Please refer to the [API Key Setup](/api-reference/rest-api#how-to-generate-an-api-key) page to learn how to create one.
Once you copied it in the API Key field, hit Save button to test the connection and save the credentials.
@@ -52,7 +48,7 @@ Here, we are selecting two surveys.

-* Test your trigger: In order to set up n8n you'll need a test response in the selected survey. This allows you to select the individual values of each response in your workflow. If you have Formbricks running locally and you want to set up an app survey, you can use our [Demo App](/contributing/demo) to trigger a survey and submit a response.
+* Test your trigger: In order to set up n8n you'll need a test response in the selected survey. This allows you to select the individual values of each response in your workflow.

@@ -78,7 +74,7 @@ Once the execution is successful, you'll receive the content in the discord chan

-Voila! You have successfully enabled the n8n integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in the [Formbricks](/developer-docs/integrations/n8n) Integrations section to know more about the capabilities with Formbricks with n8n.
+Voila! You have successfully enabled the n8n integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in the [Formbricks](/xm-and-surveys/core-features/integrations/n8n) Integrations section to know more about the capabilities with Formbricks with n8n.
Still struggling or something not working as expected? [Join our Github Discussions](https://github.com/formbricks/formbricks/discussions) and we'd be glad to assist you!
diff --git a/docs/self-hosting/configuration/integrations/notion.mdx b/docs/self-hosting/configuration/integrations/notion.mdx
index ad852684bd..a9930a9ed7 100644
--- a/docs/self-hosting/configuration/integrations/notion.mdx
+++ b/docs/self-hosting/configuration/integrations/notion.mdx
@@ -1,11 +1,7 @@
-export const metadata = {
- title: "Notion (On Premise)",
- description: "Instantly populate a Notion database with survey data",
-};
-
-#### On Premise: Integrations
-
-# Notion (On Premise)
+---
+title: Notion (On Premise)
+description: Instantly populate a Notion database with survey data
+---
The Notion integration allows you to automatically send responses to a Notion database of your choice.
@@ -41,7 +37,7 @@ Enabling the Notion Integration in a self-hosted environment requires a setup us
* `NOTION_OAUTH_CLIENT_SECRET` - OAuth Client Secret
-Voila! You have successfully enabled the Notion integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in [Notion Integration with Formbricks](/developer-docs/integrations/notion) section to link your Notion with Formbricks.
+Voila! You have successfully enabled the Notion integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in [Notion Integration with Formbricks](/xm-and-surveys/core-features/integrations/notion) section to link your Notion with Formbricks.
Still struggling or something not working as expected? [Join our Github Discussions](https://github.com/formbricks/formbricks/discussions) and we'd be glad to assist you!
diff --git a/docs/self-hosting/configuration/integrations/slack.mdx b/docs/self-hosting/configuration/integrations/slack.mdx
index 1607d20916..2f5d94af48 100644
--- a/docs/self-hosting/configuration/integrations/slack.mdx
+++ b/docs/self-hosting/configuration/integrations/slack.mdx
@@ -1,11 +1,7 @@
-export const metadata = {
- title: "Slack (On Premise)",
- description: "Send survey responses automatically to Slack workspace.",
-};
-
-#### On Premise: Integrations
-
-# Slack (On Premise)
+---
+title: Slack (On Premise)
+description: Send survey responses automatically to Slack workspace.
+---
Send survey responses automatically to Slack workspace.
@@ -57,7 +53,7 @@ Enabling the Slack Integration in a self-hosted environment requires a setup usi
* Scroll down to the **Share your app with other workspaces** section, complete the checklist and click on the **Activate public distribution** button.
-Voila! You have successfully enabled the Slack integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in the [Slack Integration](/developer-docs/integrations/slack) section to link a Slack workspace with Formbricks.
+Voila! You have successfully enabled the Slack integration in your self-hosted Formbricks instance. Now you can follow the steps mentioned in the [Slack Integration](/xm-and-surveys/core-features/integrations/slack) section to link a Slack workspace with Formbricks.
diff --git a/docs/self-hosting/configuration/integrations/zapier.mdx b/docs/self-hosting/configuration/integrations/zapier.mdx
index 30b9e22c80..89923fb246 100644
--- a/docs/self-hosting/configuration/integrations/zapier.mdx
+++ b/docs/self-hosting/configuration/integrations/zapier.mdx
@@ -1,11 +1,7 @@
-export const metadata = {
- title: "Zapier (On Premise)",
- description: "Set up automations with your self-hosted Zapier instance.",
-};
-
-#### On Premise: Integrations
-
-# Zapier (On Premise)
+---
+title: Zapier (On Premise)
+description: Set up automations with your self-hosted Zapier instance.
+---
The Zapier integration allows you to create automations based on survey responses.
@@ -31,7 +27,7 @@ Connect Formbricks with Zapier: You have to connect Zapier with Formbricks via a

-Now you need an API key. Please refer to the [API Key Setup](/developer-docs/rest-api##how-to-generate-an-api-key) page to learn how to create one.
+Now you need an API key. Please refer to the [API Key Setup](/api-reference/rest-api#how-to-generate-an-api-key) page to learn how to create one.
Once you copied it in the newly opened Zapier window, you will be connected:
diff --git a/docs/self-hosting/overview.mdx b/docs/self-hosting/overview.mdx
index e7677926d4..cead8adbe1 100644
--- a/docs/self-hosting/overview.mdx
+++ b/docs/self-hosting/overview.mdx
@@ -20,7 +20,7 @@ icon: "server"
* [**Docker Setup**](/self-hosting/setup/docker)**:** Use our pre-built Docker image for an effortless start.
-* [**Migration Guide**](/self-hosting/setup/migration)**:** Upgrade your existing Formbricks instance smoothly.
+* [**Migration Guide**](/self-hosting/advanced/migration)**:** Upgrade your existing Formbricks instance smoothly.
* [**Configuration**](/self-hosting/configuration)**:** Customize your setup with advanced configurations.
diff --git a/docs/self-hosting/setup/docker.mdx b/docs/self-hosting/setup/docker.mdx
index d4bf7219d7..682803f965 100644
--- a/docs/self-hosting/setup/docker.mdx
+++ b/docs/self-hosting/setup/docker.mdx
@@ -72,7 +72,7 @@ Once the setup is running, open [**http://localhost:3000**](http://localhost:300
## Update
-Please take a look at our [migration guide](/migration-guide) for version specific steps to update Formbricks.
+Please take a look at our [migration guide](/self-hosting/advanced/migration) for version specific steps to update Formbricks.
* Pull the latest Formbricks image
@@ -142,7 +142,7 @@ You can close the logs again by hitting `CTRL + C`.
**Customizing environment variables**
- To edit any of the available environment variables, check out our [Configure](/configuration) section!
+ To edit any of the available environment variables, check out our [Configure](/self-hosting/configuration) section!
If you have any questions or require help, feel free to reach out to us on [**GitHub Discussions**](https://github.com/formbricks/formbricks/discussions). 😃[
diff --git a/docs/self-hosting/setup/one-click.mdx b/docs/self-hosting/setup/one-click.mdx
index 7006e03ac1..303438b8ba 100644
--- a/docs/self-hosting/setup/one-click.mdx
+++ b/docs/self-hosting/setup/one-click.mdx
@@ -14,7 +14,7 @@ If you’re looking to quickly set up a production instance of Formbricks on an
This setup uses **Traefik** as a **reverse proxy**, essential for directing incoming traffic to the correct container and enabling secure internet access to Formbricks. Traefik is chosen for its simplicity and automatic SSL management via Let’s Encrypt.
-For other operating systems or a more customized installation, please refer to the advanced installation guide with [Docker](/self-hosting/docker).
+For other operating systems or a more customized installation, please refer to the advanced installation guide with [Docker](/self-hosting/setup/docker).
### Requirements
diff --git a/docs/xm-and-surveys/core-features/integrations/activepieces.mdx b/docs/xm-and-surveys/core-features/integrations/activepieces.mdx
index a257e5988a..c26957fd61 100644
--- a/docs/xm-and-surveys/core-features/integrations/activepieces.mdx
+++ b/docs/xm-and-surveys/core-features/integrations/activepieces.mdx
@@ -38,7 +38,7 @@ Click on `Create connection`:

-Enter the Formbricks API Host and API Key. API Host is by default set to https://app.formbricks.com but can be modified for self-hosting instances. Learn how to get an API Key from the [API Key tutorial](/additional-features/api#how-to-generate-an-api-key).
+Enter the Formbricks API Host and API Key. API Host is by default set to https://app.formbricks.com but can be modified for self-hosting instances. Learn how to get an API Key from the [API Key tutorial](/api-reference/rest-api#how-to-generate-an-api-key).

diff --git a/docs/xm-and-surveys/core-features/integrations/airtable.mdx b/docs/xm-and-surveys/core-features/integrations/airtable.mdx
index 80b30069da..26764eb9d6 100644
--- a/docs/xm-and-surveys/core-features/integrations/airtable.mdx
+++ b/docs/xm-and-surveys/core-features/integrations/airtable.mdx
@@ -28,7 +28,7 @@ The Airtable integration allows you to automatically send responses to an Airtab
3. You will now be taken to a page where you need to add and grant access to the base you want to use for the integration.
-
+
4. Once you add and grant access to your base, you will be taken back to Formbricks Cloud and see the connected status as below:
diff --git a/docs/xm-and-surveys/core-features/integrations/make.mdx b/docs/xm-and-surveys/core-features/integrations/make.mdx
index 0b977154d3..195f07dbe4 100644
--- a/docs/xm-and-surveys/core-features/integrations/make.mdx
+++ b/docs/xm-and-surveys/core-features/integrations/make.mdx
@@ -51,7 +51,7 @@ Click "Create a webhook":

-Enter the Formbricks API Host and API Key. API Host is by default set to https://app.formbricks.com but can be modified for self hosting instances. Learn how to get an API Key from the [API Key tutorial](/additional-features/api#how-to-generate-an-api-key).
+Enter the Formbricks API Host and API Key. API Host is by default set to https://app.formbricks.com but can be modified for self hosting instances. Learn how to get an API Key from the [API Key tutorial](/api-reference/rest-api#how-to-generate-an-api-key).

diff --git a/docs/xm-and-surveys/core-features/integrations/n8n.mdx b/docs/xm-and-surveys/core-features/integrations/n8n.mdx
index 2b46941a31..e80e153605 100644
--- a/docs/xm-and-surveys/core-features/integrations/n8n.mdx
+++ b/docs/xm-and-surveys/core-features/integrations/n8n.mdx
@@ -53,7 +53,7 @@ Click on Create New Credentail button to add your host and API Key

-Now you need an API key. Please refer to the [API Key Setup](/additional-features/api#how-to-generate-an-api-key) page to learn how to create one.
+Now you need an API key. Please refer to the [API Key Setup](/api-reference/rest-api#how-to-generate-an-api-key) page to learn how to create one.
Once you copied it in the API Key field, hit Save button to test the connection and save the credentials.
@@ -79,7 +79,7 @@ Here, we are selecting two surveys.
## Step 6: Test your trigger
-In order to set up n8n you'll need a test response in the selected survey. This allows you to select the individual values of each response in your workflow. If you have Formbricks running locally and you want to set up an an app or a website survey, you can use our [Demo App](/contributing/demo) to trigger a survey and submit a response.
+In order to set up n8n you'll need a test response in the selected survey. This allows you to select the individual values of each response in your workflow.

diff --git a/docs/xm-and-surveys/core-features/integrations/wordpress.mdx b/docs/xm-and-surveys/core-features/integrations/wordpress.mdx
index 0591f0b9e3..831777cce0 100644
--- a/docs/xm-and-surveys/core-features/integrations/wordpress.mdx
+++ b/docs/xm-and-surveys/core-features/integrations/wordpress.mdx
@@ -51,9 +51,7 @@ Great!
## Step 5: Create survey on trigger “New Session”
-Now that all is setup, we create a survey to display an example survey. Pick any template here:
-
-
+Now that all is setup, we create a survey to display an example survey. Create a survey and open survey editor.
Keep the content for now, click on the Settings tab:
diff --git a/docs/xm-and-surveys/core-features/integrations/zapier.mdx b/docs/xm-and-surveys/core-features/integrations/zapier.mdx
index 64b082efa5..f0343eee9e 100644
--- a/docs/xm-and-surveys/core-features/integrations/zapier.mdx
+++ b/docs/xm-and-surveys/core-features/integrations/zapier.mdx
@@ -29,7 +29,7 @@ _In every question card in the Advanced Settings you find the Question ID field.
## Step 2: 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 app or a website survey, you can use our [Demo App](/contributing/demo) to trigger a survey and submit a 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.

@@ -52,7 +52,7 @@ 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](/additional-features/api#how-to-generate-an-api-key) page to learn how to create one.
+Now you need an API key. Please refer to the [API Key Setup](/api-reference/rest-api#how-to-generate-an-api-key) page to learn how to create one.
Once you copied it in the newly opened Zapier window, you will be connected:
@@ -78,7 +78,7 @@ Now you have all the data you need at hand. The next steps depend on what you wa

-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](/app-surveys/user-identification) of the person who submitted the survey.
+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](/xm-and-surveys/surveys/website-app-surveys/user-identification) of the person who submitted the survey.

diff --git a/docs/xm-and-surveys/overview.mdx b/docs/xm-and-surveys/overview.mdx
index f732859e68..960700fd58 100644
--- a/docs/xm-and-surveys/overview.mdx
+++ b/docs/xm-and-surveys/overview.mdx
@@ -33,7 +33,3 @@ We're working on a fully compliant way to leverage AI to harvest insights from u
## Integrate & Automate
Experience Management scales best, when it is automated. Webhooks and the comprehensive REST API make it fast and easy to build integrations into your existing tech stack. Formbricks also powers integrations for n8n, ActivePieces, Zapier and Make.com to build any flow that you need.
-
-
-
-
\ No newline at end of file
diff --git a/docs/xm-and-surveys/xm/best-practices/cancel-subscription.mdx b/docs/xm-and-surveys/xm/best-practices/cancel-subscription.mdx
index ee14d3aa7b..fc6ae68d10 100644
--- a/docs/xm-and-surveys/xm/best-practices/cancel-subscription.mdx
+++ b/docs/xm-and-surveys/xm/best-practices/cancel-subscription.mdx
@@ -35,7 +35,7 @@ To run the Churn Survey in your app you want to proceed as follows:
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.)](/app-surveys/quickstart)
+ 15mins max.)](/xm-and-surveys/surveys/website-app-surveys/quickstart)
### 1. Create new Churn Survey
@@ -78,7 +78,7 @@ To create the trigger for your Churn Survey, you have three options to choose fr
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](/app-surveys/actions/) covering [No-Code](/app-surveys/actions#setting-up-no-code-actions) and [Code](/app-surveys/actions#setting-up-code-actions) Actions.
+Here is our complete [Actions manual](/xm-and-surveys/surveys/website-app-surveys/actions/) covering [No-Code](/xm-and-surveys/surveys/website-app-surveys/actions#setting-up-no-code-actions) and [Code](/xm-and-surveys/surveys/website-app-surveys/actions#setting-up-code-actions) Actions.
Pre-churn flow coming soon We’re currently building full-screen survey
diff --git a/docs/xm-and-surveys/xm/best-practices/docs-feedback.mdx b/docs/xm-and-surveys/xm/best-practices/docs-feedback.mdx
index 2f83c615d8..0bb487a586 100644
--- a/docs/xm-and-surveys/xm/best-practices/docs-feedback.mdx
+++ b/docs/xm-and-surveys/xm/best-practices/docs-feedback.mdx
@@ -250,7 +250,7 @@ return (
## 3. Connecting to the Formbricks API
-The last step is to hook up your new frontend to the Formbricks API. To achieve that, we followed the “[Create Response](/api/client/responses#create-a-response)” and “[Update Response](/api/client/responses#update-a-response)” pages in our docs.
+The last step is to hook up your new frontend to the Formbricks API. To achieve that, we followed the “[Create Response](/api-reference/client-api->-response/create-response)” and “[Update Response](/api-reference/client-api->-response/update-response)” pages in our docs.
Here is the code for the `handleFeedbackSubmit` function with comments:
@@ -344,7 +344,7 @@ Before you roll it out in production, you want to test it. To do so, you need tw
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`:
diff --git a/docs/xm-and-surveys/xm/best-practices/improve-email-content.mdx b/docs/xm-and-surveys/xm/best-practices/improve-email-content.mdx
index 29ed039618..99750428ac 100644
--- a/docs/xm-and-surveys/xm/best-practices/improve-email-content.mdx
+++ b/docs/xm-and-surveys/xm/best-practices/improve-email-content.mdx
@@ -64,9 +64,3 @@ Click the button with the “View Embed Code” text at the top right corner of

Send a test email to yourself and try it out 🤓
-
-### Learn about data prefilling
-
-
-How does data prefilling work? Learn about how link prefilling and user identification maximize your insights in [this guide](/blog/how-smart-writers-use-formbricks-open-source-tool-to-measure-the-quality-of-their-newsletter-content).
-
\ No newline at end of file
diff --git a/docs/xm-and-surveys/xm/best-practices/improve-trial-cr.mdx b/docs/xm-and-surveys/xm/best-practices/improve-trial-cr.mdx
index 77780d2106..c4cada2faa 100644
--- a/docs/xm-and-surveys/xm/best-practices/improve-trial-cr.mdx
+++ b/docs/xm-and-surveys/xm/best-practices/improve-trial-cr.mdx
@@ -25,7 +25,7 @@ To display the Trial Conversion Survey in your app you want to proceed as follow
### Is the Formbricks Widget Running?
- We assume you’ve already installed the Formbricks Widget in your web app, as it’s required to display messages and surveys. If not, follow the [Quick Start Guide (takes 15 mins max.)](/app-surveys/quickstart).
+ We assume you’ve already installed the Formbricks Widget in your web app, as it’s required to display messages and surveys. If not, follow the [Quick Start Guide (takes 15 mins max.)](/xm-and-surveys/surveys/website-app-surveys/quickstart).
### 1. Create new Trial Conversion Survey
@@ -70,7 +70,7 @@ Whenever a user visits this page, the survey will be displayed ✅

-Please have a look at our complete [Actions manual](/product/website-app-surveys/actions) if you have questions.
+Please have a look at our complete [Actions manual](/xm-and-surveys/surveys/website-app-surveys/actions) if you have questions.
### 5. Select Action in the “When to ask” card
diff --git a/docs/xm-and-surveys/xm/best-practices/interview-prompt.mdx b/docs/xm-and-surveys/xm/best-practices/interview-prompt.mdx
index f9a4647541..1ba5636010 100644
--- a/docs/xm-and-surveys/xm/best-practices/interview-prompt.mdx
+++ b/docs/xm-and-surveys/xm/best-practices/interview-prompt.mdx
@@ -64,7 +64,7 @@ Save, and move over to the “Audience” tab.
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](/app-surveys/user-identification).
+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](/xm-and-surveys/surveys/website-app-surveys/user-identification).
Great, now only the “Power User” segment will see our Interview Prompt. But when will they see it?
@@ -101,5 +101,5 @@ Scroll down to “Recontact Options”. Here you have to choose the correct sett

- Formbricks Widget running? You need to have the Formbricks Widget installed to display the Feedback Box in your app. Please follow [this tutorial (Step 4 onwards)](/app-surveys/quickstart) to install the widget.
+ Formbricks Widget running? You need to have the Formbricks Widget installed to display the Feedback Box in your app. Please follow [this tutorial (Step 4 onwards)](/xm-and-surveys/surveys/website-app-surveys/quickstart) to install the widget.
\ No newline at end of file
diff --git a/docs/xm-and-surveys/xm/best-practices/pmf-survey.mdx b/docs/xm-and-surveys/xm/best-practices/pmf-survey.mdx
index b0d39a045f..164a483408 100644
--- a/docs/xm-and-surveys/xm/best-practices/pmf-survey.mdx
+++ b/docs/xm-and-surveys/xm/best-practices/pmf-survey.mdx
@@ -24,7 +24,7 @@ To display the Product-Market Fit survey in your app you want to proceed as foll
3. Setup the user action to display survey at good point in time
- Formbricks Widget running? You need to have the Formbricks Widget installed to display the Feedback Box in your app. Please follow [this tutorial (Step 4 onwards)](/website-app-surveys/quickstart) to install the widget.
+ Formbricks Widget running? You need to have the Formbricks Widget installed to display the Feedback Box in your app. Please follow [this tutorial (Step 4 onwards)](/xm-and-surveys/surveys/website-app-surveys/quickstart) to install the widget.
### 1. Create new PMF survey
@@ -51,11 +51,11 @@ Save, and move over to where the magic happens: The “Audience” tab.
To run this survey effectively, pre-segment your user base. As mentioned earlier, asking all users can lead to misleading opinions. Focus on gathering feedback from users who have invested time in getting 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](/app-surveys/user-identification).
+**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](/xm-and-surveys/surveys/website-app-surveys/user-identification).
### 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](/app-surveys/actions/) if you are not sure how to set them up:
+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](/xm-and-surveys/surveys/website-app-surveys/actions) if you are not sure how to set them up:
