Button created via standard ticket configuration not visible for customers on the business portal

Michal44
Tera Contributor

Hi all,

 

I am configuring buttons for the portals using Standard Ticket Configuration module. While I have no issue with creation of them for many tables, I have an issue for case table (sn_customerservice_case).

 

I have created a new button that manages newly created custom field. That button is designed to be used by customers (sn_customerservice.customer) users, but with all implementation they are not visible on the portal. on the ticket page. Button is visible for admin.

 

  • I have checked ACLs and customer has read access to the table as well as read and write access to the custom field.
  • Also all conditions are met mentioned in the standard ticket action.
  • There is UI Policy in place, but available only for a Desktop, not to the portal
  • I have even tried deleting all the conditions - still button wasn't visible for the customers.

 

I am running out of the option what would be a problem and where to look for a solution. Below screenshot from the visibility condition:

Michal44_0-1778059065769.png

 

4 REPLIES 4

Naveen20
ServiceNow Employee
The OOB "Case Ticket Action" widget on the CSM portal (csm_ticket page for sn_customerservice_case) has a server-side gate — a hasAccessToCaseActions function that checks caserecord.canWrite() and uses GlideSecurityManager to verify the user has write rights to the state field on the case. If that check fails, the entire actions dropdown (including any custom button you added via Standard Ticket Configuration) is hidden — regardless of your applicability conditions. By default, sn_customerservice.customer does not have write access to state, which explains why admin sees it and the customer does not.

try these to fix:
1. Add a field-level write ACL on sn_customerservice_case.state granting access to sn_customerservice.customer, or
2. Clone the "Case Ticket Action" widget (in its original Service Portal scope, not Global), relax the state-write check in hasAccessToCaseActions, and point Ticket Configuration → Action Widget to the clone.

Verify by impersonating a customer and checking write access on state.

Great knowledge, but it is not what I am asking about, I am not using any widget, but Standard Ticket Configuration for case table with custom action - not widget

Naveen20
ServiceNow Employee

Portal was mentioned so it seemed a widget. Is it in workspace as a declarative action ?

Vishal Jaswal
Giga Sage

Hello @Michal44 - For testing, add role "sn_customerservice.case_contributor_creator" to one of the user to find out whether button is now visible for this user or not. If yes, then the instructions provided by @Naveen20 are relevant.


Hope that helps!