← Home
🔥0 DAY
0 XP
Week 1 · Days 15 · 9 min read

Week 1: ServiceNow Foundations — Data Dictionary, Tables, and Your First GlideRecord

Days 1–5 of the 20-Day ServiceNow Scripting Curriculum

If you only have 20 days before an interview or a new ServiceNow project, the first week is non-negotiable. You can't write a clean Business Rule or ACL until you know how the platform stores and exposes data. This is the week that pays off everything that follows.

Who it's for: Brand-new ServiceNow developers, admins moving into scripting, or experienced JS devs onboarding to the platform.

BY THE END YOU CAN

  • Read any table's data dictionary and explain what each column means
  • Navigate table inheritance (task → incident) without guessing
  • Write a server-side GlideRecord query that actually returns the right rows
  • Tell the difference between global and scoped apps in 30 seconds

Day 1: Understanding the ServiceNow Data Dictionary

GoalOpen sys_dictionary and decode any field on any table.

DrillPick the incident table. List every field with type=reference and write the table it points to.

TakeawayThe dictionary is the ground truth — column labels lie, dictionary entries don't. Always check max length, default value, and reference qualifier before scripting against a field.

Day 2: Tables, Inheritance, and the task Hierarchy

GoalMap out task → incident, problem, change, sc_request and explain why a query on task returns rows from all of them.

DrillRun sys_db_object filtered by super_class=task. Sketch the tree on paper.

TakeawayInheritance is why a single GlideRecord on task can update an incident. It's also why ACLs cascade. Treat the hierarchy as load-bearing knowledge.

Day 3: Global vs Scoped Applications

GoalUnderstand why your script runs in one app but not another, and what cross-scope access requires.

DrillCreate a scoped app, add a table, then try to read it from a global Business Rule.

TakeawayScope isolates code by default. Cross-scope access needs explicit privileges. New code should be scoped — global is legacy.

Day 4: Your First GlideRecord Query

GoalWrite a server-side query that finds all active P1 incidents assigned to your group.

DrillUse addQuery, addEncodedQuery, and orderByDesc. Compare the two query styles.

TakeawayGlideRecord is the workhorse. Master next(), get(), and getValue() before you touch updates. setLimit() is your friend in dev.

Day 5: Dot-Walking and Reference Fields

GoalPull caller.manager.email in a single line without a second query.

DrillOn an incident GR, dot-walk three levels deep and log the value.

TakeawayDot-walking is free in the query but costs a join. Use it for reads; never assume it works in addQuery encoded strings the same way.

PRACTICE THIS WEEK