Installed with Customer Service

Several types of components are installed with Customer Service.

Tables installed with Customer Service

Customer Service adds the following tables.
Table Description
Case

[sn_customerservice_case]

Stores customer service case records.
Customer Service Case Flow

[sn_customerservice_sf_case]

Stores customer service case state flows.
Task

[sn_customerservice_task]

Stores tasks that have been created for customer service cases.
Appointment

[sn_customerservice_appointment]

Stores appointments that have been created for customer service cases.
Channel Configurations

[sn_customerservice_channel_config]

Stores customer service email channel configuration records.

Properties installed with Customer Service

Customer Service adds the following properties.
Note: To open the System Property [sys_properties] table, enter sys_properties.list in the navigation filter.
Property Description
glide.cs.email.case_queue_address Email case queue address.
  • Type: string
  • Default value: none
  • Location: Customer Service > Administration > Email Properties
glide.cs.email.new_case_prefix Email subject prefix format for new case.
  • Type: string
  • Default value: Case:
  • Location: Customer Service > Administration > Email Properties
sn_customerservice.email.create_case_for_non_matched_user Create case for non matched user.
  • Type: true | false
  • Default value: true
  • Location: Customer Service > Administration > Email Properties
glide.cs.company_name Your company name.
  • Type: string
  • Default value: none
  • Location: System Property [sys_properties] table
glide.ui.activity.email_roles Roles that can view mail in the Activity formatter when including "Sent/Received Emails"
  • Type: string
  • Default value: itil, sn_customerservice_agent
  • Location: System Property [sys_properties] table
glide.ui.sn_customerservice_case_activity.fields Case activity formatter fields
  • Type: string
  • Default value: assigned_to, asset,product, state, priority, short_description, comments, entitlement, contract, *Email*, work_notes
  • Location: System Property [sys_properties] table
sn_customerservice.glide.script.block.client.globals
  • Type: true | false
  • Default value:false
  • Location: System Property [sys_properties] table

Roles installed with Customer Service

Customer Service adds the following roles.
Note: Customer service includes both internal and external user roles. Internal user roles are for agents and agent managers using the Customer Service application. External user roles are for customers and partners using the Customer Service portal.
Role title [name] Description Contains roles
Agent

[sn_customerservice_agent]

A customer service agent who assists customers and partners with questions, issues, and problems. This user creates cases, views and edits cases, and works with customers and subject matter experts to resolve cases.
  • knowledge
  • chat_admin
  • template_editor
  • sn_esm_agent
Agent manager

[sn_customerservice_manager]

A customer service agent with the additional responsibility for managing agents and overriding agent actions.
  • sn_customerservice_agent
Customer

[sn_customerservice.customer]

A customer role for researching questions, issues, or problems. Customers can create new cases and view and edit existing cases for their own accounts. They can also view a list of assets belonging to their accounts.
  • sn_esm_user
  • snc_external
Partner

[sn_customerservice.partner]

A partner who is serving customer accounts. A partner can create a case for his own account or on behalf of a customer account. A partner can also view or edit existing cases for his own account or for customer accounts.
  • sn_customerservice.customer
  • sn_esm_partner
Customer administrator

[sn_customerservice.customer_admin]

An administrator role for a customer account; this user has access to all of the data within the account.
  • sn_customerservice.customer
  • sn_esm_user_admin
Partner administrator

[sn_customerservice.partner_admin]

An administrator role for a partner account; this user has access to all of the data within the partner account as well as the customer accounts. This user can also manage users for the partner's account and for customer accounts.
  • sn_customerservice.partner
  • sn_customerservice.customer_admin
  • sn_esm_partner_admin

Mandatory roles

You can give both internal users and external users access to your instance. However, you might not want both types of users to have the same level of access. To provide added security, every user must have at least one role so the instance can distinguish between the users that are internal and the users that are external.

Prior to the Geneva release, ESS users had no role, but were still considered part of your organization and could access basic system resources by default, such as an ESS home page. Starting with the Geneva release, ESS users can obtain the snc_internal role and still retain the same level of access they had prior to Geneva.

External users must obtain, at minimum, the snc_external role. This role indicates that the user is external to your organization and should not have any access to resources unless you explicitly allow access through ACLs for the snc_external role, or you explicitly grant them additional roles. By default, users with the snc_external role are unable to access non-record type resources as well, such as processors and UI pages.

You should not mark the snc_internal role as elevated. Otherwise, internal users could not access the instance.
Note: You can use encryption contexts with the snc_internal and snc_external roles.

The Explicit Roles plugin

The Explicit Roles (com.glide.explicit_roles) plugin provides the snc_external and snc_internal roles. This plugin is activated automatically when you activate the Customer Service Portal.

When this plugin is activated:
  • All existing users are automatically assigned the snc_internal role. This role does not change existing access levels or system behavior. Rather, it provides a category to differentiate internal users from external users. All internal users maintain the same level of access as before the plugin was activated.
  • All existing ACLs that do not have a role requirement are automatically assigned the snc_internal role. Because both existing ACLs and roles are assigned the snc_internal role, existing access levels do not change.
  • External users must obtain, at minimum, the snc_external role to access the instance. This role is automatically assigned to external Customer Service Portal contacts. If the Customer Service Portal is not activated, this role must be manually granted to external users. Access to records is granted through ACLs.

Providing access to external users

You can grant external users access to tables be creating a set of ACLs for the table. See Provide external users access to a table .

Another approach you can take is to give all external users access to all tables, and then restrict access to specific tables. You can do this by adding the snc_internal role to the * ACL that is of Type ui_page.

The hasRoles() method

The hasRoles() method is still available, but is deprecated in the Geneva release. Use the hasRole(role name) method instead.

If you do use the hasRoles() method, note these changes:
  • This method automatically excludes the default snc_internal role when it checks for roles. This means that if a user has only the snc_internal role, the hasRoles() method still returns false.
  • If the user has the snc_external role, false is returned because the instance considers external users as without a role.

Script includes installed with Customer Service

Customer Service adds the following script includes.
Script include Description
CSEMailUtil Used for case email actions and notification
CSPortalUtil Helper functions for Customer Service portal
AjaxCustomerServiceSearch Ajax class that provides the knowledge base search results

Client scripts installed with Customer Service

Customer Service adds the following client scripts.
Client script Table Description
Channel and State readonly for customer Case

[sn_customerservice_case]

Sets the Channel and State fields to read-only on the Case form that the customer can view from the customer portal.
Empty Case form on Account Change Case

[sn_customerservice_case]

When a user makes a change to the value in the Accountfield on the Case form, the values in the following fields are cleared: Partner, Partner contact, Asset, Entitlement, Contract, and Contact.
Empty Partner Contact on Partner Change Case

[sn_customerservice_case]

When a user makes a change to the value in the Partner field on the Case form, the Partner contact field is also cleared.
Hide Activity Stream Contact

[customer_contact]

Hides the activity stream on top of the form header.
Hide Icons Form Header Case

[sn_customerservice_case]

Hides the email icon from the more options menu and the activity stream icon at the top of the form header. Also hides the book icon next to the Short Description field on the form.
Hide Suggestion next to Short Description Case

[sn_customerservice_case]

Hides the suggestion icon next to the Short description field.
Open the glide list for new appointment Appointment

[sn_customerservice_appointment]

Opens the glide list to select the user for an appointment for new records.
Populate Contact Company Case

[sn_customerservice_case]

When a user name is selected in the Contact field, the Account field is populated with the contact's account information.
Populate Contract Case

[sn_customerservice_case]

Populates the Contract field when the Account field is filled.
Populate contract and entitlement Case

[sn_customerservice_case]

Populates the Contract and Entitlement fields when the Account field is filled.
Populate Product Case

[sn_customerservice_case]

When an asset is selected in the Asset field, the Product field is populated with the asset's product model.
Validate Product Entitlement Entitlement

[service_entitlement]

Displays a field warning message for the Per unit field if a product is selected but the Asset, Contract, and Account fields are empty.

Business rules installed with Customer Service

Customer Service adds the following business rules.
Business rule Table Description
Add snc external role to contacts Contact

[customer_contact]

Adds the snc_external user role to each contact.
Auto assessment business rule Case

[sn_customerservice_case]

Triggers a customer satisfaction survey when a case is set to Closed.
Case display rule Case

[sn_customerservice_case]

A display business rule on the Case form which passes some values to the browser when a case is displayed.
Change Awaiting to Open Case

[sn_customerservice_case]

Changes the case state from Awaiting Info to Open.
Insert Case Work Notes Appointment

[sn_customerservice_appointment]

Updates the case work notes with the appointment details when an an appointment is created.
Populate company for case Case

[sn_customerservice_case]

Populates the Company field on the Case form based on the name entered in the Contact field.
Set First Response Time Case

[sn_customerservice_case]

When a case is created or updated, this rule sets the current time in the first_response_time field. Also used when a case is set to Resolved or Awaiting Info or when comments or close notes are added.
Note: The first_response_time field is not used.
Update case entitlement on Close Case

[sn_customerservice_case]

Updates the associated entitlement when the state of a case is set to Closed.
Update Case Work Notes Knowledge

[kb_knowledge]

Adds work notes to the case when an appointment for the case is updated.
Update Parent Case for new task Task

[sn_customerservice_task]

Updates the case when a new case task is created.
Update Parent case for state change Task

[sn_customerservice_task]

Updates the case when a new case task is changed.
Update User Task State Case

[sn_customerservice_case]

Calculates the work load for the agent based on the number of cases assigned to the agent. Also updates the last assigned time. This rule is used by the matching rule engine.