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.