ServiceNow Developer • ITSM & Workflow Automation • Application Development
As a ServiceNow Developer, I build scoped applications, automate workflows, and advance IT Service Management capabilities for a global enterprise. I think critically about every technical decision—which tool to use, how everything connects, and whether a request will actually accomplish what the requester intends. I believe the best solution is often the simplest one, because my goal is always to build what people will actually use.
My path here was intentional. During my seven years as a Clinical Social Worker, I built a career around navigating layered systems, identifying pain points, and creating intervention plans to address them. When I entered the RiseUp With ServiceNow (previously NextGen) externship program, it all clicked: here was a platform where I could apply that same systems thinking at scale. I was making a career pivot, but the foundation was already there.
I research obsessively, translate freely between technical and plain language, and take pride in solutions that are thoughtful and well executed.
Migrating CMDB Records Across CI Classes at Scale
Details have been generalized for confidentiality.
Context:
As part of an instance data replication (IDR) redesign, existing configuration management database (CMDB) records needed to be copied from the Configuration Item (CI) table, a core table in ServiceNow, across ten CI classes into a custom staging table within a scoped application. In collaboration with the project architect, Flow Designer was selected for its reusable, repeatable visual-logic structure and successfully used to migrate several other tables in the same project. The intent was to configure the initial run as a scheduled job set to execute once, with a recurring frequency established later for ongoing automated replication.
Problem:
Unlike the other tables, Configuration Item records presented a volume problem. Nearly one million records needed to be migrated across ten CI classes. The initial flow timed out due to Flow Designer's built-in 10,000 record lookup limit. Raising the max result threshold did not resolve the issue, and further troubleshooting revealed that Flow Designer could not reliably handle the migration at this volume.
Troubleshooting:
To work around the record limit, a looping structure was engineered within the flow to process records incrementally. This resolved the timeout for one CI class but could not reliably handle all ten. The path forward appeared to be a dedicated flow per class, but continued troubleshooting revealed that Flow Designer could not handle CMDB records at this volume. I made the decision to pivot to a Fix Script.
Each troubleshooting attempt required clearing the staging table before the next run. Depending on the scope, this was handled using Data Management Jobs or direct deletion through Tables and Columns. When deactivating a flow failed to stop an already-running job from continuing to populate the table, the job was manually terminated through Active Transactions (All Nodes).
Final Result:
A single Fix Script was developed to loop through all ten CI classes and map data from the source table to the target table. Before running at full scale, the script was tested against a limited record set to validate the logic safely. Several potential issues were anticipated and addressed deliberately within the script:
Business rules on the target table were bypassed for efficiency. Original record timestamps were ghosted so records reflected their true creation and update history rather than the date of the migration. The script was also built to be repeatable; on each execution, it checks whether a record already exists in the target table and only updates it if the source record reflects a more recent update, preventing duplicates across multiple runs.
For ongoing replication, the Fix Script can be converted into a Scheduled Job, or Flow Designer can be reintroduced to handle the lower-volume incremental sync once the historical data is in place.
Tools & Skills:
Flow Designer, Fix Scripts, GlideRecord, Data Management Jobs, Tables & Columns, Active Transactions (All Nodes), Scheduled Jobs
Automating Testing for Service Catalog Items
Details have been generalized for confidentiality.
Problem:
Following each ServiceNow instance upgrade, Service Catalog items required regression testing to confirm existing functionality was not impacted. Testing was being conducted manually, making the process time consuming, inconsistent, and difficult to scale.
Action:
Designed and developed an ATF test suite to automate regression testing for existing catalog items. Each suite validates three critical components: the form, form validation, and the fulfillment flow.
Solution:
Reduced manual testing overhead and established a repeatable testing process that supports faster and more reliable deployments. Going forward, all newly created catalog items include a corresponding ATF test suite, making quality control a standard part of the development process.
Tools & Skills:
Automated Test Framework (ATF), Service Catalog, Flow Designer
Sprint 1: Scoped Application Build
App architecture, menu structure, modules, UI policies, and key features that establish the foundation of the loaner vehicle system.
Sprint 2: Approval Flow & Client Scripts
Multi-stage approval logic, client-side scripting for dynamic form behavior, and security configurations for proper access control.
Sprint 3 Part 1: Service Portal
Front-end user experience built in the Service Portal, giving users visibility into available vehicles and a transparent request submission flow.
Sprint 3 Part 2: Business Rules & Automation
Back-end fulfillment automation triggered on catalog item submission to reduce manual work and enforce data consistency.