Workbooks includes a basic template for a Case Portal within the script library which is included within a paid subscription of the service. The portal can be modified to suit your business needs and can be a very effective tool for case management between you and your customers.
There are quite a few steps to set up the Case Portal, which are set out below. Please ensure that you follow them closely. Contact our Support Team if you need any help.
Create a Web Process
Click Start > Configuration > Automation > Processes > Web Processes > New Web Process.
Set the fields as follows and then save:
- Name:- "Case Portal"
- Identifier:- This will get set automatically when you name the process, so this can be left as is if you do call the process "Case Portal". If you have given the process a different name, you need to set the identifier to "case_portal", as this is what the script is expecting.
- Script:- Choose "Script Library" and then "Case Portal".
- Anonymous Access:- Set this to true
- Run as:- we would advise setting this to the 'Automation' User.
Click on the "Web Preview" tab. This will make the process run for the first time. The first thing that the process will do is check if the required fields, picklists and picklist values exist, and if they do not, it will create them. The process will then update one of the parameters, called 'create_fields', which will stop the process from checking for the required fields again. This is to improve the performance of the Portal. This may take a few seconds to complete, and then the "Web Preview" tab will display the Portal login page.
Create API Data for the Product Areas
When a Portal user raises a new case via the Portal, they will be asked to choose what Product Area their case is related to.
Once a Product Area is selected, the Portal can display a list of questions that will prompt the user into providing all of the relevant details about their case.
The options in this picklist are controlled by API Data. You will need to create an API Data record for each Product Area picklist value that you would like, setting up the fields as follows:
- Key - this must be set to "Case Category", as this is what the process will use to find the API Data.
- Key 2 - set this to the Product Area name. This should not include any special characters like brackets or slashes.
- Key 3 - use this only if you are wanting to categorise your cases further with a 'Sub Product Area'. This is not visible on the Portal.
- Key 4 - this must be set to "show_on_portal" on any of the Product Areas that should be visible in the Portal, and left blank for Product Areas that are for internal use only. This means that you can restrict how many options the Portal Users see, which means that they are more likely to categorise their case correctly.
- Value - the list of questions that you want to display. If you want each question to show on a new line, you must include the html tag <br/> at the beginning of each line.
You will need to ensure that each API Data record that you create is shared with the 'Everyone' group so that everyone is able to use the Product Area picklist that will be created using these records.
You will need to create a report so that you can create a new Dynamic Picklist field for the Product Areas. To create this report, click Start > New > Report > Create a report from a template report and choose 'Template - Case Product Areas'. Name it appropriately so that you can find it later. You should see that this report contains the details of the API Data that you created earlier. No further changes need to be made to this report, so Save and Close.
Open and Closed Cases
To allow you to have full control over which cases are visible on the Portal, the process uses 2 reports, one for open cases, one for closed. You can control which Cases are visible by changing the criteria of these reports.
Two Report Templates are available - only use these rather than creating the reports from scratch. This is because the Portal needs certain columns to be available and is expecting the columns to be named a certain way. You should therefore not delete any columns from the report, nor edit any column names.
Click Start > New > Report > Create a report from a template report and choose "Template - Support Portal - Open Cases".
Name the report appropriately, so that it is clear that it should not be edited or deleted, as this would affect the Portal.
Add a column for "Impact" (this is a newly created custom field) and ensure that it is named "Impact", plus any other columns that you want to display to the customer.
Add a criteria for "'Exclude from Portal?' is false", plus any other criteria to restrict which cases are displayed, for example, only those of a certain Case Type.
Open the calculated "Status" column. This controls the Status that the customer will see based on the status of the case, using the following formula:
WHEN 'New' THEN 'New'
WHEN 'In progress' THEN 'In Progress'
WHEN 'Email received' THEN 'Awaiting Support Response'
WHEN 'Updated by customer' THEN 'Awaiting Support Response'
WHEN 'Awaiting customer response' THEN 'Awaiting Customer Response'
WHEN 'Closed' THEN 'Closed'
ELSE 'In Progress'
For example, if the Case Status is "Email received" or "Updated by customer", then in the Portal the customer will instead see "Awaiting Support Response". You should add new lines in here for any other Case Statuses that you use, as if they are not specifically mentioned, the customer will see "In Progress". You can also amend the output to suit your business better, for example, the Workbooks own Portal might instead says "Awaiting response from Workbooks Support".
Save and close the report.
Repeat Steps 1 to 6 for "Template - Support Portal - Closed Cases"
Create a 'Product Area' field
Go to Start > Configuration > Customisation > Record Types > Cases and create a new field of type 'Dynamic Picklist'. Name it appropriately and set the 'Report' field to be the Product Area report that you created earlier. Choose the Details view and the Product Area display column. Save and make a note of the Field name for later (e.g. 'cf_case_product_area').
Edit your Form Layouts
Add your new 'Product Area' field to your Case Form Layout.
The process will have created the following fields, which you should also add to your Case Form Layout:
- Exclude from Portal? - a tickbox that can be used to stop specific cases from being displayed on the Portal.
- Impact - a picklist with the values "High", "Medium" and "Low", which will be set by the customer via the Portal. This is so that they can let you know how urgent the case is, without affecting the standard "Priority" field, therefore allowing you to choose the correct priority.
The process will also have edited the "Case Statuses" picklist to make sure it contains the following values:
- New - for when a case is first created.
- In progress - for when you are working on the case.
- Email received - usually used if you have the "Email to Case" process set up, to let you know when a customer has updated a case by email.
- Updated by customer - for when the customer has updated the case via the Portal.
- Awaiting customer response - for when you have replied to the customer and are waiting for a response.
- Closed - for when the case is complete.
The "Case Sources" picklist will also have been updated, to contain a new value for "Portal".
The process will have created the following fields, which you should add to your Person Form Layout:
- Authentication Blocked - allows you to block a registered Portal User from being able to log in.
- Registered - a tickbox to show whether the Person has completed registration for the Portal.
- First Login Time - The date and time that the Person first logged into the Portal.
- Last Login Time - The date and time of the last time the Person logged into the Portal.
- Last Login IP Address - The IP address from where the Person last logged in.
- Portal Profile URL - The Portal allows users to upload a profile picture. The URL for the profile picture is stored in this field.
Finally, the process creates a picklist field on an Activity, called "Activity Sub Type". This picklist contains 2 values, "Private" and "Public". Any activities related to the case that have a sub type of "Public" will be visible to the customer on the Portal.
This means that you can log steps taken against a case using a "Private" activity, and it will not be visible on the Portal, but you can also log the summary of a phone call with the customer, or details of the next steps that they need to follow, in a "Public" activity that will be visible on the Portal.
You may want to set up Record Templates that set this field, to make it easier for your Support Team to create the right type of activity, or you could set a default value of "Private" so that activities are not visible on the Portal unless specifically made "Public".
Set the rest of the Web Process Parameters
You can now go back to the Web Process and set the rest of the parameters:
activity_queue - When a customer updates a case on the Portal, the update will be stored in an Activity. The Activity can be assigned to a certain queue e.g. "Portal - Customer Updates". Set the name of the queue in this parameter; if left blank the Activity will be assigned to the User that the Web Process is running as, e.g. "Automation".
case_impact_picklist_id - Go to Configuration > Customisation > Picklists and open the 'Case Impact' picklist, which should have been created by the process. Click on the 'i' button and copy and paste the Id into this parameter.
case_queue - Customers can create new cases via the Portal. Set this parameter to the name of the Queue that you would like any new cases to be assigned to, e.g. "Support".
case_source_id - Go to Configuration > Customisation > Picklists and open the 'Case Sources' picklist. The process will have created a picklist value called 'Portal'. Open this picklist value, click on the 'i' button and copy and paste the Id into this parameter
case_status_close_id - Go to Configuration > Customisation > Picklists and open the 'Case Statuses' picklist, open the 'Closed' picklist value, then click on the 'i' button and copy and paste the Id into this parameter.
case_status_new_id - Go to Configuration > Customisation > Picklists and open the 'Case Statuses' picklist, open the 'New' picklist value, then click on the 'i' button and copy and paste the Id into this parameter.
case_status_update_id - Go to Configuration > Customisation > Picklists and open the 'Case Statuses' picklist, open the 'Updated by customer' picklist value, then click on the 'i' button and copy and paste the Id into this parameter.
case_type_id - Go to Configuration > Customisation > Picklists and open the 'Case Types' picklist, open the picklist value for the Type that you want to use for cases created via the Portal, then click on the 'i' button and copy and paste the Id into this parameter.
column_sort_order - This parameter is used to choose what case information you want to display on the Portal. Open the ‘Support Portal - Open Cases’ or ‘Support Portal - Closed Cases’ report, and choose the columns that contain the information you want to display to the customer. Copy the column names, in the order in which you would like them to display on the portal, into this parameter. Only the columns that are specified in this parameter will be displayed. The list must be comma separated and is case sensitive. E.g. "Case Number, Summary, Status, Name, Created At".
company_email - The Portal contains a ‘Help’ section which points the user to other resources that provide help, including an email address for them to email your support team directly. Enter the support email address in this parameter.
company_name - The name of your company as you want it to appear to Portal users.
company_phone - Enter the support telephone number in this parameter. This will be made visible in the 'Help' section of the Portal.
company_website_support - Enter the URL for the 'Help' or 'Knowledge Base' part of your website in this parameter. This will be made visible in the ‘Help’ section of the Portal.
company_website_url - Enter the URL for your company website homepage. This is where the user will be directed to if they click on your company logo, which is displayed in the top left of the Portal.
create_fields - This parameter should have a value of 1, which will have been done automatically when the process first ran and created all of the required fields. When the parameter is set to 1, this means that the process will not check for the required fields every time the process is run, which will improve the performance of the Portal. This parameter should be left as it is.
Mode - This parameter does not need to be set on the Web Process, it is for the Invite process only.
navbar_logo_url - Enter the URL of the logo to be displayed in the top left of the Portal, normally your Company logo. To get the URL, first upload the image to your Upload Library if it is not stored there. When you do this, he Upload Library will then provide you with an 'External URL' - copy this into this parameter.
product_area_field_name - the Field name (not Field label) of the Product Area field that you created earlier, e.g. cf_case_product_area
report_closed_case_id - Open the 'Support Portal - Closed Cases' report that you created earlier. Do not go into Edit mode, stay in View mode only. Click on the 'i' button and copy the Id into this parameter.
report_name_closed_cases - Enter the name of the report that you created from the 'Support Portal - Closed Cases' template report, including the name of the view, in the format "Report name:View name", e.g. "Support Portal - Closed Cases:Details"
report_name_open_cases - Enter the name of the report that you created from the 'Support Portal - Open Cases' template report, including the name of the view, in the format "Report name:View name", e.g. "Support Portal - Open Cases:Details"
report_open_case_id - Open the ‘Support Portal - Open Cases’ report that you created earlier. Do not go into Edit mode, stay in View mode only. Click on the ‘i’ button and copy the Id into this parameter.
Set up the Invite Button Process
Go to Start > Configuration > Customisation > Record Types > People and open your Person Form Layout. If you have multiple Form Layouts for People, these steps will have to followed for each Form Layout.
Go to the Automation tab of the Form Layout and click New Button Process.
Set the fields as follows and then save:
- Button Text:- The name of the Process that will show when you click on the 'Run Process' button on a Person record, e.g. "Invite Person to Case Portal".
- Script Location:- Change this to "Script Library".
- Script:- Choose the "Case Portal" script.
- Enable:- Keep this as "true".
- Run as:- We would advise setting this to the 'Automation' User to ensure that the process is running as someone with full capabilities.
- Location:- If you have other button processes on People, you will need to choose where this shows in the list. Do not set this to "On Save".
- Show Confirmation Message:- Keep this as "true".
Save this and then navigate to the Parameters tab. The only parameter that you need to amend is the 'Mode' parameter - set this to "Invite". Save and Close the process and then Save and Close the Form Layout.
Set up Email Templates
When sending an Invite to the Portal, or when someone clicks on the 'Forgotten Password' link, the process will send an email using Email Templates.
To create these, go to Start > Marketing > Templates > New Template. Choose to create a template for "A specific record type" and then choose "People". You should be provided with the option to choose a template from the list. The templates you want are "Case Portal - Registration" and "Case Portal - Forgotten Password".
You can edit the wording in the templates and add in your branding, however, do not change the name of the template, as the process specifically looks for templates called "Case Portal - Registration" or "Case Portal - Forgotten Password" when it sends the email. You should also not delete or change the hyperlink, as this contains a placeholder @link@ which the process will replace with the correct registration / forgotten password url.
Start using it!!
You are now set up and can start inviting your customers to use the Case Portal.