diff --git a/docs/images/surveys/best-practices/cancel-subscription/change-text.webp b/docs/images/surveys/best-practices/cancel-subscription/change-text.webp deleted file mode 100644 index 6ff799b492d5..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/change-text.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/create-cancel-flow.webp b/docs/images/surveys/best-practices/cancel-subscription/create-cancel-flow.webp deleted file mode 100644 index 6d88d33e02e1..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/create-cancel-flow.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/publish-survey.webp b/docs/images/surveys/best-practices/cancel-subscription/publish-survey.webp deleted file mode 100644 index 1452de30d6fa..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/publish-survey.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/recontact-options.webp b/docs/images/surveys/best-practices/cancel-subscription/recontact-options.webp deleted file mode 100644 index 3597c60e5faf..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/recontact-options.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/select-action.webp b/docs/images/surveys/best-practices/cancel-subscription/select-action.webp deleted file mode 100644 index a120c5770db8..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/select-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/template.webp b/docs/images/surveys/best-practices/cancel-subscription/template.webp new file mode 100644 index 000000000000..d5da000e15d0 Binary files /dev/null and b/docs/images/surveys/best-practices/cancel-subscription/template.webp differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/trigger-css-selector.webp b/docs/images/surveys/best-practices/cancel-subscription/trigger-css-selector.webp deleted file mode 100644 index 404802b219a2..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/trigger-css-selector.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/trigger-inner-text.webp b/docs/images/surveys/best-practices/cancel-subscription/trigger-inner-text.webp deleted file mode 100644 index bae93a23cdec..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/trigger-inner-text.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/trigger-page-url.webp b/docs/images/surveys/best-practices/cancel-subscription/trigger-page-url.webp deleted file mode 100644 index 71f03ec7d520..000000000000 Binary files a/docs/images/surveys/best-practices/cancel-subscription/trigger-page-url.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/cancel-subscription/trigger.webp b/docs/images/surveys/best-practices/cancel-subscription/trigger.webp new file mode 100644 index 000000000000..aa5767c1d572 Binary files /dev/null and b/docs/images/surveys/best-practices/cancel-subscription/trigger.webp differ diff --git a/docs/images/surveys/best-practices/contact-form/add-question.webp b/docs/images/surveys/best-practices/contact-form/add-question.webp deleted file mode 100644 index 2e5fd8b6a15a..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/add-question.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/contact-form/email-field.webp b/docs/images/surveys/best-practices/contact-form/email-field.webp deleted file mode 100644 index 9ccd33683eda..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/email-field.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/contact-form/embed.webp b/docs/images/surveys/best-practices/contact-form/embed.webp index 1be2dae3e1cf..7c753e2cd676 100644 Binary files a/docs/images/surveys/best-practices/contact-form/embed.webp and b/docs/images/surveys/best-practices/contact-form/embed.webp differ diff --git a/docs/images/surveys/best-practices/contact-form/message-field.webp b/docs/images/surveys/best-practices/contact-form/message-field.webp deleted file mode 100644 index a96d778c4b73..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/message-field.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/contact-form/name-field.webp b/docs/images/surveys/best-practices/contact-form/name-field.webp deleted file mode 100644 index ce60346972b8..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/name-field.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/contact-form/query-form.webp b/docs/images/surveys/best-practices/contact-form/query-form.webp deleted file mode 100644 index 206e6fe5f989..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/query-form.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/contact-form/single-select-questionare.webp b/docs/images/surveys/best-practices/contact-form/single-select-questionare.webp deleted file mode 100644 index f273729ab93b..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/single-select-questionare.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/contact-form/welcome1.webp b/docs/images/surveys/best-practices/contact-form/welcome1.webp deleted file mode 100644 index 6dee4dbeaff1..000000000000 Binary files a/docs/images/surveys/best-practices/contact-form/welcome1.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/docs-feedback/add-action.webp b/docs/images/surveys/best-practices/docs-feedback/add-action.webp deleted file mode 100644 index 04ccbf56ac86..000000000000 Binary files a/docs/images/surveys/best-practices/docs-feedback/add-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/docs-feedback/change-id.webp b/docs/images/surveys/best-practices/docs-feedback/change-id.webp deleted file mode 100644 index 92b914ce15b8..000000000000 Binary files a/docs/images/surveys/best-practices/docs-feedback/change-id.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/docs-feedback/copy-ids.webp b/docs/images/surveys/best-practices/docs-feedback/copy-ids.webp deleted file mode 100644 index 6a3ac7b7e447..000000000000 Binary files a/docs/images/surveys/best-practices/docs-feedback/copy-ids.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/docs-feedback/docs-template.webp b/docs/images/surveys/best-practices/docs-feedback/docs-template.webp deleted file mode 100644 index 0cc8fab9d3f9..000000000000 Binary files a/docs/images/surveys/best-practices/docs-feedback/docs-template.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/docs-feedback/select-action.webp b/docs/images/surveys/best-practices/docs-feedback/select-action.webp deleted file mode 100644 index 74babbaf430e..000000000000 Binary files a/docs/images/surveys/best-practices/docs-feedback/select-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/docs-feedback/survey-trigger.webp b/docs/images/surveys/best-practices/docs-feedback/survey-trigger.webp deleted file mode 100644 index 0fb2129e91c8..000000000000 Binary files a/docs/images/surveys/best-practices/docs-feedback/survey-trigger.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/action-css.webp b/docs/images/surveys/best-practices/feature-chaser/action-css.webp deleted file mode 100644 index 576e22a234c4..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/action-css.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/action-innertext.webp b/docs/images/surveys/best-practices/feature-chaser/action-innertext.webp deleted file mode 100644 index 374dbdaada18..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/action-innertext.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/change-text.webp b/docs/images/surveys/best-practices/feature-chaser/change-text.webp deleted file mode 100644 index 65eb73d10a01..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/change-text.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/create-survey.webp b/docs/images/surveys/best-practices/feature-chaser/create-survey.webp deleted file mode 100644 index 50dc09c35738..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/create-survey.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/publish.webp b/docs/images/surveys/best-practices/feature-chaser/publish.webp deleted file mode 100644 index 8f6e4af4df22..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/publish.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/recontact-options.webp b/docs/images/surveys/best-practices/feature-chaser/recontact-options.webp deleted file mode 100644 index c57c97419ce9..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/recontact-options.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/select-action.webp b/docs/images/surveys/best-practices/feature-chaser/select-action.webp deleted file mode 100644 index e04a636ff690..000000000000 Binary files a/docs/images/surveys/best-practices/feature-chaser/select-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/feature-chaser/template.webp b/docs/images/surveys/best-practices/feature-chaser/template.webp new file mode 100644 index 000000000000..c0fc3e113f1c Binary files /dev/null and b/docs/images/surveys/best-practices/feature-chaser/template.webp differ diff --git a/docs/images/surveys/best-practices/feature-chaser/trigger.webp b/docs/images/surveys/best-practices/feature-chaser/trigger.webp new file mode 100644 index 000000000000..5ec2dc253a33 Binary files /dev/null and b/docs/images/surveys/best-practices/feature-chaser/trigger.webp differ diff --git a/docs/images/surveys/best-practices/improve-email-content/choose-survey-type.webp b/docs/images/surveys/best-practices/improve-email-content/choose-survey-type.webp deleted file mode 100644 index a1a76256eb65..000000000000 Binary files a/docs/images/surveys/best-practices/improve-email-content/choose-survey-type.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-email-content/email-embed.webp b/docs/images/surveys/best-practices/improve-email-content/email-embed.webp new file mode 100644 index 000000000000..ccc6e18e59c1 Binary files /dev/null and b/docs/images/surveys/best-practices/improve-email-content/email-embed.webp differ diff --git a/docs/images/surveys/best-practices/improve-email-content/embed-survey-code-in-your-email.webp b/docs/images/surveys/best-practices/improve-email-content/embed-survey-code-in-your-email.webp deleted file mode 100644 index 32fe64525cf7..000000000000 Binary files a/docs/images/surveys/best-practices/improve-email-content/embed-survey-code-in-your-email.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-email-content/embed-survey-prompt.webp b/docs/images/surveys/best-practices/improve-email-content/embed-survey-prompt.webp deleted file mode 100644 index b00b0c8f9217..000000000000 Binary files a/docs/images/surveys/best-practices/improve-email-content/embed-survey-prompt.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-email-content/improve-newsletter-content-editor-formbricks.webp b/docs/images/surveys/best-practices/improve-email-content/improve-newsletter-content-editor-formbricks.webp deleted file mode 100644 index b51669114c68..000000000000 Binary files a/docs/images/surveys/best-practices/improve-email-content/improve-newsletter-content-editor-formbricks.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-email-content/improve-newsletter-content-survey-location.webp b/docs/images/surveys/best-practices/improve-email-content/improve-newsletter-content-survey-location.webp deleted file mode 100644 index f8666dc3ae55..000000000000 Binary files a/docs/images/surveys/best-practices/improve-email-content/improve-newsletter-content-survey-location.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-email-content/template.webp b/docs/images/surveys/best-practices/improve-email-content/template.webp new file mode 100644 index 000000000000..b277a0aec969 Binary files /dev/null and b/docs/images/surveys/best-practices/improve-email-content/template.webp differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/action-innertext.webp b/docs/images/surveys/best-practices/improve-trial-cr/action-innertext.webp deleted file mode 100644 index 168f2988c604..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/action-innertext.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/action-pageurl.webp b/docs/images/surveys/best-practices/improve-trial-cr/action-pageurl.webp deleted file mode 100644 index 542d7c1388c1..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/action-pageurl.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/change-text.webp b/docs/images/surveys/best-practices/improve-trial-cr/change-text.webp deleted file mode 100644 index 37e716fb59a1..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/change-text.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/create-survey.webp b/docs/images/surveys/best-practices/improve-trial-cr/create-survey.webp deleted file mode 100644 index b9cdc4130cf8..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/create-survey.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/publish.webp b/docs/images/surveys/best-practices/improve-trial-cr/publish.webp deleted file mode 100644 index 2f41668cceb6..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/publish.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/recontact-options.webp b/docs/images/surveys/best-practices/improve-trial-cr/recontact-options.webp deleted file mode 100644 index fabdb5830ecb..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/recontact-options.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/select-action.webp b/docs/images/surveys/best-practices/improve-trial-cr/select-action.webp deleted file mode 100644 index 4ec617c63112..000000000000 Binary files a/docs/images/surveys/best-practices/improve-trial-cr/select-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/template.webp b/docs/images/surveys/best-practices/improve-trial-cr/template.webp new file mode 100644 index 000000000000..2a633e93f71c Binary files /dev/null and b/docs/images/surveys/best-practices/improve-trial-cr/template.webp differ diff --git a/docs/images/surveys/best-practices/improve-trial-cr/trigger.webp b/docs/images/surveys/best-practices/improve-trial-cr/trigger.webp new file mode 100644 index 000000000000..2bfefdcd4ed3 Binary files /dev/null and b/docs/images/surveys/best-practices/improve-trial-cr/trigger.webp differ diff --git a/docs/images/surveys/best-practices/interview-prompt/action-css.webp b/docs/images/surveys/best-practices/interview-prompt/action-css.webp deleted file mode 100644 index 4b562cdedb07..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/action-css.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/action-innertext.webp b/docs/images/surveys/best-practices/interview-prompt/action-innertext.webp deleted file mode 100644 index 0a3e6ed9a670..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/action-innertext.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/action-pageurl.webp b/docs/images/surveys/best-practices/interview-prompt/action-pageurl.webp deleted file mode 100644 index 6bdbb0f74239..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/action-pageurl.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/add-action.webp b/docs/images/surveys/best-practices/interview-prompt/add-action.webp deleted file mode 100644 index a24c2af56d1b..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/add-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/change-text.webp b/docs/images/surveys/best-practices/interview-prompt/change-text.webp deleted file mode 100644 index 774edc27a8dd..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/change-text.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/create-prompt.webp b/docs/images/surveys/best-practices/interview-prompt/create-prompt.webp deleted file mode 100644 index 614b02f1d8b1..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/create-prompt.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/interview-example.webp b/docs/images/surveys/best-practices/interview-prompt/interview-example.webp deleted file mode 100644 index d53cd7c0486d..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/interview-example.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/publish-survey.webp b/docs/images/surveys/best-practices/interview-prompt/publish-survey.webp deleted file mode 100644 index 8bec9cf60931..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/publish-survey.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/recontact-options.webp b/docs/images/surveys/best-practices/interview-prompt/recontact-options.webp deleted file mode 100644 index c38fb671f4f6..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/recontact-options.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/select-action.webp b/docs/images/surveys/best-practices/interview-prompt/select-action.webp deleted file mode 100644 index e04a636ff690..000000000000 Binary files a/docs/images/surveys/best-practices/interview-prompt/select-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/interview-prompt/template.webp b/docs/images/surveys/best-practices/interview-prompt/template.webp new file mode 100644 index 000000000000..34ef1a3c5b9c Binary files /dev/null and b/docs/images/surveys/best-practices/interview-prompt/template.webp differ diff --git a/docs/images/surveys/best-practices/interview-prompt/trigger.webp b/docs/images/surveys/best-practices/interview-prompt/trigger.webp new file mode 100644 index 000000000000..244d7a8fe572 Binary files /dev/null and b/docs/images/surveys/best-practices/interview-prompt/trigger.webp differ diff --git a/docs/images/surveys/best-practices/panel-management/download-responses.webp b/docs/images/surveys/best-practices/panel-management/download-responses.webp deleted file mode 100644 index 2bb0bf537669..000000000000 Binary files a/docs/images/surveys/best-practices/panel-management/download-responses.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/action-css.webp b/docs/images/surveys/best-practices/pmf-survey/action-css.webp deleted file mode 100644 index d5429698fb7c..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/action-css.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/action-pageurl.webp b/docs/images/surveys/best-practices/pmf-survey/action-pageurl.webp deleted file mode 100644 index ec4f21a81a95..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/action-pageurl.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/change-text.webp b/docs/images/surveys/best-practices/pmf-survey/change-text.webp deleted file mode 100644 index 9aaeddef5f3e..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/change-text.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/create-survey.webp b/docs/images/surveys/best-practices/pmf-survey/create-survey.webp deleted file mode 100644 index d4fed2ebc6a7..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/create-survey.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/publish.webp b/docs/images/surveys/best-practices/pmf-survey/publish.webp deleted file mode 100644 index f5d3ed77ab75..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/publish.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/recontact-options.webp b/docs/images/surveys/best-practices/pmf-survey/recontact-options.webp deleted file mode 100644 index c38fb671f4f6..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/recontact-options.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/select-action.webp b/docs/images/surveys/best-practices/pmf-survey/select-action.webp deleted file mode 100644 index e04a636ff690..000000000000 Binary files a/docs/images/surveys/best-practices/pmf-survey/select-action.webp and /dev/null differ diff --git a/docs/images/surveys/best-practices/pmf-survey/template.webp b/docs/images/surveys/best-practices/pmf-survey/template.webp new file mode 100644 index 000000000000..05d6d0ee3866 Binary files /dev/null and b/docs/images/surveys/best-practices/pmf-survey/template.webp differ diff --git a/docs/images/surveys/best-practices/pmf-survey/trigger.webp b/docs/images/surveys/best-practices/pmf-survey/trigger.webp new file mode 100644 index 000000000000..27565f35c88f Binary files /dev/null and b/docs/images/surveys/best-practices/pmf-survey/trigger.webp differ diff --git a/docs/images/surveys/best-practices/research-panel/download.webp b/docs/images/surveys/best-practices/research-panel/download.webp new file mode 100644 index 000000000000..583fe93bc4a5 Binary files /dev/null and b/docs/images/surveys/best-practices/research-panel/download.webp differ diff --git a/docs/platform/features/integrations/activepieces.mdx b/docs/platform/features/integrations/activepieces.mdx index 1699546cf05d..8b26f5770fcd 100644 --- a/docs/platform/features/integrations/activepieces.mdx +++ b/docs/platform/features/integrations/activepieces.mdx @@ -1,6 +1,7 @@ --- title: "Activepieces" description: "A step-by-step guide to integrating Formbricks with Activepieces." +icon: "puzzle-piece" --- Activepieces is a versatile tool to automate workflows between Formbricks and numerous applications. Here's how to set it up. @@ -15,7 +16,7 @@ Set up the `questionId`s of your survey questions before publishing. ![Update Question ID](/images/platform/features/integrations/activepieces/update-question-id.webp) -_Update the Question ID field in every question card under Advanced Settings._ +_Update the Question ID on every question — it is the first field behind **Show Question settings** at the foot of a question card._ Already published? Duplicate survey You can only update the questionId before publishing the survey. If already published, simply duplicate it. @@ -38,7 +39,7 @@ Click on `Create connection`: ![Create Connection](/images/platform/features/integrations/activepieces/create-connection.webp) -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). +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/generate-key). ![Configure Connection](/images/platform/features/integrations/activepieces/configure-connection.webp) diff --git a/docs/platform/features/integrations/airtable.mdx b/docs/platform/features/integrations/airtable.mdx index dc64fad65a1d..4dea7de130c5 100644 --- a/docs/platform/features/integrations/airtable.mdx +++ b/docs/platform/features/integrations/airtable.mdx @@ -1,6 +1,7 @@ --- title: "Airtable" description: "A step-by-step guide to integrate Airtable with Formbricks Cloud." +icon: "table" --- The Airtable integration allows you to automatically send responses to an Airtable of your choice. diff --git a/docs/platform/features/integrations/google-sheets.mdx b/docs/platform/features/integrations/google-sheets.mdx index d60847e78d27..9b6bf75698f8 100644 --- a/docs/platform/features/integrations/google-sheets.mdx +++ b/docs/platform/features/integrations/google-sheets.mdx @@ -1,6 +1,7 @@ --- title: "Google Sheets" description: "The Google Sheets integration allows you to automatically send responses to a Google Sheet of your choice." +icon: "file-spreadsheet" --- diff --git a/docs/platform/features/integrations/hubspot.mdx b/docs/platform/features/integrations/hubspot.mdx index 4b23593ea3a3..d2589957bb8f 100644 --- a/docs/platform/features/integrations/hubspot.mdx +++ b/docs/platform/features/integrations/hubspot.mdx @@ -1,6 +1,7 @@ --- title: "HubSpot" description: "Learn how to integrate Formbricks with HubSpot to automatically create or update contacts when survey responses are submitted." +icon: "hubspot" --- @@ -69,7 +70,7 @@ To create a Legacy Private App: ![Search Formbricks](/images/platform/features/integrations/make/search-formbricks.webp) - Click **Create a webhook**, enter your Formbricks API Host (default: `https://app.formbricks.com`), add your Formbricks API Key (see [API Key Setup](/api-reference/rest-api#how-to-generate-an-api-key)), and select the survey you want to connect. + Click **Create a webhook**, enter your Formbricks API Host (default: `https://app.formbricks.com`), add your Formbricks API Key (see [API Key Setup](/api-reference/generate-key)), and select the survey you want to connect. ![Enter API Key](/images/platform/features/integrations/make/enter-api-key-and-host.webp) diff --git a/docs/platform/features/integrations/make.mdx b/docs/platform/features/integrations/make.mdx index 0cf687e4cfe7..27bb4283de1f 100644 --- a/docs/platform/features/integrations/make.mdx +++ b/docs/platform/features/integrations/make.mdx @@ -2,6 +2,7 @@ title: "Make" description: "Discover how to seamlessly integrate Formbricks with Make.com. Dive into our comprehensive guide to set up scenarios, connect with a plethora of apps, and send your survey data to more than 1000 platforms." +icon: "circle-nodes" --- Make is a powerful tool to send information between Formbricks and thousands of apps. Here's how to set it up. @@ -16,7 +17,7 @@ Set up the `questionId`s of your survey questions before publishing. ![Update Question ID](/images/platform/features/integrations/make/update-question-id.webp) -*Update the Question ID field in every question card under Advanced Settings.* +*Update the Question ID on every question — it is the first field behind **Show Question settings** at the foot of a question card.* Already published? Duplicate survey You can only update the questionId @@ -44,7 +45,7 @@ Click "Create a webhook": ![Create Webhook](/images/platform/features/integrations/make/create-webhook.webp) -Enter the Formbricks API Host and API Key. API Host is by default set to [https://app.formbricks.com](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). +Enter the Formbricks API Host and API Key. API Host is by default set to [https://app.formbricks.com](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/generate-key). ![Enter API Key](/images/platform/features/integrations/make/enter-api-key-and-host.webp) diff --git a/docs/platform/features/integrations/n8n.mdx b/docs/platform/features/integrations/n8n.mdx index f81801d8ee7e..b99fe38ee725 100644 --- a/docs/platform/features/integrations/n8n.mdx +++ b/docs/platform/features/integrations/n8n.mdx @@ -1,6 +1,7 @@ --- title: "n8n" description: "Integrate Formbricks with n8n for a streamlined workflow experience." +icon: "diagram-project" --- @@ -23,7 +24,7 @@ When setting up the node your life will be easier when you change the `questionI ![Update Question ID](/images/platform/features/integrations/n8n/update-question-id.webp) -*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.* +*The Question ID is the first field behind **Show Question settings** at the foot of a question card. Update it so you will recognise the response tied to this question.* Already published? Duplicate survey You can only update the questionId @@ -48,7 +49,7 @@ Click on Create New Credential button to add your host and API Key ![Add host and api key](/images/platform/features/integrations/n8n/add-api-key.webp) -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. +Now you need an API key. Please refer to the [API Key Setup](/api-reference/generate-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. diff --git a/docs/platform/features/integrations/notion.mdx b/docs/platform/features/integrations/notion.mdx index 21c4861627bb..8259ea938a1a 100644 --- a/docs/platform/features/integrations/notion.mdx +++ b/docs/platform/features/integrations/notion.mdx @@ -1,6 +1,7 @@ --- title: "Notion" description: "The notion integration allows you to automatically send responses to a Notion database of your choice." +icon: "book" --- diff --git a/docs/platform/features/integrations/overview.mdx b/docs/platform/features/integrations/overview.mdx index f393465160a9..ec905a387539 100644 --- a/docs/platform/features/integrations/overview.mdx +++ b/docs/platform/features/integrations/overview.mdx @@ -1,6 +1,7 @@ --- title: "Third-party Integrations" description: "Configure third-party integrations with Formbricks Cloud." +icon: "bridge" --- At Formbricks, we understand the importance of integrating with third-party applications. We have step-by-step guides to configure our third-party integrations with Formbricks Cloud. diff --git a/docs/platform/features/integrations/slack.mdx b/docs/platform/features/integrations/slack.mdx index ea9b254b06d2..c96eed6428e8 100644 --- a/docs/platform/features/integrations/slack.mdx +++ b/docs/platform/features/integrations/slack.mdx @@ -2,6 +2,7 @@ title: "Slack" description: "The slack integration allows you to automatically send responses to a Slack channel of your choice." +icon: "slack" --- diff --git a/docs/platform/features/integrations/webhooks.mdx b/docs/platform/features/integrations/webhooks.mdx index 1c5654c0c41a..61b9f0029acf 100644 --- a/docs/platform/features/integrations/webhooks.mdx +++ b/docs/platform/features/integrations/webhooks.mdx @@ -1,6 +1,7 @@ --- title: "Webhooks" description: "With webhooks, you can receive real-time HTTP notifications when specific objects change in your Formbricks environment. This allows you to stay updated and trigger automated actions based on these events." +icon: "webhook" --- ### **Webhook Triggers** diff --git a/docs/platform/features/integrations/wordpress.mdx b/docs/platform/features/integrations/wordpress.mdx index bf0531de1ff4..006d4c20ed5d 100644 --- a/docs/platform/features/integrations/wordpress.mdx +++ b/docs/platform/features/integrations/wordpress.mdx @@ -1,6 +1,7 @@ --- title: "Wordpress" description: "Target specific visitors with a survey on your WordPress page using Formbricks for free. Show survey on specific page or on button click." +icon: "wordpress" --- To run a targeted survey on your WordPress website, Formbricks is the way to go! diff --git a/docs/platform/features/integrations/zapier.mdx b/docs/platform/features/integrations/zapier.mdx index 505beaff9a38..1155de8feae5 100644 --- a/docs/platform/features/integrations/zapier.mdx +++ b/docs/platform/features/integrations/zapier.mdx @@ -1,6 +1,7 @@ --- title: "Zapier" description: "Master the integration of Formbricks with Zapier using our detailed guide. Seamlessly connect your surveys to 5000+ apps, automate data transfers, and enhance feedback management. Start optimizing your workflow today." +icon: "bolt" --- @@ -13,7 +14,7 @@ When setting up the Zap your life will be easier when you change the `questionId ![Update Question ID](/images/platform/features/integrations/zapier/update-question-id.webp) -*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.* +*The Question ID is the first field behind **Show Question settings** at the foot of a question card. Update it so you will recognise the response tied to this question.* Already published? Duplicate survey You can only update the questionId @@ -46,7 +47,7 @@ Now, you have to connect Zapier with Formbricks via an API Key: ![Connect with Formbricks - 2](/images/platform/features/integrations/zapier/connect-with-formbricks-2.webp) -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. +Now you need an API key. Please refer to the [API Key Setup](/api-reference/generate-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/advanced/enterprise-features/saml-sso.mdx b/docs/self-hosting/advanced/enterprise-features/saml-sso.mdx index 95cfb8278e3f..5b78aeeef0b3 100644 --- a/docs/self-hosting/advanced/enterprise-features/saml-sso.mdx +++ b/docs/self-hosting/advanced/enterprise-features/saml-sso.mdx @@ -4,4 +4,9 @@ description: "Configure Single Sign-On with SAML for your Formbricks instance." icon: "key" --- -Implement enterprise-grade authentication for your survey platform using [SAML SSO](/self-hosting/configuration/auth-sso/saml-sso#saml-sso). \ No newline at end of file + + Single Sign-On is part of the Formbricks [Enterprise Edition](/self-hosting/advanced/license). SAML + additionally requires the `saml` entitlement on the licence. + + +Implement enterprise-grade authentication for your survey platform using [SAML SSO](/self-hosting/configuration/auth-sso/saml-sso). \ No newline at end of file diff --git a/docs/self-hosting/configuration/integrations/activepieces.mdx b/docs/self-hosting/configuration/integrations/activepieces.mdx index 045b52783417..27dde8850638 100644 --- a/docs/self-hosting/configuration/integrations/activepieces.mdx +++ b/docs/self-hosting/configuration/integrations/activepieces.mdx @@ -1,6 +1,7 @@ --- title: ActivePieces (On Premise) description: Learn how to configure ActivePieces integration in your survey for self-hosting instance. +icon: "puzzle-piece" --- ## Setting Up ActivePieces with Self-Hosted Formbricks diff --git a/docs/self-hosting/configuration/integrations/airtable.mdx b/docs/self-hosting/configuration/integrations/airtable.mdx index 3738daabe871..b81addbb9d36 100644 --- a/docs/self-hosting/configuration/integrations/airtable.mdx +++ b/docs/self-hosting/configuration/integrations/airtable.mdx @@ -1,6 +1,7 @@ --- title: Airtable (On Premise) description: Instantly populate your Airtable table with survey data +icon: "table" --- The Airtable integration allows you to automatically send responses to an Airtable of your choice. diff --git a/docs/self-hosting/configuration/integrations/google-sheets.mdx b/docs/self-hosting/configuration/integrations/google-sheets.mdx index 5b58138c6f9c..6a1e06753399 100644 --- a/docs/self-hosting/configuration/integrations/google-sheets.mdx +++ b/docs/self-hosting/configuration/integrations/google-sheets.mdx @@ -1,6 +1,7 @@ --- title: Google Sheets (On Premise) description: Instantly populate your Google Sheet table with survey data +icon: "file-spreadsheet" --- The Google Sheets integration allows you to automatically send responses to an Google Sheets of your choice. diff --git a/docs/self-hosting/configuration/integrations/n8n.mdx b/docs/self-hosting/configuration/integrations/n8n.mdx index df65097a8c2c..1c083773fb7e 100644 --- a/docs/self-hosting/configuration/integrations/n8n.mdx +++ b/docs/self-hosting/configuration/integrations/n8n.mdx @@ -1,6 +1,7 @@ --- title: n8n (On Premise) description: Set up automations with your self-hosted n8n instance. +icon: "diagram-project" --- The n8n integration allows you to create automations based on survey responses. @@ -28,7 +29,7 @@ Enabling the n8n integration in a self-hosted environment requires a new workflo ![AddAPIKey](https://res.cloudinary.com/dwdb9tvii/image/upload/v1738252907/image_a1fmyc.jpg) -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. +Now you need an API key. Please refer to the [API Key Setup](/api-reference/generate-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. diff --git a/docs/self-hosting/configuration/integrations/notion.mdx b/docs/self-hosting/configuration/integrations/notion.mdx index 1175b457e1ce..9895a73ca5c4 100644 --- a/docs/self-hosting/configuration/integrations/notion.mdx +++ b/docs/self-hosting/configuration/integrations/notion.mdx @@ -1,6 +1,7 @@ --- title: Notion (On Premise) description: Instantly populate a Notion database with survey data +icon: "book" --- The Notion integration allows you to automatically send responses to a Notion database of your choice. diff --git a/docs/self-hosting/configuration/integrations/slack.mdx b/docs/self-hosting/configuration/integrations/slack.mdx index b467d6ab420a..739bc6906024 100644 --- a/docs/self-hosting/configuration/integrations/slack.mdx +++ b/docs/self-hosting/configuration/integrations/slack.mdx @@ -1,6 +1,7 @@ --- title: Slack (On Premise) description: Send survey responses automatically to Slack workspace. +icon: "slack" --- Send survey responses automatically to Slack workspace. diff --git a/docs/self-hosting/configuration/integrations/zapier.mdx b/docs/self-hosting/configuration/integrations/zapier.mdx index ce5f67e52e55..1d83630bcc2d 100644 --- a/docs/self-hosting/configuration/integrations/zapier.mdx +++ b/docs/self-hosting/configuration/integrations/zapier.mdx @@ -1,6 +1,7 @@ --- title: Zapier (On Premise) description: Set up automations with your self-hosted Zapier instance. +icon: "bolt" --- The Zapier integration allows you to create automations based on survey responses. @@ -27,7 +28,7 @@ Connect Formbricks with Zapier: You have to connect Zapier with Formbricks via a ![second](https://res.cloudinary.com/dwdb9tvii/image/upload/v1738254061/image_apgw1y.jpg) -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. +Now you need an API key. Please refer to the [API Key Setup](/api-reference/generate-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/surveys/best-practices/cancel-subscription.mdx b/docs/surveys/best-practices/cancel-subscription.mdx index 612514748d3c..8ba626fa281c 100644 --- a/docs/surveys/best-practices/cancel-subscription.mdx +++ b/docs/surveys/best-practices/cancel-subscription.mdx @@ -1,103 +1,51 @@ --- -title: "Learn from Churn" -description: "Mastering Churn Surveys with Formbricks | Essential Tips & Steps" -icon: "chart-line-down" +title: "Churn Survey" +description: "Learn why customers cancel their subscription, at the moment they cancel." +icon: "user-minus" --- -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. +A churn survey asks why someone is leaving, at the one moment they are certain of the answer. ## Purpose -The Churn Survey is among the most effective ways to identify weaknesses in your offering. People were willing to pay but now are not anymore: What changed? Let’s find out! +Asked a week later by email, the answer is a rationalisation. Asked at the click of the cancel button, it is the reason. -## Formbricks Approach +## 1. Start from the template -* Ask at exactly the right point in time +Open **Surveys**, click **New Survey** and choose **Choose a template**. Search for **Churn Survey**, then click the card to create the survey. -* Follow-up to prevent bad reviews +![The Churn Survey template in the template picker](/images/surveys/best-practices/cancel-subscription/template.webp) -## Overview +The template asks for a reason and then for detail. Keep it to that: someone mid-cancellation will not fill in a long form. -To run the Churn Survey in your app you want to proceed as follows: +## 2. Trigger it at the right moment -1. Create new Churn Survey at [app.formbricks.com](https://app.formbricks.com/) +The trigger is your cancel button. Open the **Settings** tab, find **Survey Trigger** and add an action that matches it — **Inner Text** `Cancel Subscription` is usually enough, and a **CSS Selector** such as `#cancel-subscription` is better if more than one button carries that label. -2. Set up the user action to display survey at right point in time +![The Survey Trigger section with the action attached](/images/surveys/best-practices/cancel-subscription/trigger.webp) -3. Choose correct recontact options to never miss a feedback + + Creating the action itself — Click versus Page View, Inner Text versus CSS Selector — is the same dialog + in every recipe. It is walked through once on the [Feedback Box](/surveys/best-practices/feedback-box) + page, and the full reference is the [Actions manual](/surveys/website-app-surveys/actions). + -4. Prevent that churn! +## 3. Decide how often it may appear - - ### Formbricks Widget running? We assume that you have already installed the +Still on **Settings**, open **Visibility & Recontact**. Choose **Show only once**. A cancellation is a one-time event, and someone who has already answered should not be asked twice. - 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.)](/surveys/website-app-surveys/quickstart) + + Recontact Options and the workspace-wide [Cooldown Period](/surveys/website-app-surveys/cooldown-period) + are two separate gates and a survey has to pass both — Recontact Options first, then the cooldown. If + your workspace shows at most one survey a week, this survey inherits that unless you set **Ignore + Cooldown Period**. -### 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](https://formbricks.com/survey-templates/churn-survey): - -![Create churn survey by template](/images/surveys/best-practices/cancel-subscription/create-cancel-flow.webp) - -### 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 😊 - -![Change text content](/images/surveys/best-practices/cancel-subscription/change-text.webp) - -*Want to change the button color? You can do so in **Settings → Workspace → Appearance**.* - -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 three options to choose from: - -* **Trigger by Inner Text:** You likely have a “Cancel Subscription” button in your app. You can setup a user Action with the according `Inner Text` to trigger the survey, like so: +## 4. Publish -![Set the trigger by inner Text](/images/surveys/best-practices/cancel-subscription/trigger-inner-text.webp) - -* **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: - -![Set the trigger by CSS Selector](/images/surveys/best-practices/cancel-subscription/trigger-css-selector.webp) - -* **Trigger by page view filters:** 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 `Page View` and add select `Limit to specific pages` to add url filters, with the following settings: - -![Set the trigger by page URL](/images/surveys/best-practices/cancel-subscription/trigger-page-url.webp) - -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](/surveys/website-app-surveys/actions) covering [No-Code](/surveys/website-app-surveys/actions#setting-up-no-code-actions) and [Code](/surveys/website-app-surveys/actions#setting-up-code-actions) Actions. - -### 5. Select Action in the “When to ask” card - -![Select feedback button action](/images/surveys/best-practices/cancel-subscription/select-action.webp) - -### 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: - -![Set recontact options](/images/surveys/best-practices/cancel-subscription/recontact-options.webp) - -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 💃 - -![Publish survey](/images/surveys/best-practices/cancel-subscription/publish-survey.webp) +**Publish** puts it live. The widget picks up the change within a minute. - Formbricks Widget running? You need to have the Formbricks Widget installed - to display the Churn Survey in your app. Please follow [this tutorial (Step 4 - onwards)](/surveys/website-app-surveys/quickstart) to install the widget. + This is an app survey, so it needs the Formbricks widget running in your product. If you have not + installed it yet, follow [the quickstart](/surveys/website-app-surveys/quickstart) first. - -### **Get those insights! 🎉** \ No newline at end of file diff --git a/docs/surveys/best-practices/contact-form.mdx b/docs/surveys/best-practices/contact-form.mdx index 559287db6cec..4ab254415f11 100644 --- a/docs/surveys/best-practices/contact-form.mdx +++ b/docs/surveys/best-practices/contact-form.mdx @@ -1,157 +1,63 @@ --- -title: "Contact form" -icon: "address-book" -description: "A step-by-step guide to creating a contact form using Formbricks." +title: "Contact Form" +description: "Build a contact form as a Formbricks survey and embed it on your website." +icon: "address-card" --- -Welcome to this comprehensive guide on creating a contact form using Formbricks. Whether you're just starting out or you're a seasoned developer, this tutorial will walk you through every step of building an engaging and effective contact form. +A contact form is a survey that happens to sit on a website. Building it in Formbricks means the submissions land where the rest of your feedback already is, rather than in an inbox. -## What We’ll Build +## What you will build -By the end of this tutorial, you'll have created a simple contact form featuring: +A four-question form — name, email, reason for contact, message — embedded on a page of your site. -- A welcoming introduction. +## 1. Create a link survey -- Fields for collecting the user's name and email. - -- A question to find out why they’re contacting you. - -- A message field for users to share their queries. - -### Setting Up Your Form - -First, let's lay the groundwork for your form: - -- Head to the Surveys page and click on **New Survey**. - -- Select **Start from Scratch** to create a new form. - -- In the form editor, click the three dots next to a question, then select **Change Question Type** and choose **Statement (Call to Action)**. - -![Toggle button for Statement (Call to Action)](/images/surveys/best-practices/contact-form/welcome1.webp) - -- Add a welcoming statement to greet your users and explain the form's purpose. - -- Personalize the greeting to make it inviting and encourage engagement. +Open **Surveys**, click **New Survey** and choose **Start from scratch**. Then open **Settings → Survey Type** and make sure **Link survey** is selected. - A warm welcome sets the tone for your form. Make it friendly to encourage - users to participate. + Check it rather than assuming it. A new survey inherits its type from the workspace channel you picked + during onboarding, so a workspace set up for a website or app creates **app** surveys by default — only + a workspace with no channel set defaults to link. -### Adding the Name Field - -Next, let's capture the user's name: - -- Click **Add Question**. - -![Adding a question in Formbricks](/images/surveys/best-practices/contact-form/add-question.webp) - -- Enter the prompts for the name field. +## 2. Add the questions -- Turn off the **Long Answer** option at the bottom right. +Four questions, each a standard type documented in its own page: -- Adjust any **settings**, such as making the field required. +| Field | Question type | Notes | +| --- | --- | --- | +| Name | [Free text](/surveys/question-type/free-text) | Text input | +| Email | [Free text](/surveys/question-type/free-text) | Set the input type to **Email** so the address is validated | +| Reason for contact | [Select single](/surveys/question-type/select-single) | Sales, support, something else — keep the list short | +| Message | [Free text](/surveys/question-type/free-text) | Switch on **Long answer** | -![Name field configuration](/images/surveys/best-practices/contact-form/name-field.webp) + + Use [validation rules](/surveys/general-features/validation-rules) on the message — a minimum length of + 20 characters or so filters out the "hi" submissions without annoying anyone with something real to say. + -### Adding the Email Field +Turn off the welcome card unless you want an extra click before the form, and edit the ending card to say what happens next: how soon someone will reply is the one thing every person filling in a contact form wants to know. -Now, let’s add a field to collect the user's email address: +## 3. Embed it on your site -- Click **Add Question** again. +Open the survey's **Share** dialog and choose **Website embed**. -- Select Email as the input type. +![The Website embed panel of the Share dialog](/images/surveys/best-practices/contact-form/embed.webp) -- Enter a prompt for the email field. - -![Email field configuration](/images/surveys/best-practices/contact-form/email-field.webp) - -### Adding a Reason for Contact - -Let’s now understand why the user is contacting you: - -- Click **Add Question** once again. - -- Select **Change Question** Type and choose **Single Select**. - -- Add the question "Why are you contacting us today?" - -![Single Select question configuration](/images/surveys/best-practices/contact-form/single-select-questionare.webp) +Copy the snippet into the page where the form should appear. The embed is an iframe, so it needs no widget and no SDK — this works on a static site. - Predefined options help categorize inquiries, making it easier for you to - respond appropriately. + A contact form is a link survey, not an app survey. It does not need the Formbricks widget, and none + of the [app survey](/surveys/website-app-surveys/quickstart) targeting applies to it. -- Add options like "General Inquiry," "Support," and "Feedback." - -![Single Select question configuration](/images/surveys/best-practices/contact-form/query-form.webp) - -### Adding a Message Field - -Finally, let’s provide a space for the user’s message: - -- Click **Add Question** for the last time. - -- Add the question: "Your Message." - -- Set the placeholder text to something like "Please write your message here." - -![Message field configuration](/images/surveys/best-practices/contact-form/message-field.webp) - -- Consider setting a minimum character count to ensure detailed messages. - -### Finalizing Your Form - -Once your form is complete, follow these final steps: - -- Review and rearrange the questions if necessary. - -- Test the form by filling it out as a user. - -- Customize the **Thank You** message for submissions. - -- Publish the form to get a shareable link. - -- Enable submission notifications: - - * Go to **Settings → Account → Notifications**. - - * Verify your email address. - - * Ensure that **Survey** notifications are enabled. - -### Integrating the Contact Form into Your Website - -After publishing the form, follow these steps to integrate it into your site: - -- **Copy the Shareable Link** - -![Embed Image configuration](/images/surveys/best-practices/contact-form/embed.webp) - - * Find your form in the Formbricks dashboard, and click Share. - - * Select Embed in a Web Page. - -- **Embed the Code** - - * Copy the provided code and paste it into your website where you want the form to appear. - - - Note: There is an options toggle button called "Embed Mode." When enabled, it - updates the `src` to `"?embed=true"` and displays your survey in a minimalist - design, removing padding and background for a cleaner look. - - -- **Test the Integration** - - * Check if the form displays correctly on your site. - - * Submit a test entry to ensure everything works and notifications are received. - -## Conclusion +## 4. Handle what comes in -Congratulations! You’ve successfully created and integrated a professional contact form using Formbricks. This form will help you collect valuable information from your visitors in an efficient, user-friendly way. +Submissions arrive in the survey's **Responses** tab. Two things worth setting up before you announce the form: -A great contact form strikes the balance between collecting necessary details and being simple enough to encourage submissions. **You’ve achieved just that!** \ No newline at end of file +- A [Workflow](/workflows/overview) that emails an internal teammate — support, sales, whoever answers — on + **Response completed**, so nothing waits on someone remembering to check the tab. The literal address you + put in the **Send email** action has to belong to a member of this workspace; the workflow will not enable + otherwise. To acknowledge the sender instead, point the recipient at the Email question rather than at a + literal address. +- [Tags](/surveys/general-features/tags), so sales and support enquiries stay separable. diff --git a/docs/surveys/best-practices/docs-feedback.mdx b/docs/surveys/best-practices/docs-feedback.mdx index 6acc40e3423c..3d6bf0a0de0f 100644 --- a/docs/surveys/best-practices/docs-feedback.mdx +++ b/docs/surveys/best-practices/docs-feedback.mdx @@ -25,35 +25,35 @@ To get this running, you'll need a bit of time. Here are the steps we're going t ## 1. Setting up Formbricks Cloud -- Create a [Formbricks Cloud](https://app.formbricks.com/auth/signup) account. +Create a [Formbricks Cloud](https://app.formbricks.com/auth/signup) account, then a survey from the **Docs Feedback** template — **New Survey → Choose a template**, then search for it. -- Then, create a survey using the template [Docs Feedback](https://formbricks.com/survey-templates/docs-feedback): +### Make it a link survey -![select docs template](/images/surveys/best-practices/docs-feedback/docs-template.webp) +Open **Settings → Survey Type** and make sure **Link survey** is selected. A new survey inherits its type +from the workspace channel chosen during onboarding, so a workspace set up for a website or app creates +**app** surveys by default — check it rather than assuming it. -- Change the Internal Question ID of the first question to **“isHelpful”** to make your life easier 😉 +This matters more than it looks. You are going to post responses to the client API from your own frontend, so nothing here uses the Formbricks widget. An **app** survey cannot be published without a trigger — `survey-menu-bar.tsx` refuses to save one with no triggers — which is why older versions of this guide told you to invent an action that never fires. A link survey has no such requirement, so the workaround is unnecessary. -![change id](/images/surveys/best-practices/docs-feedback/change-id.webp) +### Set the question IDs -- Similarly, you can change the Internal Question ID of the *Please elaborate* question to **“additionalFeedback”** and the one of the *Page URL* question to **“pageUrl”**. +The frontend below refers to questions by ID, so give them names you will recognise. Open a question, click **Show Question settings** at the foot of its card, and set the **Question ID**: + +| Question | ID | +| --- | --- | +| Is this page helpful? | `isHelpful` | +| Please elaborate | `additionalFeedback` | +| Page URL | `pageUrl` | - The answers must be identical. If you want different options than "Yes 👍" and "No 👎", you need to update the choices accordingly. They must match the frontend we’re building in the next step. + The **answers** must match the frontend too. If you replace "Yes 👍" and "No 👎" with your own wording, change the choices in the code below to match — they are compared as strings. -- Click on “Continue to Settings or select the audience tab manually. Scroll down to “Survey Trigger” and create a new Action: - -![set up when to ask card](/images/surveys/best-practices/docs-feedback/survey-trigger.webp) - -- Our goal is to create an event that never triggers. This might seem odd, but it's a necessary workaround. Fill out the action as shown in the screenshot: - -![add action](/images/surveys/best-practices/docs-feedback/add-action.webp) - -- Select the Non-Event in the dropdown. Now you see that the “Publish survey” button is active. Publish your survey 🤝 + + Question IDs can only be changed **before** a survey is published. Afterwards they are fixed, because the responses already collected refer to them. Set them now. + -![select nonevent](/images/surveys/best-practices/docs-feedback/select-action.webp) - -**You’re all setup in Formbricks Cloud for now 👍** +Publish the survey. ## 2. Build the frontend @@ -300,7 +300,7 @@ export const updateFeedback = async (freeText, responseId) => { const payload = { response: { data: { - additionalInfo: freeText, + additionalFeedback: freeText, }, finished: true, // Lets Formbricks calculate Completion Rate }, @@ -333,13 +333,14 @@ We're almosr there! 🤸 Before you roll it out in production, you want to test it. To do so, you need two things: -- Workspace ID (1) of the workspace on app.formbricks.com - -- Survey ID (2) of your test survey +- the **workspace ID** +- the **survey ID** of your test survey -When you are on the survey detail page, you’ll find both of them in the URL: +Open the survey and read both out of the address bar — they are the two path segments: -![copy IDs](/images/surveys/best-practices/docs-feedback/copy-ids.webp) +``` +https://app.formbricks.com/workspaces//surveys//summary +``` Now, you have to replace the IDs and the API host accordingly in your `handleFeedbackSubmit`: diff --git a/docs/surveys/best-practices/feature-chaser.mdx b/docs/surveys/best-practices/feature-chaser.mdx index 4d1a1fe1f1c7..01562c39747f 100644 --- a/docs/surveys/best-practices/feature-chaser.mdx +++ b/docs/surveys/best-practices/feature-chaser.mdx @@ -1,86 +1,53 @@ --- title: "Feature Chaser" -description: "Learn how to harness the power of Formbricks to gather targeted user feedback on specific features. Dive deep into creating, triggering, and publishing the Feature Chaser survey to enhance your product with actionable insights for specific users." -icon: "wrench" +description: "Ask about one feature, immediately after it has been used." +icon: "wand-magic-sparkles" --- - -Following up on specific features only makes sense with very targeted surveys. Formbricks is built for that. +A feature chaser asks about a single feature the moment someone finishes using it. ## Purpose -Product analytics never tell you why a feature is used - and why not. Following up on specific features with highly relevant questions is a great way to gather feedback and improve your product. - -## 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: - -- Create new Feature Chaser survey at [app.formbricks.com](https://app.formbricks.com/) - -- Setup a user action to display survey at the right point in time - - - Formbricks Widget running? 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.)](/surveys/website-app-surveys/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](https://formbricks.com/survey-templates/feature-chaser): - -![Create survey by template](/images/surveys/best-practices/feature-chaser/create-survey.webp) - -### 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: +Feedback about a feature collected days later is feedback about the memory of it. Asked on the spot, you get the friction while it is still fresh — and only from people who actually used the thing. -![Change text content](/images/surveys/best-practices/feature-chaser/change-text.webp) +## 1. Start from the template -Save, and move over to where the magic happens: The “Audience” tab. +Open **Surveys**, click **New Survey** and choose **Choose a template**. Search for **Feature Chaser**, then click the card to create the survey. -### 3. Set up a trigger for the Feature Chaser survey: +![The Feature Chaser template in the template picker](/images/surveys/best-practices/feature-chaser/template.webp) -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. +The template is deliberately short. One question about the feature is the point; a second question turns a quick answer into a form. -You can create [Code Actions](/surveys/website-app-surveys/actions#setting-up-code-actions) and [No Code Actions](/surveys/website-app-surveys/actions#setting-up-no-code-actions) to follow users through your app. In this example, we will create a No Code Action. +## 2. Trigger it at the right moment -There are two ways to track a button: +Identify the click that means "finished using the feature" — usually the last button in the flow, such as **Export Report**. Match it with **Inner Text**, or with a **CSS Selector** such as `#export-report` if the same label appears elsewhere. -1. **Trigger by Inner Text:** 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 `Inner Text` to trigger the survey, like so: +Open the **Settings** tab, find **Survey Trigger** and add the action. -![Set the trigger by inner Text](/images/surveys/best-practices/feature-chaser/action-innertext.webp) +![The Survey Trigger section with the action attached](/images/surveys/best-practices/feature-chaser/trigger.webp) -1. **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: + + Creating the action itself — Click versus Page View, Inner Text versus CSS Selector — is the same dialog + in every recipe. It is walked through once on the [Feedback Box](/surveys/best-practices/feedback-box) + page, and the full reference is the [Actions manual](/surveys/website-app-surveys/actions). + -![Set the trigger by CSS Selector](/images/surveys/best-practices/feature-chaser/action-css.webp) +## 3. Decide how often it may appear -Please follow our [Actions manual](/surveys/website-app-surveys/actions) for an in-depth description of how Actions work. +Still on **Settings**, open **Visibility & Recontact**. Choose **Show only once** for a one-off read on a new feature, or **Ask until they submit a response** if you want to keep asking until someone answers. -### 4. Select Action in the “When to ask” card - -![Select PMF trigger button action](/images/surveys/best-practices/feature-chaser/select-action.webp) - -### 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: - -![Set recontact options](/images/surveys/best-practices/feature-chaser/recontact-options.webp) + + Recontact Options and the workspace-wide [Cooldown Period](/surveys/website-app-surveys/cooldown-period) + are two separate gates and a survey has to pass both — Recontact Options first, then the cooldown. If + your workspace shows at most one survey a week, this survey inherits that unless you set **Ignore + Cooldown Period**. + -### 7. Congrats! You’re ready to publish your survey 💃 +## 4. Publish -![Publish survey](/images/surveys/best-practices/feature-chaser/publish.webp) +**Publish** puts it live. The widget picks up the change within a minute. - Formbricks Widget running? You need to have the Formbricks Widget installed - to display the Feature Chaser in your app. Please follow [this tutorial (Step - 4 onwards)](/surveys/website-app-surveys/quickstart) to install the widget. + This is an app survey, so it needs the Formbricks widget running in your product. If you have not + installed it yet, follow [the quickstart](/surveys/website-app-surveys/quickstart) first. diff --git a/docs/surveys/best-practices/feedback-box.mdx b/docs/surveys/best-practices/feedback-box.mdx index 7488da8f9862..eeaf18b8d129 100644 --- a/docs/surveys/best-practices/feedback-box.mdx +++ b/docs/surveys/best-practices/feedback-box.mdx @@ -25,7 +25,7 @@ Open **Surveys**, click **New Survey** and choose **Choose a template**. Search ![The Feedback Box template in the template picker](/images/surveys/best-practices/feedback-box/template.webp) -Hovering a template previews it on the right. The Feedback Box template opens with a "What is on your mind?" choice and branches into a follow-up question for each answer. +Click the card to create the survey. The template opens with a "What is on your mind, boss?" choice — bug report or feature request — and branches into a follow-up question for each answer. ## 2. Make it yours diff --git a/docs/surveys/best-practices/improve-email-content.mdx b/docs/surveys/best-practices/improve-email-content.mdx index dcbfd11ad9fa..b2d2e31ca83b 100644 --- a/docs/surveys/best-practices/improve-email-content.mdx +++ b/docs/surveys/best-practices/improve-email-content.mdx @@ -1,66 +1,43 @@ --- title: "Improve Email Content" -description: "Measure email content quality with Formbricks" -icon: "envelope" +description: "Embed a one-click survey in your newsletter and find out whether people actually wanted what you sent." +icon: "envelope-open-text" --- - -Email remains the predominant way to communicate with your customers. Measure the effectiveness to improve your offering. +Open rates tell you whether the subject line worked. They tell you nothing about whether the content was worth opening. A one-question survey embedded in the email itself does. ## Purpose -Measuring the content quality of both transactional and marketing emails is a key element for improving customer communication. - -## Formbricks Approach - -* Embed the survey into your email so it’s part of the newsletter. - -* Use link prefilling to store the answer users clicked on in the email. - -* Dynamic user identification to append reader's email for personalized profiles and follow ups. - -## Installation - -To embed the newsletter survey into your email, follow these steps: - -1. Create new 'Improve Newsletter Content' survey at [app.formbricks.com](https://app.formbricks.com/) - -2. Select how you where you want to display the survey. - -3. Copy the embed code anywhere you want in your newsletter. - -### 1. Create new 'Improve Newsletter Content' Survey - -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 [Improve Newsletter Content template](https://formbricks.com/survey-templates/improve-newsletter-content): - -![Create Improve Newsletter Content by template](/images/surveys/best-practices/improve-email-content/improve-newsletter-content-survey-location.webp) - -### 2. Customize Survey questions +The reader answers inside the email, without a click-through, so the response rate is far higher than a linked survey — and the answer arrives while they still remember what they read. -Customize survey questions, emojis or stars however you like: +## 1. Start from the template -![Edit Improve Newsletter Content template](/images/surveys/best-practices/improve-email-content/improve-newsletter-content-editor-formbricks.webp) +Open **Surveys**, click **New Survey** and choose **Choose a template**. Search for **Improve Newsletter Content**, then click the card to create the survey. -### 3. Configure Survey Settings +![The Improve Newsletter Content template in the template picker](/images/surveys/best-practices/improve-email-content/template.webp) -Navigate to the **Settings** tab and choose the type of survey you want. After that, choose **Link Survey**: +Keep it to one question. The click from the email lands the reader on the survey page, and every question after the first is one more thing standing between them and a submitted answer. -![Choose survey type](/images/surveys/best-practices/improve-email-content/choose-survey-type.webp) +## 2. Embed it in the email -### 4. Choose how you want to embed your survey +Open the survey's **Share** dialog and choose **Email embed**. -After publishing your survey, a modal that prompts you to embed your survey will pop up. +![The Email embed panel of the Share dialog](/images/surveys/best-practices/improve-email-content/email-embed.webp) -![Embed newsletter survey](/images/surveys/best-practices/improve-email-content/embed-survey-prompt.webp) +**Email Preview** shows how the survey will render in an inbox. **Embed Code** gives you the HTML to paste into your email tool. -Select the Embed Survey card and you will be directed to another modal. + + Email clients strip most JavaScript and much CSS. The embed is deliberately plain HTML for that reason — + it will not match your survey's styling theme, and it is not meant to. + -### 5. Copy code to embed the survey in your newsletter +Every answer is a normal response: it lands in the survey's **Responses** tab and counts toward its summary like any other. -Click the button with the “View Embed Code” text at the top right corner of the modal and simply paste the HTML code for your survey anywhere you want it in your newsletter: +## 3. Read the results -![Embed survey code](/images/surveys/best-practices/improve-email-content/embed-survey-code-in-your-email.webp) +Open the survey's **Summary** tab. With one question and a large send, the useful signal is usually the distribution rather than any individual answer — see [reading survey results](/surveys/analysis/reading-results). -Send a test email to yourself and try it out 🤓 + + Sending the same survey with every issue makes the number comparable over time. Use [Tags](/surveys/general-features/tags) + or a [hidden field](/surveys/general-features/hidden-fields) carrying the issue number to keep them apart. + diff --git a/docs/surveys/best-practices/improve-trial-cr.mdx b/docs/surveys/best-practices/improve-trial-cr.mdx index 590497817a17..fb79172a14fa 100644 --- a/docs/surveys/best-practices/improve-trial-cr.mdx +++ b/docs/surveys/best-practices/improve-trial-cr.mdx @@ -1,85 +1,53 @@ --- title: "Improve Trial Conversion" -description: "Improve Trial Conversion with Formbricks" -icon: "chart-line-up" +description: "Find out why trials do not convert, from the people who did not convert." +icon: "hourglass-end" --- -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? +This survey asks people who are ending a trial what stopped them from paying. ## Purpose -Understanding why free users don’t convert to paid users helps boost revenue. This insight allows you to adjust your offering to encourage more users to upgrade. +Trial conversion analytics tell you how many people dropped and where. They cannot tell you why, and the why is the only part you can act on. -## Formbricks Approach +## 1. Start from the template -- Ask at exactly the right point in time. -- Ask to understand the problem, don’t ask for solutions. +Open **Surveys**, click **New Survey** and choose **Choose a template**. Search for **Trial Conversion**, then click the card to create the survey. -## Installation +![The Trial Conversion template in the template picker](/images/surveys/best-practices/improve-trial-cr/template.webp) -To display the Trial Conversion Survey in your app you want to proceed as follows: +The template asks what stopped them and what would have changed their mind. Both are open text on purpose — a multiple choice here only returns the options you already thought of. -- Create new Trial Conversion Survey at [app.formbricks.com](https://app.formbricks.com/). -- Set up the user action to display survey at right point in time. -- Print it. +## 2. Trigger it at the right moment - - ### 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.)](/surveys/website-app-surveys/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 select the template, [Improve Trial Conversion](https://formbricks.com/survey-templates/improve-trial-conversion): - -![Create survey by template](/images/surveys/best-practices/improve-trial-cr/create-survey.webp) - -### 2. Optional: Update questions - -You can update the questions and answer options. - -![Change text content](/images/surveys/best-practices/improve-trial-cr/change-text.webp) - -_Want to change the button color? Adjust it in **Settings → Workspace → Appearance**!_ - -Save, and move over to the **Audience** tab. - -### 3. Pre-segment your audience +Two triggers work, depending on how your trial ends. If cancelling is a button, match it with **Inner Text** `Cancel Trial`. If it is a page such as `/trial-cancelled`, use a **Page View** action with **Limit to specific pages**. -Pre-segmentation isn't needed for this survey since you likely want to target all users who cancel their trial. You can use a specific user action, like clicking **Cancel Trial**, to show the survey only to users trying your product. +Open the **Settings** tab, find **Survey Trigger** and add the action. -### 4. Set up a trigger for the Trial Conversion Survey: +![The Survey Trigger section with the action attached](/images/surveys/best-practices/improve-trial-cr/trigger.webp) -How you trigger your survey depends on your product. There are two options: + + Creating the action itself — Click versus Page View, Inner Text versus CSS Selector — is the same dialog + in every recipe. It is walked through once on the [Feedback Box](/surveys/best-practices/feedback-box) + page, and the full reference is the [Actions manual](/surveys/website-app-surveys/actions). + -- **Trigger by Page view:** If you have a page like `/trial-cancelled` for users who cancel their trial subscription, create a user action with the type "Page View." Select "Limit to specific pages" and apply URL filters with these settings: +## 3. Decide how often it may appear -![Add page URL action](/images/surveys/best-practices/improve-trial-cr/action-pageurl.webp) +Still on **Settings**, open **Visibility & Recontact**. Choose **Show only once**. -Whenever a user visits this page, the survey will be displayed ✅ - -- **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 `Inner Text`: - -![Add inner text action](/images/surveys/best-practices/improve-trial-cr/action-innertext.webp) - -Please have a look at our complete [Actions manual](/surveys/website-app-surveys/actions) if you have questions. - -### 5. Select Action in the “When to ask” card - -![Select feedback button action](/images/surveys/best-practices/improve-trial-cr/select-action.webp) - -### 6. Last step: Set Recontact Options correctly - -Finally, scroll down to "Recontact Options" and select the appropriate settings to gather the most insights. Ensure the survey is always displayed, even if the user has seen it in the past few days. - -![Set recontact options](/images/surveys/best-practices/improve-trial-cr/recontact-options.webp) + + Recontact Options and the workspace-wide [Cooldown Period](/surveys/website-app-surveys/cooldown-period) + are two separate gates and a survey has to pass both — Recontact Options first, then the cooldown. If + your workspace shows at most one survey a week, this survey inherits that unless you set **Ignore + Cooldown Period**. + -### 7. Congrats! You’re ready to publish your survey 🥳 +## 4. Publish -![Publish survey](/images/surveys/best-practices/improve-trial-cr/publish.webp) +**Publish** puts it live. The widget picks up the change within a minute. - 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)](/surveys/website-app-surveys/quickstart) to install the widget. - \ No newline at end of file + This is an app survey, so it needs the Formbricks widget running in your product. If you have not + installed it yet, follow [the quickstart](/surveys/website-app-surveys/quickstart) first. + diff --git a/docs/surveys/best-practices/interview-prompt.mdx b/docs/surveys/best-practices/interview-prompt.mdx index 4367b369d324..eec81c7aef12 100644 --- a/docs/surveys/best-practices/interview-prompt.mdx +++ b/docs/surveys/best-practices/interview-prompt.mdx @@ -4,96 +4,50 @@ description: "Maximize User Interview Participation with App Interview Prompts" icon: "comment" --- -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. +The Interview Prompt picks a specific group of users — power users, say — and invites them to a call, in the product rather than by email. ## Purpose -Product analytics and app surveys are incomplete without user interviews. Set the scheduling on autopilot for a continuous stream of interviews. +An email invite competes with everything else in an inbox. A prompt shown while someone is already using the product reaches them when your product is what they are thinking about. -## Formbricks Approach +## 1. Start from the template -* Pre-segment users with custom attributes. Only invite highly relevant users. +Open **Surveys**, click **New Survey** and choose **Choose a template**. Search for **Interview Prompt**, then click the card to create the survey. -* In-app prompts (app surveys or website surveys) have a 6x higher conversion rate than email invites. +![The Interview Prompt template in the template picker](/images/surveys/best-practices/interview-prompt/template.webp) -* Set scheduling user interviews on auto pilot. +The template is a short call-to-action with a link to your scheduler. Point it at your own booking link before publishing. -* Soon: Integrate directly with your [Cal.com](http://Cal.com) account. +## 2. Trigger it at the right moment -## Installation +Who sees this matters more than when, so most of the work is in **Target Audience** — see [attribute-based targeting](/surveys/website-app-surveys/attribute-based-targeting) for building the segment. The trigger can then be something as broad as opening the dashboard, because the segment has already narrowed the audience. -To display an Interview Prompt in your app you want to proceed as follows: +Open the **Settings** tab, find **Survey Trigger** and add the action. -1. Create new Interview Prompt at [app.formbricks.com](https://app.formbricks.com/) +![The Survey Trigger section with the action attached](/images/surveys/best-practices/interview-prompt/trigger.webp) -2. Adjust content and settings + + Creating the action itself — Click versus Page View, Inner Text versus CSS Selector — is the same dialog + in every recipe. It is walked through once on the [Feedback Box](/surveys/best-practices/feedback-box) + page, and the full reference is the [Actions manual](/surveys/website-app-surveys/actions). + -3. That’s it! 🎉 +## 3. Decide how often it may appear + +Still on **Settings**, open **Visibility & Recontact**. Choose **Show only once**. Someone who has already declined an interview should not be asked again every time they open the app. - Formbricks Widget running? 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)](/surveys/website-app-surveys/quickstart) + Recontact Options and the workspace-wide [Cooldown Period](/surveys/website-app-surveys/cooldown-period) + are two separate gates and a survey has to pass both — Recontact Options first, then the cooldown. If + your workspace shows at most one survey a week, this survey inherits that unless you set **Ignore + Cooldown Period**. -### 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](https://formbricks.com/survey-templates/interview-prompt): - -![Create interview prompt by template](/images/surveys/best-practices/interview-prompt/create-prompt.webp) - -### 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 **Settings → Workspace → Appearance**. - -![Change text content](/images/surveys/best-practices/interview-prompt/change-text.webp) - -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).](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! - -![Add CSS action](/images/surveys/best-practices/interview-prompt/interview-example.webp) - -Save, and move over to the “Audience” tab. - -### 3. Pre-segment your audience - -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](/surveys/website-app-surveys/user-identification). - -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: +## 4. Publish -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 User Action Tracker: - -![Add action](/images/surveys/best-practices/interview-prompt/add-action.webp) - -Generally, we have two types of user actions: Page views and clicks. The Interview Prompt, you’ll likely want to display it on a page visit since you already filter who sees the prompt by attributes. - -1. **Page view:** 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. - -![Add page URL action](/images/surveys/best-practices/interview-prompt/action-pageurl.webp) - -1. **Click(Inner Text & 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. - -![Add CSS action](/images/surveys/best-practices/interview-prompt/action-css.webp) - -![Add inner text action](/images/surveys/best-practices/interview-prompt/action-innertext.webp) - -### 5. Select action in the “When to ask” card - -![Select feedback button action](/images/surveys/best-practices/interview-prompt/select-action.webp) - -### 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: - -![Set recontact options](/images/surveys/best-practices/interview-prompt/recontact-options.webp) - -### 7. Congrats! You’re ready to publish your survey 💃 🤸 - -![Publish survey](/images/surveys/best-practices/interview-prompt/publish-survey.webp) +**Publish** puts it live. The widget picks up the change within a minute. - 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)](/surveys/website-app-surveys/quickstart) to install the widget. - \ No newline at end of file + This is an app survey, so it needs the Formbricks widget running in your product. If you have not + installed it yet, follow [the quickstart](/surveys/website-app-surveys/quickstart) first. + diff --git a/docs/surveys/best-practices/pmf-survey.mdx b/docs/surveys/best-practices/pmf-survey.mdx index 1de340dfafe0..b3274e267f87 100644 --- a/docs/surveys/best-practices/pmf-survey.mdx +++ b/docs/surveys/best-practices/pmf-survey.mdx @@ -1,79 +1,56 @@ --- -title: "Product-Market Fit" -description: "How to Set Up a Product-Market Fit Survey Using Formbricks - Step-by-Step Guide" -icon: "chart-line-up" +title: "Product-Market Fit Survey" +description: "Measure product-market fit with the Superhuman method." +icon: "chart-line" --- -## Purpose - - -Measuring and understanding your PMF is crucial for building a successful business. It helps you identify what users like, what’s missing, and what to build next. This survey is ideal for measuring PMF, similar to [Superhuman](https://review.firstround.com/how-superhuman-built-an-engine-to-find-product-market-fit). - -## 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](https://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 - - - 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)](/surveys/website-app-surveys/quickstart) to install the widget. - +The Superhuman product-market-fit survey asks how disappointed someone would be if they could no longer use your product. Above 40% answering "very disappointed" is the usual signal of fit. -### 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 a PMF survey template. The first one is short, while the second builds on the ["Product-Market Fit Engine"](https://review.firstround.com/how-superhuman-built-an-engine-to-find-product-market-fit) developed by Superhuman. - -![Create survey by template](/images/surveys/best-practices/pmf-survey/create-survey.webp) - -### Optional: Update questions - -You can update the questions and answer options, but based on our experience, we recommend starting with the provided template. For a detailed guide on how to use the data you're collecting, check out this [guide](https://coda.io/@rahulvohra/superhuman-product-market-fit-engine). - -![Change text content](/images/surveys/best-practices/pmf-survey/change-text.webp) -/> - -_Want to change the button color? You can do so in **Settings → Workspace → Appearance**!_ +## Purpose -Save, and move over to where the magic happens: The “Audience” tab. +The number is only meaningful if you ask people who have actually used the product. Asking everyone, including people who signed up yesterday, produces a number that measures your signup flow rather than your product. -### 3. Pre-segment your audience +## 1. Start from the template -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. +Open **Surveys**, click **New Survey** and choose **Choose a template**. Search for **Product Market Fit**, then click the card to create the survey. -**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](/surveys/website-app-surveys/user-identification). +![The Product Market Fit template in the template picker](/images/surveys/best-practices/pmf-survey/template.webp) -### 4. Set up a trigger for the Product-Market Fit survey: +The template is the Superhuman question set. Do not reword the first question — the 40% benchmark only means anything against the standard wording. -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](/surveys/website-app-surveys/actions) if you are not sure how to set them up: +## 2. Trigger it at the right moment -![Add CSS action](/images/surveys/best-practices/pmf-survey/action-css.webp) +Ask people who have used the product enough to have an opinion. That is easiest as a **code action** fired from your own app once a user reaches, say, their third session — a page view cannot tell you that. -![Add inner text action](/images/surveys/best-practices/pmf-survey/action-pageurl.webp) +Open the **Settings** tab, find **Survey Trigger** and add the action. See [Code Actions](/surveys/website-app-surveys/actions#setting-up-code-actions) for firing it with `formbricks.track()`. -### 5. Select Action in the “When to ask” card +![The Survey Trigger section with the action attached](/images/surveys/best-practices/pmf-survey/trigger.webp) -![Select PMF trigger button action](/images/surveys/best-practices/pmf-survey/select-action.webp) + + A code action is two halves that have to agree: the action you create here carries a **key**, and your + app fires that same key with `formbricks.track("")`. Nothing happens until both exist — the survey + stays silent if the key never fires, and the call is a no-op if no action carries it. The no-code + alternatives (Click, Page View, Exit Intent, 50% Scroll, Time on Page) are walked through on the + [Feedback Box](/surveys/best-practices/feedback-box) page; the full reference is the + [Actions manual](/surveys/website-app-surveys/actions). + -### 6. Last step: Set Recontact Options correctly +## 3. Decide how often it may appear -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: +Still on **Settings**, open **Visibility & Recontact**. Choose **Show only once**. Asking the same people to take the survey repeatedly is how you get a number that drifts for reasons unrelated to your product. -![Set recontact options](/images/surveys/best-practices/pmf-survey/recontact-options.webp) + + Recontact Options and the workspace-wide [Cooldown Period](/surveys/website-app-surveys/cooldown-period) + are two separate gates and a survey has to pass both — Recontact Options first, then the cooldown. If + your workspace shows at most one survey a week, this survey inherits that unless you set **Ignore + Cooldown Period**. + -### 7. Congrats! You’re ready to publish your survey 💃 +## 4. Publish -![Publish survey](/images/surveys/best-practices/pmf-survey/publish.webp) +**Publish** puts it live. The widget picks up the change within a minute. - 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)](/surveys/website-app-surveys/quickstart) to install the widget. - \ No newline at end of file + This is an app survey, so it needs the Formbricks widget running in your product. If you have not + installed it yet, follow [the quickstart](/surveys/website-app-surveys/quickstart) first. + diff --git a/docs/surveys/best-practices/research-panel.mdx b/docs/surveys/best-practices/research-panel.mdx index 997a3f034d42..6d2e727f4a3b 100644 --- a/docs/surveys/best-practices/research-panel.mdx +++ b/docs/surveys/best-practices/research-panel.mdx @@ -73,7 +73,7 @@ Building a research panel with Formbricks involves these key steps: 3. Select **CSV** format 4. Save the file to your computer - ![Download responses CSV](/images/surveys/best-practices/panel-management/download-responses.webp) + ![The Download menu on the Responses tab](/images/surveys/best-practices/research-panel/download.webp) This CSV contains all the profiling data from your respondents. diff --git a/docs/surveys/link-surveys/data-prefilling.mdx b/docs/surveys/link-surveys/data-prefilling.mdx index cccb3476dea2..8592b1d38db2 100644 --- a/docs/surveys/link-surveys/data-prefilling.mdx +++ b/docs/surveys/link-surveys/data-prefilling.mdx @@ -135,7 +135,7 @@ In this example: 1. Open your survey in the Survey Editor 2. Click on the question you want to prefill -3. Open the **Advanced Settings** at the bottom of the question card +3. Click **Show Question settings** at the foot of the question card 4. Each option shows its unique ID that you can copy ### Examples with Option IDs diff --git a/docs/surveys/link-surveys/start-at-block.mdx b/docs/surveys/link-surveys/start-at-block.mdx index 14c833821f44..6a2e133d4eca 100644 --- a/docs/surveys/link-surveys/start-at-block.mdx +++ b/docs/surveys/link-surveys/start-at-block.mdx @@ -19,7 +19,7 @@ The survey navigation is block-based: each block can contain one or more questio 1. In the Survey Editor, open the Questions Tab and ensure the survey is set as a **Link Survey**. -2. Find the question (or block) you want to start at, click on **Show Advanced Settings**, and copy the **Question ID** of any question in that block. +2. Find the question (or block) you want to start at, click on **Show Question settings**, and copy the **Question ID** of any question in that block. Each question has a unique Question ID. Since `startAt` resolves to the block containing the question, you can use any question ID from the target block—typically the first question in that block. diff --git a/docs/surveys/website-app-surveys/actions.mdx b/docs/surveys/website-app-surveys/actions.mdx index 558d970d5f70..5d348fde7dbb 100644 --- a/docs/surveys/website-app-surveys/actions.mdx +++ b/docs/surveys/website-app-surveys/actions.mdx @@ -22,7 +22,7 @@ icon: "code" - If the user or visitor already filled out a survey in the past couple of days (see [Workspace-wide Survey Cooldown](/surveys/website-app-surveys/recontact#workspace-wide-survey-cooldown)), the survey will not be shown to prevent survey fatigue. + If a [Cooldown Period](/surveys/website-app-surveys/cooldown-period) applies and the user or visitor was **shown** a survey inside it, this one will not be shown, to prevent survey fatigue. Three things about that gate are easy to get wrong: the interval is whatever you configured, not a fixed one; a survey can set its own, which overrides the workspace value, and a survey set to ignore the cooldown skips the check entirely; and it counts displays of **any** survey, not answers to this one — so declining to answer, or being shown a different survey, still starts the clock. Also, if this user or visitor has seen this specific survey before, Formbricks might not show it as this is dependent on the [Recontact Options](/surveys/website-app-surveys/recontact).