Custom Record Online HTML Form

Requirement

The case records will have the details of the customer, home address and email, and other information. The organization would like to have a customer survey solution so that the business can send customer survey emails to customers from the case record.

Solution

The proposed solution will place a button in the case records named ‘Installation Survey’. The solution will send an email with the link to the survey. The survey will be developed using the custom record functionality of Netsuite(Online HTML form). The survey questions will be added as fields in the custom record. Customer, Home Address(Field Asset), and builder email can be populated to the survey form from the case record. Once the customer submitted the form the response will be added as list records in the custom record. Here the answers for each question will be added as a 5-star rating.
The user can select the rating by selecting a star.

Technical

A custom record is created for the online survey form so that whenever the user submits the online form that will be recorded in Netsuite as a custom record named “Installation Survey”.
A user event is deployed on the case record to add the button “Installation Survey”. The button will be used to send the email to the customer. The email will have a link to open the online HTML form. So that the user can click the link and open the online form.
The “Builder Email Address”, “Customer”, and “Home Address” will be fetched from the case record. This is achieved by adding these details in the online form link as parameters.
For emailing an email template will be created. The online form link will be added to the email template and the parameter will also add to the email template. So that the parameter values will be dynamically fetch based on the case record from which the email is sending.

Email template

Hi,<p data-renderer-start-pos=”382″>Thank you for working with Eagle Point Solutions. &nbsp;Our Purpose is &lsquo;To Make a Difference for our Customers.&rsquo;</p>
<p data-renderer-start-pos=”492″>We appreciate your feedback on a recent installation that we completed for you.</p>
<p data-renderer-start-pos=”573″>Please take 2 minutes to complete the brief survey below and help us improve your experience with us in the future.<br /> <br /> Have a great week and thank you for your input.</p><br /><#assign para=”&amp;customer=” +case.custevent_nx_customer.id+”&amp;address=”+case.custevent_nx_case_asset.id+” &amp;emailid=”+case.email+” &amp;caseid=”+case.id> <#assign newurl=” https://5183969-sb1.extforms.netsuite.com/app/site/crm/externalcustrecordpage.nl?compid=5183969_SB1&amp;formid=23&amp;h=AAFdikaIf-mL_bLZnaf3KQmL-4gUBksmnvwRW_ZV2A2b-qp4KKk”+ para> <a href=”${newurl}”>Add FeedBack</a><br /> <br /> Thank You.

Online HTML Form

<!– –> Customer Survey /* * { font-size: 16px; } */ #myText1 { border: 0; border-bottom: 2px solid black; outline: 0; } #custrecord_jj_additional_comments { border: 2px solid black; width: 100%; outline: 0; font-size: 16px; } #custrecord_jj_builder_email { border-top: 0px solid black; border-left: 0px solid black; border-right: 0px solid black; border-bottom: 2px solid black; font-size: 16px; } #custrecord_jj_customer_2 { border-top: 0px solid black; border-left: 0px solid black; border-right: 0px solid black; border-bottom: 2px solid black; width: 69px; font-size: 16px; } #custrecord_jj_home_address_2 { border-top: 0px solid black; border-left: 0px solid black; border-right: 0px solid black; border-bottom: 2px solid black; font-size: 16px; } #emailid { border-top: 0px solid black; border-left: 0px solid black; border-right: 0px solid black; border-bottom: 2px solid black; } #cust { border-top: 0px solid black; border-left: 0px solid black; border-right: 0px solid black; border-bottom: 2px solid black; } #addr { border-top: 0px solid black; border-left: 0px solid black; border-right: 0px solid black; border-bottom: 2px solid black; } select:focus { font-size: 16px; } /* Style the submit button */ input[type=submit] { background-color: white; color: black; padding: 12px 20px; border: 2px solid black; border-radius: 5px; cursor: pointer; float: center; } /* .mainTableRow { font-size: 16px; } */ .qnumber { vertical-align: top; width: 7%; /* font-size: 16px; */ } .bodyfield { display: inline; } /* rate1 */ .rate1 { float: left; height: 46px; margin-top: 6px; } .rate1:not(:checked)>input { position: absolute; /* top: -9999px; */ z-index: -1; opacity: 0; font-size: 16px; } .rate1:not(:checked)>label { float: right; width: 1em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 30px; /* color: #ccc;*/ color: #27285C; } .rate1:not(:checked)>label:before { content: ‘★ ‘; } .rate1>input:checked~label { color: #ffc700; } .rate1:not(:checked)>label:hover, .rate1:not(:checked)>label:hover~label { color: #deb217; } .rate1>input:checked+label:hover, .rate1>input:checked+label:hover~label, .rate1>input:checked~label:hover, .rate1>input:checked~label:hover~label, .rate1>label:hover~input:checked~label { color: #c59b08; } /* rate2 */ .rate2 { float: left; height: 46px; margin-top: 6px; } .rate2:not(:checked)>input { position: absolute; /* top: -9999px; */ z-index: -1; opacity: 0; font-size: 16px; } .rate2:not(:checked)>label { float: right; width: 1em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 30px; /* color: #ccc;*/ color: #27285C; } .rate2:not(:checked)>label:before { content: ‘★ ‘; } .rate2>input:checked~label { color: #ffc700; } .rate2:not(:checked)>label:hover, .rate2:not(:checked)>label:hover~label { color: #deb217; } .rate2>input:checked+label:hover, .rate2>input:checked+label:hover~label, .rate2>input:checked~label:hover, .rate2>input:checked~label:hover~label, .rate2>label:hover~input:checked~label { color: #c59b08; } /* rate3 */ .rate3 { float: left; height: 46px; margin-top: 6px; } .rate3:not(:checked)>input { position: absolute; /* top: -9999px; */ z-index: -1; opacity: 0; font-size: 16px; } .rate3:not(:checked)>label { float: right; width: 1em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 30px; /* color: #ccc;*/ color: #27285C; } .rate3:not(:checked)>label:before { content: ‘★ ‘; } .rate3>input:checked~label { color: #ffc700; } .rate3:not(:checked)>label:hover, .rate3:not(:checked)>label:hover~label { color: #deb217; } .rate3>input:checked+label:hover, .rate3>input:checked+label:hover~label, .rate3>input:checked~label:hover, .rate3>input:checked~label:hover~label, .rate3>label:hover~input:checked~label { color: #c59b08; } /* rate4 */ .rate4 { float: left; height: 46px; margin-top: 6px; } .rate4:not(:checked)>input { position: absolute; /* top: -9999px; */ z-index: -1; opacity: 0; font-size: 16px; } .rate4:not(:checked)>label { float: right; width: 1em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 30px; /* color: #ccc;*/ color: #27285C; } .rate4:not(:checked)>label:before { content: ‘★ ‘; } .rate4>input:checked~label { color: #ffc700; } .rate4:not(:checked)>label:hover, .rate4:not(:checked)>label:hover~label { color: #deb217; } .rate4>input:checked+label:hover, .rate4>input:checked+label:hover~label, .rate4>input:checked~label:hover, .rate4>input:checked~label:hover~label, .rate4>label:hover~input:checked~label { color: #c59b08; } /* rate5 */ .rate5 { float: left; height: 46px; margin-top: 6px; } .rate5:not(:checked)>input { position: absolute; /* top: -9999px; */ z-index: -1; opacity: 0; font-size: 16px; } .rate5:not(:checked)>label { float: right; width: 1em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 30px; /* color: #ccc;*/ color: #27285C; } .rate5:not(:checked)>label:before { content: ‘★ ‘; } .rate5>input:checked~label { color: #ffc700; } .rate5:not(:checked)>label:hover, .rate5:not(:checked)>label:hover~label { color: #deb217; } .rate5>input:checked+label:hover, .rate5>input:checked+label:hover~label, .rate5>input:checked~label:hover, .rate5>input:checked~label:hover~label, .rate5>label:hover~input:checked~label { color: #c59b08; } @media screen and (-webkit-min-device-pixel-ratio:0) { select, textarea, input { font-size: 16px; } } @media screen and (max-width: 600px) { .rate1:not(:checked)>label, .rate2:not(:checked)>label, .rate3:not(:checked)>label, .rate4:not(:checked)>label, .rate5:not(:checked)>label { float: right; width: 1em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 22px; /* color: #ccc;*/ color: #27285C; } .ratingText { font-size: 12px; width: 30%; } } .rate1, .rate2, .rate3, .rate4, .rate5 { width: max-content; } @media(min-width:768px) { .main-table { width: 600px; } } @media(max-width:350px) { .rate1, .rate2, .rate3, .rate4, .rate5 { margin-top: 17px; } } @media(max-width:316px) { .defNot { padding-top: 10px; } } @media(min-width:330px) and (max-width:400px) { .rate1, .rate2, .rate3, .rate4, .rate5 { margin-left: -2px; } }
logo

Please take just a couple of minutes to provide feedback on your recent flooring installation.
Thank you for your input:
Builder Email Address: <!– –>

Customer: <!– –>

Home Address: <!– –>


Builder Satisfaction Survey



1. I would recommend Eagle Point to another builder or coworker:
Definitely not
Definitely
2. Eagle Point delivered products and services complete and on time:
Definitely not
Definitely
3. Rate the quality of installation:
Disappointing
Exceptional
4. Rate the quality of communication with the office:
Disappointing
Exceptional
5. I was able to get the job scheduled when I wanted:
Disagree
Agree
6. Additional Comments:


$(document).ready(function () { setDefaultFields(); }); function setDefaultFields() { const queryString = window.location.search; console.log(queryString); const urlParams = new URLSearchParams(queryString); var customer = urlParams.get(‘customer’) console.log(customer); var address = urlParams.get(‘address’) console.log(address); const email = urlParams.get(’emailid’) console.log(email); const caseid = urlParams.get(‘caseid’) console.log(caseid); // if (address) { // $(“#custrecord_jj_home_address_2”).val(address); // $(“#addr”).text(address); // } if (email) { $(“#custrecord_jj_builder_email”).val(email); $(“#emailid”).text(email); } if (caseid) { $(“#custrecord_jj_case”).val(caseid); } if (address) { address = address.replace(/\D/g, ”); console.log(address); var obj1 = {}; $(“#custrecord_jj_home_address_2 option”).each(function (i, op) { obj1[$(op).val()] = $(op).text(); }); console.log(obj1); console.log(obj1[Number(address)]); if (obj1[Number(address)]) { $(“#custrecord_jj_home_address_2”).val(address); $(“#addr”).text(obj1[Number(address)]); } } if (customer) { customer = customer.replace(/\D/g, ”); var obj2 = {}; $(“#custrecord_jj_customer_2 option”).each(function (i, op) { obj2[$(op).val()] = $(op).text(); }); if (obj2[Number(customer)]) { $(“#custrecord_jj_customer_2”).val(customer); $(“#cust”).text(obj2[Number(customer)]); } } } function retVal(myRadio) { var name = myRadio.name; var value = myRadio.value; // alert(name + ” : ” + value) switch (name) { case “quest1”: document.getElementById(“custrecord_jj_question_1”).value = value; break; case “quest2”: document.getElementById(“custrecord_jj_question_2”).value = value; break; case “quest3”: document.getElementById(“custrecord_jj_question_3”).value = value; break; case “quest4”: document.getElementById(“custrecord_jj_question_4”).value = value; break; case “quest5”: document.getElementById(“custrecord_jj_question_5”).value = value; break; default: break; } }

Leave a comment

Your email address will not be published. Required fields are marked *