This guide provides a step-by-step approach to correctly fill the ModuleSettings table. This table is used to configure settings for different survey modules in the system. It defines how the module behaves, processes invitations, handles responses, and performs various actions. The table is linked to the fw_modules table via the moduleid column, meaning the settings apply specifically to a module. You can find the detailed structure of the ModuleSettings table here:\\β¨π Module Settings Table Structure
The id is an auto-increment primary key for each record in the ModuleSettings table.
How to fill this:
Example:
| id |
|---|
| 1 |
| 2 |
| 3 |
The moduleid field connects this setting to a specific module in the fw_modules table.
How to fill this:
Example:
| moduleid |
|---|
| 1 |
| 2 |
π‘ Note: Always ensure the moduleid exists in the fw_modules table.
This field determines the survey flow type β whether Continuous or Wave.
Options:
Use wave if you plan to collect feedback in periodic cycles.
Use continuous for ongoing feedback collection.
This field defines whether the survey should be displayed on one page or one question per page.
How to fill this:
This field determines when the survey invitation will be automatically discarded if the consultation date has passed.
How to fill this:
Example:
| sendbeforedays |
|---|
| 30 |
| 60 |
| 90 |
π‘ Scenario:
Defines the design of the email that will be sent to the respondent.
Options:
Defines the type of progress bar shown during the survey.
Options:
Defines what should be checked for blacklisting (email, import variable, or both).
Options:
Defines whether the survey should be single-language or multi-language.
Options:
Defines where the respondent can select the survey language.
Options:
Defines whether the client's logo should appear in the survey.
Options:
Defines if the period bar should be shown in survey reports.
Options:
Defines if an action list should be created for this module.
Options:
Defines if multiple action items can be created for the same invitation.
Options:
Defines whether an SMS should be sent when a case is assigned.
Options:
Defines whether the email content is fixed or variable-based.
Options:
Defines the variable field in fw_invitationfields table that is linked to the survey.
How to fill this:
Example:
| variablefieldname |
|---|
| department |
| product_name |
The variablefieldparams field is used to store the query parts that capture specific variable data from the invitation. These query parts are typically used to extract information like doctor name, appointment date, or consultation type.
How to fill this:
Example: If you want to capture the doctorβs name from the invitation: `{βfieldβ: βdoctor_nameβ, βoperatorβ: β=β, βvalueβ: βDr. Smithβ}`
If you want to capture all invitations where the appointment date is within the last 30 days: `{βfieldβ: βappointment_dateβ, βoperatorβ: β>β, βvalueβ: βcurrent_date - 30β}`
The blacklistfield defines which column from the invitation table should be used to blacklist the invitation. This is useful when you want to prevent sending surveys to respondents based on certain criteria.
How to fill this:
Example: If you want to blacklist based on email: `email`
If you want to blacklist based on a custom variable like PatientID: `patient_id`
The resethalfyearfield defines the condition to reset the survey eligibility based on a half-yearly rule. This means if the same respondent was invited within the last 6 months, the system will decide whether to invite them again or not.
How to fill this:
Example: If the column for the consultation date is: `consultation_date`
If the column for the invitation date is: `invitation_date`
π‘ This field works along with the next two fields for resetting survey eligibility.
The resethalfyearcheckmoduleids column stores a comma-separated list of module IDs that will also be checked when applying the reset half-year rule. This is particularly useful when a respondent has received invitations from multiple modules but you still want to apply the same reset condition across them.
How to fill this:
The ignoreresethalfyear defines whether the system should still insert the invitation even if the reset half-year condition is met.
Options:
How to fill this:
The considerparticipatedinvitationsforresethalfyear defines whether the system should consider participated surveys (respondents who have already completed the survey) as a part of the reset half-year condition.
Options:
The responseoverviewfieldtype defines the source from which the response overview data should be fetched.β¨It can either be:
This field helps in splitting the response overview data based on specific columns.
How to Fill This Field
β¨
The responseoverviewfield stores the ID of the field (from either fw_invitationfields or fw_orgstructuremaster) that will be used to split the data in the response overview report.
How to Fill This Field:
Example:
If you want to split data based on department, and its field ID is 12, enter 12
The responsepagetype determines which type of response overview page should be displayed in the report.
The redirectdelay sets the delay (in seconds) before redirecting the respondent to the end page URL after completing the survey.
How to Fill This Field:
Example
| Value | Result |
|---|---|
| 5 | Redirect after 5 seconds. |
| 0 | Redirect immediately. |
The endpageurl defines the URL to which the respondent will be redirected after completing the survey. \\How to Fill This Field:
The importinvlimit defines the maximum number of invitations that can be imported from an Excel sheet at one time. Example Value Max Importable Invitations 500 Can import 500 invitations per upload.
The noinvfields determines if fields are mandatory for setting up invitations.
1βFields are mandatory.
0βNo fields required.
The invuploadfields field is used to define which fields are allowed when uploading invitations through Excel or CSV files. These fields usually correspond to the columns present in the fw_invitationfields table or any custom fields required for survey invitations.
How to Fill This Field:
Example:
The surveyfeedbackscorefieldid field defines the ID of the field that contains the feedback score from the respondent (e.g., NPS Score, Satisfaction Score).
How to Fill This Field:
Example Suppose the feedback score column has an ID of 23: 23
The scorehigherthanvalue field allows you to filter responses where the feedback score is higher than a specific value. This is typically used in Net Promoter Score (NPS) or similar metrics.
How to Fill This Field
Example
If you only want to show feedback where the score is above 8:
8
π‘ This is commonly used in Promoter/Detractor score calculation.
The scorelowerthanvalue field allows you to filter responses where the feedback score is lower than a specific value. This is typically used to identify detractors in NPS scoring. β How to Fill This Field
β’ Enter the maximum score that should be considered for filtering. β’ This value works only when the surveyfeedbackscorefieldid is set.
β Example If you only want to capture detractors where the score is below 6: 6 π‘ This field works in combination with scorehigherthanvalue.
The redirecturlhigherscore defines the URL where respondents will be redirected if they give a high feedback score (based on scorehigherthanvalue). This is often used to redirect satisfied customers to a Google Review Page, Thank You Page, etc.. β How to Fill This Field
β’ Enter the full URL with http or https. β’ This URL will be triggered only if the feedback score exceeds the higher score limit.
β Example If your higher score threshold is 8, you can redirect them to: https://www.yourwebsite.com/thank-you
The redirecturllowerscore defines the URL where respondents will be redirected if they give a low feedback score (based on scorelowerthanvalue). This is often used to collect negative feedback or route dissatisfied customers to support pages. β How to Fill This Field
β’ Enter the full URL with http or https. β’ This URL will be triggered only if the feedback score falls below the lower score limit.
β Example If your lower score threshold is 6, you can redirect them to: https://www.yourwebsite.com/contact-support
The minfeedbackscore field allows you to set the minimum score range for feedback responses. Any response below this minimum score will be excluded from the feedback report. β How to Fill This Field
β’ Enter the minimum score you wish to capture in reports. β’ Any feedback score below this value will be excluded from reports.
β Example If you want to capture feedback scores above 4 only: 4
The maxfeedbackscore field allows you to set the maximum score range for feedback responses. Any response above this maximum score will be excluded from the feedback report. β How to Fill This Field
β’ Enter the maximum score you wish to capture in reports. β’ Any feedback score above this value will be excluded from reports.
β Example If you want to capture feedback scores up to 10 only: 10
The ignorefeedbackscoreforinvitations determines whether the feedback score should affect the invitation logic.
β’ If set to 1 β Ignore the feedback score when considering new invitations. β’ If set to 0 β Respect the feedback score when considering new invitations.
β How to Fill This Field Value Result 1 Do not use feedback scores for invitation logic. 0 Use feedback scores for invitation logic. β Example If you want to ignore scores and continue sending surveys, enter: 1 If you want to stop sending surveys if a high score was received: 0
The sendfeedbackrequest field determines whether a separate feedback request email should be sent after the survey is completed.
β’ This is mostly used in follow-up emails. β’ If enabled, it sends a second email requesting feedback on the survey experience.
β How to Fill This Field Value Result 1 Send feedback request email. 0 Do not send feedback request email. β Example If you want to send a follow-up email asking for feedback: 1 If you do not want to send any follow-up email: 0
I'll proceed with Rows 41 to 50 now. One moment! π
The maxfeedbackrequestattempts field defines the maximum number of times a feedback request email will be sent to the respondent if they do not respond. This prevents spamming respondents with too many requests. β How to Fill This Field
β’ Enter the maximum number of attempts to send a feedback request. β’ Once the maximum attempts are reached, no further feedback requests will be sent.
β Example If you want to send a maximum of 2 feedback request emails: 2 If you do not want to limit attempts: 0 π‘ Best Practice: Keep the value below 3 to avoid annoying respondents.
The feedbackrequestinterval field defines the waiting period (in days) between two consecutive feedback request emails if the respondent hasn't replied. β How to Fill This Field
β’ Enter the number of days between two feedback request attempts. β’ If set to 0, the system will not wait and send requests immediately.
β Example If you want to wait 7 days before sending another request: 7 If you do not want any delay: 0 π‘ Best Practice: Keep a gap of at least 3-7 days to avoid frustration.
The feedbackemailtemplateid field defines the ID of the email template used for sending the feedback request. This template is usually predefined in the emailtemplates table. β How to Fill This Field
β’ Go to the emailtemplates table. β’ Find the template ID for the feedback email. β’ Enter the template ID here.
β Example Suppose the feedback email template has an ID of 12: 12 π‘ If you do not specify any template, no feedback request email will be sent.
The allowresendfeedbackrequest field determines whether the system should allow manual resending of feedback requests by an admin (even after attempts are exhausted). β How to Fill This Field Value Result 1 Allow manual resending of feedback requests. 0 Do not allow manual resending. β Example If you want to give admins the option to resend feedback requests: 1 If you want to strictly follow the max attempt rule: 0 π‘ Use with caution to avoid spamming customers.
The mindaysbetweenfeedbackrequests field specifies the minimum number of days between two separate feedback requests (even if the feedback score is different). β How to Fill This Field
β’ Enter the number of days that must pass before sending another feedback request. β’ This prevents excessive follow-ups.
β Example If you want at least 30 days between two requests: 30 If you do not want any restriction: 0 π‘ Best Practice: Use 30-60 days to avoid disturbing customers.
The feedbackrequestexpirydays field defines the number of days after which the feedback request expires. If the respondent does not reply within this time, the system will close the request automatically. β How to Fill This Field
β’ Enter the number of days before the feedback request expires. β’ Once expired, the respondent cannot submit feedback.
β Example If you want feedback requests to expire after 14 days: 14 If you do not want feedback requests to expire: 0 π‘ This ensures that feedback requests do not remain open indefinitely.
The closefeedbackrequestonsubmission field determines whether the feedback request should automatically close once the respondent submits their feedback. β How to Fill This Field Value Result 1 Automatically close the feedback request after submission. 0 Keep the feedback request open even after submission. β Example If you want to close the request immediately after submission: 1 If you want to keep it open for future feedback: 0 π‘ This is generally recommended to avoid confusion.
The maxinvitationattempts field sets the maximum number of times an invitation email can be sent to a participant if they do not respond. β How to Fill This Field
β’ Enter the maximum number of email attempts per participant. β’ Once the maximum attempts are reached, no further invitations will be sent.
β Example If you want to send a maximum of 3 invitations: 3 If you do not want any limit: 0 π‘ Best Practice: Keep the value between 2-3.
The invitationattemptinterval defines the waiting period (in days) between two consecutive invitation emails if the respondent hasn't replied. β How to Fill This Field
β’ Enter the number of days between two invitation attempts. β’ If set to 0, no delay will occur.
β Example If you want to wait 5 days between attempts: 5 If you do not want any delay: 0 π‘ Best Practice: Keep it between 3-5 days.
The invitationemailtemplateid field specifies the email template to use when sending invitations to participants. This template can be selected from the emailtemplates table. β How to Fill This Field
β’ Go to the emailtemplates table. β’ Find the template ID for the invitation email. β’ Enter that template ID here.
β Example If your invitation email template has an ID of 15: 15 If you do not want to use any template: 0 π‘ This template is sent to participants when they are invited to complete a survey.
I'll proceed with Rows 51 to 60 now. One moment! π
The allowresendinvitation field defines whether the admin has the authority to manually resend an invitation email to participants, even after the maximum attempts have been reached. β How to Fill This Field Value Result 1 Allow admins to manually resend invitation emails. 0 Do not allow manual resending once the maximum attempts are reached. β Example If you want to allow admins to manually resend invitations: 1 If you do not want any manual intervention: 0 π‘ Best Practice: Allow manual resending only if critical.
The mindaysbetweeninvitations field defines the minimum number of days that must pass before sending another invitation to the same participant. This prevents participants from being spammed with frequent invitations. β How to Fill This Field
β’ Enter the number of days to wait before sending another invitation. β’ If set to 0, there is no delay between attempts.
β Example If you want a minimum gap of 5 days between two invitations: 5 If you want no waiting period: 0 π‘ Best Practice: Set at least 3-5 days to avoid irritation.
The invitationexpirydays field defines how long (in days) an invitation remains valid before it automatically expires. Once expired, the participant will no longer be able to respond. β How to Fill This Field
β’ Enter the number of days before the invitation expires. β’ If set to 0, the invitation will never expire.
β Example If you want invitations to expire after 14 days: 14 If you want them to remain valid indefinitely: 0 π‘ Best Practice: Keep this around 14-30 days for practical follow-ups.
The closeinvitationonsubmission field determines whether the invitation should be automatically closed once the participant has submitted their response. β How to Fill This Field Value Result 1 Automatically close the invitation after submission. 0 Keep the invitation open even after submission. β Example If you want to close the invitation after a response is submitted: 1 If you want it to remain open for future responses: 0 π‘ Best Practice: Always set this to 1 to avoid redundant open invitations.
The reminderemailtemplateid field stores the ID of the email template used for sending reminder emails to participants who have not yet responded to the invitation. This template is usually found in the emailtemplates table. β How to Fill This Field
β’ Go to the emailtemplates table. β’ Find the template ID for the reminder email. β’ Enter the template ID here.
β Example If the reminder email template has an ID of 22: 22 If no template is required: 0 π‘ Best Practice: Always use a polite and persuasive reminder template.
The maxreminderattempts field specifies the maximum number of times a reminder email will be sent to participants if they have not responded to the invitation. β How to Fill This Field
β’ Enter the maximum number of reminders that can be sent. β’ Once the maximum attempts are exhausted, no further reminders will be sent.
β Example If you want to send a maximum of 3 reminders: 3 If you do not want any reminders: 0 π‘ Best Practice: Limit reminders to 2-3 to avoid overwhelming participants.
The reminderintervaldays field specifies the number of days between two consecutive reminder emails (if the participant has not responded). This helps space out reminders to avoid spamming. β How to Fill This Field
β’ Enter the number of days between two reminders. β’ If set to 0, reminders will be sent immediately after each failed attempt.
β Example If you want to wait 5 days between reminders: 5 If you want no delay between reminders: 0 π‘ Best Practice: Set this between 3-5 days for effective follow-ups.
The reminderexpirydays field defines the maximum number of days the system will keep sending reminders. Once the expiration period is reached, no further reminders will be sent. β How to Fill This Field
β’ Enter the number of days after which reminders should stop. β’ If set to 0, reminders will never expire.
β Example If you want reminders to expire after 30 days: 30 If you do not want reminders to expire: 0 π‘ Best Practice: Set a clear expiry to avoid continuous reminders.
The closereminderonsubmission field defines whether the system should automatically stop reminders once the participant submits their response. β How to Fill This Field Value Result 1 Automatically stop reminders after submission. 0 Continue reminders even after submission. β Example If you want reminders to stop once a response is submitted: 1 If you want reminders to continue regardless of response: 0 π‘ Best Practice: Always set this to 1 to avoid redundant reminders.
The surveycompletionemailtemplateid field stores the email template ID for sending a thank-you or confirmation email after the participant has successfully completed the survey. The template is generally stored in the emailtemplates table. β How to Fill This Field
β’ Go to the emailtemplates table. β’ Find the template ID for the survey completion email. β’ Enter the template ID here.
β Example If the survey completion email template has an ID of 30: 30 If no thank-you email is needed: 0 π‘ Best Practice: Always send a thank-you email to participants.
I'll proceed with Rows 61 to 68 now. One moment! π
The enableinvitationexpirynotification field determines whether the system should send a notification email to participants when their invitation is about to expire. This helps increase response rates by informing participants before their access expires. β How to Fill This Field Value Result 1 Enable invitation expiry notification. 0 Disable invitation expiry notification. β Example If you want participants to receive an email when their invitation is about to expire: 1 If you do not want them to receive any notification: 0 π‘ Best Practice: Always enable this notification to maximize response rates.
The invitationexpirynotificationdays field defines how many days before the invitation expires should the notification email be sent to the participant. This works only if enableinvitationexpirynotification is set to 1. β How to Fill This Field
β’ Enter the number of days before expiry when the notification should be sent. β’ If set to 0, no notification will be sent.
β Example If you want the notification to be sent 3 days before expiry: 3 If you do not want any notification: 0 π‘ Best Practice: Set this to 3-5 days for a polite reminder before expiry.
The invitationexpirynotificationemailtemplateid field stores the email template ID for the notification email sent to participants when their invitation is about to expire. The template is stored in the emailtemplates table. β How to Fill This Field
β’ Go to the emailtemplates table. β’ Find the template ID for the expiry notification email. β’ Enter the template ID here.
β Example If the expiry notification email template has an ID of 12: 12 If no notification email is needed: 0 π‘ Best Practice: Always use a friendly and clear expiry notification template.
The allowmanualcloseinvitation field determines whether the admin has permission to manually close an open invitation before it expires or is submitted. This is useful when the admin wants to stop participation for specific participants. β How to Fill This Field Value Result 1 Allow admin to manually close open invitations. 0 Do not allow manual closing of invitations. β Example If you want the admin to have the option to manually close invitations: 1 If you want invitations to remain open until expiry/submission: 0 π‘ Best Practice: Enable manual close only if your survey has time-sensitive responses.
The allowmanualclosereminder field defines whether the admin has the authority to manually stop sending reminders to a particular participant. This is useful if the participant already responded outside the survey or requested no further communication. β How to Fill This Field Value Result 1 Allow admin to manually stop reminders. 0 Do not allow manual stopping of reminders. β Example If you want the admin to stop reminders for specific participants: 1 If reminders should continue until the maximum attempts or submission: 0 π‘ Best Practice: Enable this option for flexible participant management.
The surveyclosenotificationemailtemplateid field stores the email template ID used to notify participants when their survey has been manually closed. This only works if allowmanualcloseinvitation is set to 1. The template is stored in the emailtemplates table. β How to Fill This Field
β’ Go to the emailtemplates table. β’ Find the template ID for the survey close notification. β’ Enter the template ID here.
β Example If the survey close notification template has an ID of 15: 15 If no notification is needed: 0 π‘ Best Practice: Always notify participants if their survey has been closed.
The allowmanualreopeninvitation field defines whether the admin has permission to manually reopen a closed invitation for participants. This is helpful if participants miss their deadline or request another chance to complete the survey. β How to Fill This Field Value Result 1 Allow admin to manually reopen closed invitations. 0 Do not allow manual reopening of invitations. β Example If you want the admin to reopen closed invitations when needed: 1 If you want closed invitations to remain permanently closed: 0 π‘ Best Practice: Enable this option to allow flexibility in participation.
The allowmanualreopenreminder field defines whether the admin has the authority to resume reminder emails for a participant after it has been stopped (either manually or by system expiry). This allows re-engagement with participants after reminders were paused. β How to Fill This Field Value Result 1 Allow admin to manually resume reminders. 0 Do not allow manual resuming of reminders. β Example If you want the admin to have the option to resume reminders: 1 If you want reminders to stay permanently closed once stopped: 0 π‘ Best Practice: Enable this option to ensure missed participants can still engage.
β Notes π‘ Always cross-verify email template IDs from the emailtemplates table to avoid sending incorrect emails.β¨π‘ Enable manual controls if you need more flexibility in managing participant invitations and reminders.β¨π‘ Set reasonable expiry days to avoid survey fatigue for participants.