The ServiceNow Nerd

The musings of a ServiceNow platform developer and enthusiast

The SN Nerd

How to create custom fulfilment steps for Catalog builder

by snnerd
Published: Last Updated on 2,050 views

UTAH UPDATE: This process is documented by ServiceNow in the Product documentation.

As interest in citizen development rises, it is no surprise that Catalog Builder continues to receive updates from ServiceNow. Tokyo looks to be granting us more options to modify Catalog Builder to our needs, with a host of new features proposed. The Early Access release notes document new features such as the ability to modify wizards (the forms we use to build items in Catalog Builder) and event set default values on variables, but some desirable features are still missing. The ability to create custom service fulfilment steps is still absent from the official documentation and has received no formal update in the release note.

Did you know it is possible to create custom steps to provide a greater breadth of flow functionality to your builders? While it isn’t mentioned in the Tokyo release notes, creating custom steps has just become a little easier.

In this guide, I will walk you through how to create a custom step for the use case of ad-hoc approval. We will show what can and can’t be done in Tokyo EA, and how to work around those limitations.

This guide will require administrator privileges in your instance.

Creating a custom Service fulfilment step for Ad-hoc Approval

  1. Begin by creating a subflow for your custom step. Copying an existing subflow for a custom step is always a great place to start if this is your first time. Open Flow Designer and make a copy of subflow ‘Service Fulfillment Steps – Manager Approval’. Make sure to publish the flow, otherwise, we won’t be able to select it later. We will make further changes to this later on.
  2. Create a new Service fulfilment step configuration record by navigating to ‘Service Catalog > Catalog Administration > Service Fulfilment Steps Configuration’ and create a new record from the list.
  3. If you are using Quebec, Rome or San Diego, remove the existing reference qualifier on the ‘Producer’ field by changing it to ‘Simple’. Due to an existing bug, you will not able to select anything.
  4. Populate the Producer field with ‘Service Fulfilment Steps – Base step’. The ‘Service Fulfilment – Base step’ record is on the ‘Composite producer ‘ table, which extends the Record producer table and is not only read-only but also protected. Alas, we can’t add our own variable for ad-hoc approval. The workaround here is to create your own variable set with the variables you need and add it to your Catalog item, which we will do a little later.
  5. Populate the ‘Service fulfilment subflow’ field with the subflow you created in Step 1.
  6. Set ‘Order’ to 1000 so it doesn’t show before the out-of-the-box fulfilment steps.
  7. Complete all other mandatory fields and save the record.
  8. If you executed step 3, revert the changes you just made to the reference qualifier or make a note to abandon the customisation you made when upgrading to Tokyo and beyond. The reference qualifier appears to be fixed in the Tokyo EA wherein a Producer can be selected, so you’ll want to adopt this fix in future.
  9. Create a new single-row variable set with one user reference variable to capture your approver.
  10. Update the subflow you created in step 1 to use your custom variable. For this example, I added a ‘Get Catalog Variables’ action to retrieve the approver variable from the variable set created in step 8. Then, I substituted the existing approver to use this variable instead of the manager. Publish the subflow when you are done.
  11. Modify the desired catalog item and add the variable set you created in step 8.
  12. Add the custom step your created in step 7. You should be able to select it from the ‘Add task’ menu in the Steps container on the fulfilment screen when using ‘Step based request fulfilment’ as your Flow.
  13. Submit and test your catalog item until you get the desired behaviour. From this example, end users will be able to select an ad-hoc approval for the request.

And there you have it! Creating a custom fulfilment step isn’t that hard after all, and is even easier in Tokyo. Hopefully, the General Availability release will ship with the fixed reference qualifier and other improved features.

If you are a catalog builder who doesn’t have admin access to your instance and would like to use this functionality, I have provided an update set for the ad-hoc approval step which can be found on ServiceNow share. The update set does not contain the changes outlined in step 3 or the Catalog item that I tested this with.

Do you think SN should open up custom service fulfilment steps, or do you think other features should be prioritised? What are your use cases? Let me know your thoughts below.

Related Posts

Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More