(null);
@@ -44,6 +46,7 @@ export default function VerifyEmail({
surveyId: survey.id,
email: email,
surveyData: survey.verifyEmail,
+ suId: singleUseId ?? "",
};
try {
await sendLinkSurveyEmailAction(data);
diff --git a/packages/lib/emails/emails.ts b/packages/lib/emails/emails.ts
index 89659a7693..110c0755f3 100644
--- a/packages/lib/emails/emails.ts
+++ b/packages/lib/emails/emails.ts
@@ -40,6 +40,7 @@ interface TEmailUserWithName extends TEmailUser {
export interface LinkSurveyEmailData {
surveyId: string;
email: string;
+ suId: string;
surveyData?: {
name?: string;
subheading?: string;
@@ -249,8 +250,14 @@ export const sendLinkSurveyToVerifiedEmail = async (data: LinkSurveyEmailData) =
const surveyId = data.surveyId;
const email = data.email;
const surveyData = data.surveyData;
+ const singleUseId = data.suId ?? null;
const token = createTokenForLinkSurvey(surveyId, email);
- const surveyLink = `${WEBAPP_URL}/s/${surveyId}?verify=${encodeURIComponent(token)}`;
+ const getSurveyLink = () => {
+ if (singleUseId) {
+ return `${WEBAPP_URL}/s/${surveyId}?verify=${encodeURIComponent(token)}&suId=${singleUseId}`;
+ }
+ return `${WEBAPP_URL}/s/${surveyId}?verify=${encodeURIComponent(token)}`;
+ };
await sendEmail({
to: data.email,
subject: "Your Formbricks Survey",
@@ -258,7 +265,7 @@ export const sendLinkSurveyToVerifiedEmail = async (data: LinkSurveyEmailData) =
Thanks for validating your email. Here is your Survey.
${surveyData?.name}
${surveyData?.subheading}
- Take survey
+ Take survey
All the best,
Your Formbricks Team 🤍`),
diff --git a/packages/lib/response/service.ts b/packages/lib/response/service.ts
index 95ed1c8b02..99c07a1ce1 100644
--- a/packages/lib/response/service.ts
+++ b/packages/lib/response/service.ts
@@ -256,6 +256,7 @@ export const createResponse = async (responseInput: TResponseInput): Promise