Nested Success Goals

Gavin Hughes
Tera Contributor

We are starting to use the SAM Maturity steps in the Success Portal and are considering adding success goals to some of the maturity items.

 

Specifically, we are looking to add a success goal to the 'SaaS: Direct Integration' item to capture the required work. Ideally, though, I would have had separate success goals for the various integrations, with success activities added to each goal for the required work. It appears, though, that I can only add one success goal to a maturity item, so I can not have a success goal for each of the required integrations.

 

Does anyone know if you can have nested success goals? So, I have a success goal for the integrations in general, and then separate success goals for each of the specific integrations?

 

Or is there a way to add more than one success goal to a maturity item?

 

Regards,

Gavin

1 ACCEPTED SOLUTION

dreinhardt
Tera Sage

Hi @Gavin Hughes,

thanks for this input, never thought about separate goals per integration. By default it's not possible to add additional maturity items or multiple goals per item. I've used a small script to add another item and I'm now able to track each integration as unique maturity item including all the benefits of adding goals and tasks. Feel free to use the code snipped and adjust it.

 

What do you think of an extra catalog item that can be used to request and create new SAM Maturity Items?

 

Best, Dennis

 

dreinhardt_0-1726688877149.png

dreinhardt_1-1726690357782.png

 

 

// Initialize a new GlideRecord for the samp_maturity_item table
var gr = new GlideRecord('samp_maturity_item');

// Prepare a new record
gr.initialize();

// Set the field values (adjust the field names and values as per your table structure)
gr.setValue('name', '(DR) SaaS: Direct Integration');  
gr.setValue('short_description', 'Setup Direct integrations to various SaaS products.');  
gr.setValue('type', 'saas');  
gr.setValue('state', '1'); // 1 = New; 2 = Work in Progress 
gr.setValue('maturity_level', 'walk');
gr.setValue('suggested_maturity_level', 'walk');
gr.setValue('purpose', 'Use the ServiceNow SaaS License Management application to view SaaS and usage data so that you can manage compliance and optimize licensing.');
gr.setValue('steps', 'Steps:<ul><li>Select from the list of supported integrations that is available on the ServiceNow doc site</li><li>Download the SaaS License Management store application from the ServiceNow store</li><li>Follow the integration instructions for each SaaS application </li><li>Once the integration is complete and the software subscription records are created use the pre-generated software models to create the entitlements</li></ul>');

// Insert the record into the table
var newRecordSysId = gr.insert();

// Output the Sys ID of the newly inserted record
gs.print('New record inserted with Sys ID: ' + newRecordSysId);

 

 

Should my response prove helpful, please consider marking it as the Accepted Solution/Helpful to assist closing this thread.

View solution in original post

2 REPLIES 2

dreinhardt
Tera Sage

Hi @Gavin Hughes,

thanks for this input, never thought about separate goals per integration. By default it's not possible to add additional maturity items or multiple goals per item. I've used a small script to add another item and I'm now able to track each integration as unique maturity item including all the benefits of adding goals and tasks. Feel free to use the code snipped and adjust it.

 

What do you think of an extra catalog item that can be used to request and create new SAM Maturity Items?

 

Best, Dennis

 

dreinhardt_0-1726688877149.png

dreinhardt_1-1726690357782.png

 

 

// Initialize a new GlideRecord for the samp_maturity_item table
var gr = new GlideRecord('samp_maturity_item');

// Prepare a new record
gr.initialize();

// Set the field values (adjust the field names and values as per your table structure)
gr.setValue('name', '(DR) SaaS: Direct Integration');  
gr.setValue('short_description', 'Setup Direct integrations to various SaaS products.');  
gr.setValue('type', 'saas');  
gr.setValue('state', '1'); // 1 = New; 2 = Work in Progress 
gr.setValue('maturity_level', 'walk');
gr.setValue('suggested_maturity_level', 'walk');
gr.setValue('purpose', 'Use the ServiceNow SaaS License Management application to view SaaS and usage data so that you can manage compliance and optimize licensing.');
gr.setValue('steps', 'Steps:<ul><li>Select from the list of supported integrations that is available on the ServiceNow doc site</li><li>Download the SaaS License Management store application from the ServiceNow store</li><li>Follow the integration instructions for each SaaS application </li><li>Once the integration is complete and the software subscription records are created use the pre-generated software models to create the entitlements</li></ul>');

// Insert the record into the table
var newRecordSysId = gr.insert();

// Output the Sys ID of the newly inserted record
gs.print('New record inserted with Sys ID: ' + newRecordSysId);

 

 

Should my response prove helpful, please consider marking it as the Accepted Solution/Helpful to assist closing this thread.

This is great, thanks, Dennis.

I hadn't thought about adding extra maturity items, but that will work as a solution. 

It would be good to be able to track separate goals under one maturity item, but as we can't at the moment, this will work for us. 

Regards,
Gavin