Today we’ll look at something that I feel is incredibly useful: Copying a request into another similar request from a catalog item while filling out a catalog item.
We launched an employee onboarding requested item a little over a year ago. In that year we’ve had tons of requests for employees, interns, contractors, and vendors. One thing I noticed was it seemed there were chunks of them where users would be entering very similar requests repeatedly. For instance, it was intern season, and a manager had 4 interns to onboard. The requests were very similar: just the name, email, and maybe one or two other variables of 25 were different. That seems like a waste of time to enter that information over and over. After discussing this with a process owner, I learned that this functionality would be a huge hit with people.
So I started working on this on my own. After a few attempts, I was able to get it up and going. It’s still not been prioritized to be in a sprint for us (though it may be soon), but the good news is it’s already “done”, and just needs some automation around it to make sure it works nightly.
The “exclusions” piece was added late to the code. I had thought you may not want to copy certain fields over such as renewal dates, and that seemed like the perfect way of doing it.
The update set has a variable set with a variable “copy_from” which is a reference to the current catalog item’s requested items. Simply add that variable set to any existing catalog item, and modify the catalog client script provided, modifying it for the specific item. Voila. Your users now can have a way to repeatedly and quickly enter duplicate request data. The client script has provisions for list collectors, which are a huge pain. Shout out to SNGuru for having stuff about list collectors.
So how’s it different than “Bulk Requests“? Well, we have variables read-only after requests, so copying a request verbatim is useless since it couldn’t be changed. We also don’t really care if it’s under the same request, necessarily. This can be something that is used well after the creation of a requested item, like if you’re extending a contractor (common use case for us, in fact).
Here it is in action. Excuse the video quality – I tried a few different things with SauceLabs and can’t get the quality any better than that.
It works just fine in Fuji from what I’ve done so far. Again, I won’t have extensive tests on this until it’s in a sprint and heading towards production.