As well as configuration-only solutions, I create customized solutions in ServiceNow, to meet must-have customer needs, or optimizations that create significant cost savings for users, support, partners, and ServiceNow teams.
I designed and implemented this to allow custom CI names and fields, and from a single import source, route them to appropriate CI classes. This simplified SCCM integrations and reduced support burden for routine manual imports. ServiceNow now offers some of this functionality.
I created a notification content API that allowed developers to compose branded, accessible, and consistently-formatted email content from modular snippets. It also fetched frequently-required data that typically requires customization for each new notification, so my API accelerated the development of each new notification.
Before ServiceNow adopted similar functionality, I proposed, designed, and implemented an automatic search from a draft incident, to display Knowledge Base articles. It reduced user-fixable indicents by 85%.
I implemented a Related articles Service Portal widget for Knowledge, which helped users continue their reading journey. It requires no content curation.
I customized the Service Catalog search engine to accept synonyms, misspellings, abbreviations, and multi-word prompts. This greatly improved the hit rate on typed customer searches, and reduced the support calls where customers couldn't find existing catalog items.
I debugged a customized Service Catalog workflow, to discover an injection exploit. From user input in a Service Catalog request, I demonstrated writing to any hidden field, and executing arbitrary server-side code. I fixed the exploit by writing a robust serializer class, with unit tests for proof and to help avoid future regressions.
I demonstrated how most of ServiceNow did not meet a customer security requirement, showing that HTTP traffic contained restricted data that was assumed hidden. I worked with the architect to reach a solution acceptable to the customer, and recommended that integrations use stored procedures to avoid being able to request that data from insecure servers.