Macro variables cannot be made mandatory in the service portalDescription<!-- div.margin{ padding: 10px 40px 40px 30px; } table.tocTable{ border: 1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } table.noteTable{ border:1px solid; border-color:#E0E0E0; background-color: rgb(245, 245, 245); width: 100%; border-spacing:2; } table.internaltable { white-space:nowrap; text-align:left; border-width: 1px; border-collapse: collapse; font-size:14px; width: 85%; } table.internaltable th { border-width: 1px; padding: 5px; border-style: solid; border-color: rgb(245, 245, 245); background-color: rgb(245, 245, 245); } table.internaltable td { border-width: 1px; padding: 5px; border-style: solid; border-color: #E0E0E0; color: #000000; } .title { color: #D1232B; font-weight:normal; font-size:28px; } h1{ color: #D1232B; font-weight:normal; font-size:21px; margin-bottom:-5px } h2{ color: #646464; font-weight:bold; font-size:18px; } h3{ color: #000000; font-weight:BOLD; font-size:16px; text-decoration:underline; } h4{ color: #646464; font-weight:BOLD; font-size:15px; text-decoration:; } h5{ color: #000000; font-weight:BOLD; font-size:13px; text-decoration:; } h6{ color: #000000; font-weight:BOLD; font-size:14px; text-decoration:; } ul{ list-style: disc outside none; margin-left: 0; } li { padding-left: 1em; } --> Symptoms Macro variables in the service portal cannot be set as mandatory. Using a client script or ui policy with g_form.setMandatory will not work. Release All supported releases Environment Service Portal Cause Macro variables use a widget field type and these cannot be made mandatory by design. The following image shows a code snippet from js_includes_sp.jsx where the isMandatory function returns false for widget field types. Resolution While this behavior is not officially supported OOB, there is a workaround you can use to change the field type to string. 1) Navigate to Service Portal > Widgets 2) Locate the widget used by the macro variable and open the record 3) In the client controller section, add the following code: $scope.page.field.type = 'string'; 4) Save the widget record Additional Information https://community.servicenow.com/community?id=community_question&sys_id=4bd10ba9db98dbc01dcaf3231f961903