iService Release Update - 2018.07.19 (version 7.8)

Posted on 7/19/2018 by Landlord Administrator

Release 7.8 continues the theme of minor changes to the user interface, but major changes to the backend related to performance, security, and interaction properties.

New Features

Release 7.8 continues the theme of minor changes to the user interface, but major changes to the backend related to performance, security, and interaction properties.

Case Properties
Prior to v7.8, interaction properties were available for questions, answers, and find answers articles. A new type of property, Case Property, was added to store a single value associated with an entire case. If you have question properties used to track a value associated with the overall discussion, like “Nature of Inquiry,” you’ll probably want to convert them to Case properties. This is because question and answer properties are associated with a specific interaction within a case (i.e., message thread), rather than the entire discussion.

You can see this depicted in the example below. The case begins with a customer email, followed by an autoresponse and agent response. The customer then sends a follow up reply, and the thread continues. Within that case you might have two values saved if you were using a question property to track the nature of the question. You now have the option to use a Case Property that only has a single value stored for the entire conversation.  

New Interaction Property Value Types
We’ve added two new database field types for storing interaction property values: Integer and Number. As the name implies, use a property value type of Integer when you require the user to enter a whole number (-1, 0, 1, 2, 3 etc.). This would be used when storing a value for a property like “Quantity.” When you need to save a number that can include decimal values, like currency, use the new “Number” property value type. 

Both Integer and Number support mathematical operations. If you were previously using a value type of “Text” for numbers, you should consider one of these new formats.

Integrating iService With Other Apps
We’ve continued to expand on the Zapier integration, adding support for interaction property values within Zapier triggers and improving error handling. 
Customer Portal
Did you know that you have a customer portal built into your iService tenant that allows customers to submit questions, view answers, and search your knowledgebase? Just append /f/customerportal-treeview to your iService URL to see yours. This is a built-in example that can be customized or used out of the box. The portal is designed so it can be easily branded to fit your website. Check out the example on our website at

Some changes to the portal in this release are:
Added pagination to the My Inbox list of the user’s history
Revised the topic tree layout to make it more intuitive
Fixed an issue with displaying the article list after login
Revised the form to support including custom top level menus and incorporating chat
New Customer Chat Form
We’ve added another customer chat interface that’s responsive for mobile devices. You can use the form without changes, or as a template for your own custom chat form. Append /f/chat2 to your tenant URL to load the form.
Small Features and Bug Fixes
User Interface Changes
Added filter name to the Interaction Status Audit - to make it easier to understand which filter was used. We previously only provided the Filter ID.
Remove GUIDS from displays - For tenants using Google login, we displayed the Google GUID as an email address in various forms. This fix ensures the GUID, which is just a string of values, and other non-email address logins are not shown in email listings or menus when composing email responses.

Remove Answer button when quote is reassigned - After reassigning an open quote, the answer button continued to be displayed. This triggered an error when the agent attempted to modify the quote. Instead, the button now changes to a Get This button so it is properly assigned before presenting the forward actions.  

Certain characters parsed incorrectly - We had an issue with the characters =C2=A0 within email messages being converted to  in quoted-printable text. We also fixed an issue with emails from Yahoo inserting a stray character.

"Resolved by" list of agents should be in alphabetical order – This drop down list was sorting on ID, instead of alphabetical.
"Interaction is already resolved" when resolving an interaction in my queue – A timing issue was causing this error to display in some installations. The issue was caused by the auto save function running after the agent resolved the interaction.

Technical Changes
During tenant creation, put Blob tables inside a separate filegroup – Prior to 7.8, during tenant creation we created all tables inside a single filegroup.  We modified the tenant creation script to create the FilesRawMessages, FilesText, and Files tables in a separate logical filegroup.  This allows for database administrators to have the option to decide where to store these large files, separate from the primary database mdf if they choose.

Change InteractionsPropertyDefinitions table for property types - Schema level change: The following binary type columns: [isQuestionNotAnswer] and [isFindAnswer] were removed and rolled up into a single column named [purpose] to define property type attributes. This column is an nvarchar(32), with the following possible values as of 7.8: FindAnswer, Answer, Question, Case.

Serve ckeditor.js locally rather than use CDN – The files required for the CKEditor rich text editor are now located within the iService website, and no longer loaded from a CDN.

X-Frame-Options Header - The header within iService Forms is now set by default to DENY, which will make all forms unable to be displayed inside frames on other pages. Without the $header variable, iService forms cannot be embedded into any website as an iFrame.

$header$ has been extended to allow frames on a case by case basis.
To prevent embedding, omit the $header variables below from the iService form and by default iService forms can't be embedded.
To allow embedding from another form on the same domain, use $header -allowframesame$
To allow embedding into any website (disable security) use $header -allowframeall$

NOTE: Because Chrome does not support this approach, we've not included an option for allow-from, which specifies the domain in which the form can be embedded.

Add Non-clustered index on SmtpOut for mailpopper outbound thread - This was identified as a critically missing index which would be heavily used by iService mailpopper if it existed.

Put index with unique constraint on name column in contactslogins – This index was lost on some tenants after 7.6 updates. It’s added back as part of the 7.8 update if missing.

Security Updates – Certain aspects of the iService application were updated to eliminate vulnerabilities and improve security. 
Issue with images in Interaction Print form – We fixed some issues related to displaying images in the Print form that displays interactions in printer friendly format.

Customer Interactions by Interaction Properties report – Removed the page/tab separators generated for grouping properties.

Pipkins Vantage Point 8.08.06 integration – iService can now generate a statistics file with email metrics for importing into Pipkins.

Agent service level report – This new report calculates agent response times to help analyze how quickly each agent is responding to customer inquiries.