O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

ServiceNow: Building Powerful Workflows

Book Description

Master the management of IT Service using full potential of ServiceNow.

About This Book

  • Leverage ServiceNow's capabilities to achieve improved service management and excellent results in your IT operations by following step-by-step, practical instructions
  • Build core administration, management, and maintenance skills with IT service management and IT operations management
  • Improve your workflow efficiency by designing and creating responsive and automated workflows

Who This Book Is For

This course is for IT professionals, ServiceNow administrators, and developers who would like to gain greater control of ServiceNow and its architecture to design and create automated workflows. You should be familiar with JavaScript and basic computing technologies, but you can be new to ServiceNow.

What You Will Learn

  • Acquire and configure your own free personal developer instance of ServiceNow
  • Read (and write!) clear, effective requirements for ServiceNow development
  • Avoid common pitfalls and missteps that could seriously impact future progress and upgradeability
  • Use the ServiceNow plugins to manage development
  • Build and publish custom applications for service management
  • Write efficient and effective client-side JavaScript
  • Find out how to authenticate and secure Web Services
  • Integrate and exchange data with people and systems
  • Create and secure your systems with proper access control

In Detail

ServiceNow is a SaaS application that provides workflow form-based applications. It is an ideal platform for creating enterprise-level applications, giving requesters and fulfillers improved visibility and access to a process. ServiceNow-based applications often replace email by providing a better way to get work done.

This course will show you how to put important ServiceNow features to work in the real world. We will introduce key concepts and examples on managing and automating IT services, and help you build a solid foundation towards this new approach. You will then learn more about the power of tasks, events, and notifications. We’ll then focus on using web services and other mechanisms to integrate ServiceNow with other systems.

Further on, you’ll learn how to secure applications and data, and understand how ServiceNow performs logging and error reporting. At the end of this course, you will acquire immediately applicable skills to rectify everyday problems encountered on the ServiceNow platform.

The course provides you with highly practical content explaining ServiceNow from the following Packt books:

  1. Learning ServiceNow
  2. ServiceNow Cookbook
  3. Mastering ServiceNow, Second Edition

Style and approach

This pragmatic guide follows problem-solution based approach to help you configure the ServiceNow and eliminate the challenges faced when implementing and using ServiceNow. It enables you to configure and manage ServiceNow, and learn the fundamentals of the ServiceNow platform.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Module 1
    1. ServiceNow: Building powerful Workflows
  2. The Interface
    1. Frames
      1. Banner frame
        1. System Settings
        2. Help
        3. Connect chat conversations
        4. Global Text Search
        5. Profile
      2. The Application Navigator
    2. Filter text box
    3. Favorites
      1. History
    4. Important application menus and modules
    5. Content frame
    6. UI settings and personalization
    7. Summary
  3. Lists and Forms
    1. List v2 versus List v3
    2. Lists and Tables
      1. Creating a custom table
        1. Creating an update set
        2. Creating the table
        3. Adding a field
      2. List view
      3. Condition builder
        1. Building a filter
        2. Dot-walking
    3. Forms
      1. Form designer
      2. Form layout
      3. Related lists
    4. Summary
  4. UI Customization
    1. UI15 versus UI16
      1. Switching between UI15 and UI16
    2. Branding your instance
    3. Custom themes
    4. UI-Impacting system properties
    5. Configuring service portal UI
    6. Creating a custom homepage
    7. Styling pages and widgets
    8. Styling the CMS
    9. Summary
  5. Understanding Data and Relationships
    1. One-to-many relationships in ServiceNow
    2. Many-to-many relationships in ServiceNow
      1. Creating a M2M table
      2. Other M2M relationships
    3. Enforcing one-to-one relationships
    4. Defining custom relationships
    5. Database table inheritance
    6. Summary
  6. Tasks and Workflows
    1. Important task fields
      1. Active
      2. Additional comments and work notes
        1. Assigned to and Assignment group
        2. Created, Created by, Updated, and Updated by
        3. Description and Short description
        4. Number
        5. State
    2. Journals and the Activity formatter
    3. Extending the task table
    4. Workflows
      1. Important workflow activities
        1. User and Group Approval
        2. Approval Coordinator
        3. If
        4. Switch
        5. Wait for Condition
        6. Create Task and Catalog Task
        7. Branch and Join
        8. Return value
        9. Run Script
        10. Set Values
      2. Workflow Stages
        1. Demo
    5. Approvals
    6. Assignment
    7. Creating Task fields
    8. Summary
  7. UI and Data Policies
    1. UI Policies
      1. Catalog UI Policies
    2. Reverse if False
    3. Scripting in UI Policies
    4. UI Policy Order
      1. Demo
    5. Data Policies
      1. Demo
    6. Converting between Data and UI Policies
      1. Demo
    7. Data Policies versus ACLs
    8. Summary
  8. User Administration and Security
    1. Groups and Roles
      1. Impersonating users for testing
    2. Emails and notifications
      1. Demo
      2. Notification Devices
    3. User preferences
      1. Default preferences
      2. Preferences in update sets
      3. Scripting user preferences
    4. ACLs - security rules
      1. ACL process order
      2. High security plugin
    5. Summary
  9. Introduction to Scripting
    1. To script, or not to script?
    2. Client side versus server side APIs
      1. Client side APIs
      2. Server side APIs
    3. Where scripting is supported
      1. Access controls-executes on: server
      2. Business rules-executes on: server
      3. Client scripts and catalog client scripts-executes on: client
      4. Condition builder (and the URL)-executes on: server
      5. Default value-executes on: server
      6. Script Includes-executes on: server
      7. UI actions-executes on: client and/or server
      8. UI policies and catalog UI policies-executes on: client
      9. UI scripts-runs on: client
      10. Workflow activities-executes on: server
    4. Integrated development environment
      1. Script tree
      2. Script auto-completion
      3. Script editor macros
        1. Documentation macro
        2. For-loop macro
        3. GlideRecord macros
        4. Demo
    5. Summary
  10. The Server-side Glide API
    1. The structure of an API class
    2. Server-side APIs
    3. GlideRecord
      1. Initialize
        1. Example usage
      2. addQuery()
        1. Available query operators
        2. Example usage
      3. addNullQuery() and addNotNullQuery()
        1. Example Usage
      4. canRead(), canWrite(), canCreate(), and canDelete()
        1. Example usage
      5. deleteRecord() and deleteMultiple()
        1. Example usage
      6. get()
        1. Example usage
      7. getDisplayValue()
        1. Example usage
      8. getValue() and getUniqueValue()
        1. Example usage
      9. hasNext()
        1. Example usage
      10. initialize() and insert()
        1. Example usage
      11. next()
        1. Example usage
      12. orderBy() and orderByDesc()
        1. Example usage
      13. query()
        1. Example usage
      14. setAbortAction()
        1. Example usage
      15. setLimit()
        1. Example usage
      16. setValue()
        1. Example usage
      17. setWorkflow()
        1. Example usage
      18. update() and updateMultiple()
        1. Example usage
    4. GlideElement
      1. changes(), changesFrom() and changesTo()
        1. Example usage
      2. getDisplayValue()
        1. Example usage
      3. getED()
        1. Example usage
      4. getReferenceTable() and getRefRecord()
        1. Example usage
      5. nil()
        1. Example usage
      6. toString()
        1. Example usage
    5. GlideDateTime
      1. Adding or removing time
        1. Example usage
      2. getDayOfMonth() and getDayOfWeek()
        1. Example usage
    6. GlideSession
      1. getClientData() and putClientData()
        1. Example usage
      2. getTimeZoneName()
        1. Example Usage
    7. GlideSystem
      1. addErrorMessage() and addInfoMessage()
        1. Example usage
      2. debug()
        1. Example usage
      3. eventQueue()
        1. Example usage
      4. getProperty()
        1. Example usage
      5. getUser()
        1. Example usage
      6. getUserID()
        1. Example usage
      7. hasRole()
        1. Example usage
    8. GlideUser
      1. getPreference() and savePreference()
        1. Example usage
      2. hasRole()
        1. Example usage
      3. isMemberOf()
        1. Example usage
    9. Client-side APIs
    10. GlideAjax
    11. GlideForm (g_form)
      1. Setting/Clearing messages on the form and fields
    12. Summary
  11. The Client-side Glide API
    1. Client-side APIs
    2. GlideAjax
    3. GlideForm (g_form)
      1. Setting/clearing messages on the form and fields
      2. Dealing with drop-down list fields
      3. Getting and setting values on the form
      4. Controlling field visibility
      5. Setting fields mandatory and read-only
      6. Submitting a client-side form
    4. GlideUser (g_user)
      1. Getting user details
      2. Checking user permissions
      3. Getting client data
    5. GlideRecord
      1. Querying for one or more records
      2. Deleting a record asynchronously
    6. Summary
  12. Server-side Scripting
    1. Dot-walking and GlideElement
    2. Script Includes
      1. Server-side GlideAjax
    3. Business rules
      1. After business rules
      2. Asynchronous business rules
      3. Display business rules and g_scratchpad
    4. Summary
  13. Client-side Scripting
    1. Client Scripts
      1. Client Script types
        1. onLoad
        2. onChange
        3. onSubmit
        4. onCellEdit
    2. Security
    3. Compatibility
    4. Build for performance
      1. Reference fields
      2. GlideAjax and asynchronous GlideRecord
      3. g_scratchpad
    5. UI scripts
      1. Running only necessary scripts
    6. Scripts files from the server
    7. Summary
  14. Debugging
    1. Logging
    2. Client-side debugging
      1. Debugging field visibility
    3. Server-side debugging
      1. Reference versus Value
      2. Debugging security
    4. JavaScript debugger (Istanbul)
      1. Debugger interface
      2. Breakpoints
    5. General Debugging
    6. Summary
  15. Pro Tips
    1. Admin Pro Tips
      1. List personalization
      2. Update Set selector
      3. Reference Field background color
      4. List v3 Rendering
      5. List, Form, and New Window shortcuts
      6. Adding the ServiceNow Frame by URL
      7. Impersonation simplification
      8. Derived Field Risks
      9. Finding derived fields and other field data
      10. Dictionary overrides
    2. Scripting Pro Tips
      1. Avoiding Nested Loops
      2. Limit Logging
        1. Always Use Getters and Setters
    3. What the pros wish they knew
      1. Field case
      2. Generating Encoded Query Strings
      3. How to modify OOB scripts
      4. Other technical best practices
    4. Summary
  16. Module 2
    1. ServiceNow Cookbook
  17. Getting Started with Service-Now
    1. Introduction
    2. Service-Now prerequisites
    3. Service-Now and the ITIL framework
      1. How it works...
      2. See also
    4. Understanding Service-Now procurement
    5. Understanding Service-Now roles and licensing
      1. There's more…
    6. Understanding the Service-Now setup
    7. Accessing the Service-Now application
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more…
      5. See also
    8. Microsoft Active Directory authentication
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more...
    9. Logging in to the Service-Now application portal or end user view
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    10. Creating service requests from the Service-Now portal
      1. Getting ready
      2. How to do it...
      3. There's more…
    11. Understanding the Service-Now IT view
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more…
      5. See also
    12. Understanding Service-Now's self-service application
      1. Getting ready
      2. How to do it...
      3. See also
    13. Understanding Service-Now's service desk application
      1. Getting ready
      2. How to do it...
    14. Understand unique record identifier
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    15. Using the incident management application
      1. Getting ready
      2. How to do it…
      3. How it works…
      4. There's more…
      5. See also
    16. Using the related lists of applications
      1. Getting ready
      2. How to do it...
      3. See also
    17. Using the problem management application
      1. Getting ready
      2. How to do it...
      3. How it works...
      4. There's more…
    18. Using the change management application
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    19. Creating the change/problem task from the incident task
      1. Getting ready
      2. How to do it...
  18. Performing Core Configuration and Management Tasks
    1. Introduction
    2. Setting up basic configuration
      1. Getting ready
      2. How to do it...
    3. Understanding LDAP servers
      1. Getting ready
      2. How to do it...
    4. Understanding user administration
      1. Getting ready
      2. How to do it...
    5. Understanding group administration
      1. Getting ready
      2. How to do it...
    6. Using service-now plugins
      1. Getting ready
      2. How to do it...
    7. Configuring the Service-Now form
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    8. Configuring UI policies on Service-Now forms
      1. Getting ready
      2. How to do it...
    9. Configuring UI actions on forms
      1. Getting ready
      2. How to do it...
    10. Understanding deployments or update sets
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    11. Getting into CMDB
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    12. Setting up an SLA/OLA/underpinning contract
      1. Getting ready
      2. How to do it...
      3. See also
    13. Setting up system rules
      1. Getting ready
      2. How to do it...
      3. There's more…
    14. Understanding the system dictionary
      1. Getting ready
      2. How to do it...
    15. Understanding the Service-Now tables schema
      1. Getting ready
      2. How to do it...
    16. Getting into system security
      1. Getting ready
      2. How to do it...
      3. There's more…
  19. Building Data-Driven Application
    1. Introduction
    2. Starting a new application
      1. Getting ready
      2. How to do it…
    3. Getting into new modules
      1. Getting ready
      2. How to do it…
    4. Getting into the client script
      1. Getting ready
      2. How to do it…
    5. Getting into the server-side script
      1. Getting ready
      2. How to do it…
    6. Understanding the team development plugin
      1. Getting ready
      2. How to do it…
    7. Understand web services
      1. Getting ready 
      2. How to do it... 
      3. See also
    8. Understanding development best practice
      1. Getting ready
      2. How to do it...
  20. Configuring Alerts and Notifications
    1. Introduction
    2. Understanding the Service-Now system mailbox
      1. Getting ready
      2. How to do it…
    3. Creating a new e-mail notification
      1. Getting ready
      2. How to do it…
    4. Creating an e-mail template
      1. Getting ready
      2. How to do it…
    5. Creating an e-mail notification script
      1. Getting ready
      2. How to do it…
    6. Setting up an inbound e-mail action
      1. Getting ready
      2. How to do it…
    7. Inbound e-mail action - new
      1. Getting ready
      2. How to do it…
    8. Inbound e-mail action - forward
      1. Getting ready
      2. How to do it…
    9. Inbound e-mail action - reply
      1. Getting ready
      2. How to do it…
      3. There's more...
    10. E-mail Notification by event registry
      1. Getting ready
      2. How to do it…
    11. E-mail notification troubleshooting
      1. Getting ready
      2. How to do it…
  21. Building and Configuring Reports
    1. Introduction
    2. Viewing and running reports
      1. Getting ready
      2. How to do it...
    3. Creating new reports
      1. Getting ready
      2. How to do it...
    4. Scheduling reports
      1. Getting ready
      2. How to do it...
      3. There's more…
    5. Sending multiple reports in one e-mail
      1. Getting ready
      2. How to do it...
    6. Creating a table-specific report module
      1. Getting ready
      2. How to do it...
    7. Creating a dashboard
      1. Getting ready
      2. How to do it...
    8. Including the date in a report's e-mail notification
      1. Getting ready
      2. How to do it...
    9. Working with the report's header and footer template
      1. Getting ready
      2. How to do it...
    10. Working with the report sources
      1. Getting ready
      2. How to do it...
    11. Working with the report range
      1. Getting ready
      2. How to do it...
    12. Creating a database view
      1. Getting ready
      2. How to do it...
  22. Creating and Configuring Workflow Activities
    1. Introduction
    2. Understanding the Service-Now workflow
      1. Getting ready
      2. How to do it...
    3. Attaching a workflow with the service catalog
      1. Getting ready
      2. How to do it...
    4. Attaching workflows with current/new modules
      1. Getting ready
      2. How to do it...
      3. There's more…
    5. Workflow troubleshooting
      1. Getting ready
      2. How to do it...
    6. Setting up an approval activity
      1. Getting ready
      2. How to do it...
    7. Working with condition activities
      1. Getting ready
      2. How to do it...
    8. Working with task activities
      1. Getting ready
      2. How to do it...
    9. Working with workflow utilities
      1. Getting ready
      2. How to do it...
    10. Setting up e-mail notifications from workflows
      1. Getting ready
      2. How to do it...
    11. How to configure a timer in workflows
      1. Getting ready
      2. How to do it...
    12. Understanding the approval engine
      1. Getting ready
      2. How to do it...
  23. Auditing and Diagnosing Service-Now
    1. Understanding auditing in Service-Now
      1. Getting ready
      2. How to do it...
    2. Working with auditing tables
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    3. Understanding Service-Now upgrades
      1. Getting ready
      2. How to do it...
    4. Working with system logs
      1. Getting ready
      2. How to do it...
      3. There's more…
      4. See also
    5. System diagnostics
      1. Getting ready
      2. How to do it...
    6. Working with background scripts
      1. Getting ready
      2. How to do it...
    7. Working with Field Watcher
      1. Getting ready
      2. How to do it...
    8. Working with JavaScript logs
      1. Getting ready
      2. How to do it...
  24. Module 3
    1. Mastering ServiceNow
  25. ServiceNow Foundations
    1. Diving into the infrastructure
      1. Keeping up with the examples
      2. Being in charge
      3. Changing your instance
      4. Knowing the platform
      5. Choosing functionalities with plugins
      6. Running the latest version
      7. Digging into the hosting
      8. Knowing the nodes
    2. Exploring the database
      1. Introducing the Gardiner Hotel data structure
      2. Creating tables
        1. Adding fields
        2. Knowing what's happening
      3. Introducing the dictionary
      4. The globally unique identifier
    3. Storing data
      1. Storing files as attachments
      2. Setting properties
    4. Reference fields
      1. Creating a reference field
        1. Building out the data structure
        2. Linking the data together
        3. Looking from different perspectives
      2. Using reference qualifiers
      3. Dot-walking through data
        1. Using derived fields
    5. Building the interface
      1. Lists
        1. Choosing the fields to show
        2. Having reference fields on lists
        3. The varied capabilities of lists
      2. Forms
        1. Creating useful forms
        2. Adding related and embedded lists
        3. Defining your own related lists
      3. Enjoying views
        1. Controlling views
      4. Menus and modules
        1. Setting a filter
        2. Building the right modules
    6. Making the most of the UI
      1. Finding your way around the interface
        1. Adding a favorite
        2. Seeing back in time
        3. Defining a tag
      2. Connecting with people
        1. Chatting over records
        2. Live record updates
    7. Summary
  26. Developing Custom Applications
    1. Developing applications in Studio
      1. Recording files
    2. Scoping out limits
      1. Separating by name
        1. Seeing the scope
        2. Moving between applications
    3. Enforcing the separation
      1. Taking control of your application
        1. Delegating to developers
      2. Allowing other applications access
        1. Controlling application access
          1. Restricting your choices during development
    4. Building hierarchical tables
      1. Benefiting from an object-oriented design
      2. Extending the User table
      3. Interacting with hierarchical tables
      4. Viewing hierarchical tables
      5. Overriding field properties
      6. Understanding the background behavior
        1. Making it visual with the Schema Map
        2. Changing class
        3. Repointing the reference field
    5. Many-to-many relationships
      1. Building a many-to-many table
        1. Adding fields to a many-to-many table
          1. Comparing reference fields and many-to-many tables
        2. Deleting a many-to-many table
      2. Choosing lists
    6. Cascading with reference fields
      1. Dynamic creation
      2. Deleting records
    7. Summary
  27. Server-Side Control
    1. Deciding to write code
      1. Using the developer community
    2. Running background scripts
    3. Using GlideRecord (and its friends)
      1. Understanding iterators
      2. Accessing data from GlideRecord
      3. Walking through reference fields
      4. Converting data types
        1. The surprising results of GlideElement
        2. Getting the value another way
      5. Dealing with dates
    4. Counting records with GlideAggregate
    5. Scripting in scoped apps
      1. Being in scope
        1. Improving scripting with ECMAScript 5
        2. Activating ECMAScript 5
      2. Protecting data from scripts
        1. Running scripts in global
        2. Building the restrictions
    6. Business rules
      1. Setting the table
      2. Being advanced
      3. Knowing the predefined variables
        1. Displaying the right table
      4. Conditioning your scripts
        1. Having good conditions
      5. Controlling the database
        1. Controlling database queries with Business Rules
      6. Choosing when to execute - before, after, and really after
        1. Defaulting data
        2. Validating information
        3. Working with dates
        4. Updating information
        5. Running things later with system scheduling
      7. Display business rules
      8. Global business rules
    7. Script Includes
      1. Creating classes
        1. Coding a class
      2. Accessing across scope
      3. Using classes to store and validate data
        1. Having an API for scoped apps
      4. Extending classes
      5. Taking advantage of utility classes
        1. Providing utility classes
      6. Storing functions
        1. Having functions in Script Includes
      7. Client Callable Script Includes
    8. Enforcing data
      1. Forcing a comment using a data policy
      2. Specifying dynamic filters
        1. Displaying guests that are Me
    9. Scripting reference qualifiers
      1. Showing only guests with reservations
        1. Filtering using the current record
    10. Rhino - the JavaScript engine powering ServiceNow
      1. Accessing Java
    11. Summary
  28. Client-Side Interaction
    1. Building a modern interface
      1. The power and pitfalls of Ajax
      2. Being in control
      3. Using client-side code effectively
    2. Choosing a UI Action
      1. Finding the current table
      2. Displaying UI Actions in the right place, at the right time
        1. Using the Condition field
      3. Running client- or server-side code
        1. Saving and redirecting
      4. Converting a record from Reservation to Check-in
    3. Managing fields with UI Policy
      1. Manipulating the form
        1. Client-side conditioning
      2. Forcing a comment on reservations
      3. Controlling UI Policies
    4. Running client-side scripts
      1. Scope on the client
      2. Remembering client-side GlideRecord
      3. Understanding callbacks
        1. The defined function
        2. The anonymous function
    5. Manipulating forms with GlideForm
      1. Using GlideForm
      2. Choosing a UI Policy
    6. Client-side scripting
      1. Sending alerts for VIP guests
      2. The disappearance of current
      3. Changing, submitting, loading, and more
      4. Validating the contents of fields
      5. Storing code in UI Scripts
    7. Efficiently transferring data to the client
      1. Writing a script include for GlideAjax
      2. Using GlideAjax
      3. Passing data when the form loads
        1. Using scratchpad on the client
      4. Storing data in the session
    8. Controlling lists with Context Menus
      1. Finding out about the list
      2. Opening a new tab
    9. Customizing and extending the platform
      1. Firing on more events
      2. Using built-in libraries
      3. What could go wrong
    10. Taking control of the browser
      1. Data Policies save the day
    11. Summary
  29. Getting Things Done with Tasks
    1. Introducing tasks
      1. Looking at the Task table
        1. The important fields
        2. Populating fields automatically
      2. Recording room maintenance tasks
      3. Working with tasks
        1. Working without a queue
        2. Working socially
          1. Chatting with Connect
          2. Communicating some more
    2. Organizing groups and users
      1. Creating a room-maintenance team
        1. Creating a property
      2. Using departments and companies
    3. Using additional comments and work notes
    4. Understanding the State field
      1. Configuring different states
      2. Representing progress
      3. Navigating between states
      4. Creating room maintenance states
        1. Enforcing on the server
        2. Adding a reference qualifier
        3. Removing states with client scripts
      5. Automating an assignment based on state
        1. Using Data Lookup
          1. Setting the Assignment group with Assignment Rules
    5. Drag-and-drop automation with Graphical Workflows
      1. Running a workflow
        1. Exploring under the hood
      2. Exploring the activities
      3. Orchestrating your datacentre
      4. Using data-driven workflows
    6. Approving tasks
      1. Making the decision
      2. Understanding what you are approving
      3. Asking for approval for the repair team
        1. Performing the approval
        2. Starting up the workflow
        3. Monitoring progress
    7. Using the Service Catalog
      1. The different types of Catalog Items
        1. Using Service Creator
      2. Creating a record producer
        1. Adding more information
        2. Routing the submitted request with templates
        3. Testing the record producer
      3. Understanding the data behind Service Catalog
        1. Configuring the Service Catalog
    8. Understanding Request Fulfilment
      1. Checking out
      2. Using the request tables
        1. Scripting variables
    9. Service Level Management
      1. Exploring the SLA data structure
      2. Timing an SLA
      3. Travelling through time
        1. Enjoying relativity
          1. Scheduling and time zones
      4. Customizing condition rules
      5. Avoiding a breach
        1. Working SLAs
      6. Ensuring maintenance is quick
    10. Summary
  30. Events, Notifications, and Reporting
    1. Dealing with events
      1. Registering events
      2. Firing an event
        1. Sending an e-mail for new reservations
    2. Scheduling jobs
      1. Adding your own jobs
        1. Creating events every day
      2. Running scripts on events
        1. Creating tasks automatically
    3. Sending e-mail notifications
      1. Setting e-mail properties
      2. Assigning work
        1. Sending an e-mail notification on assignment
          1. When to send
          2. Who will receive
          3. Send to event creator
      3. Sending informational updates
        1. Sending a custom e-mail
          1. Enabling the e-mail client
        2. Sending e-mails with additional comments and work notes
          1. Sending out work notes
      4. Approving via e-mail
        1. Using the Approval table
        2. Testing the default approval e-mail
      5. Specifying notification preferences
        1. Subscribing to e-mail notifications
        2. Creating a new device
        3. Sending text messages
    4. Delivering an e-mail
      1. Knowing who the e-mail is from
    5. Receiving e-mails
      1. Determining what an inbound e-mail is
      2. Creating inbound email actions
        1. Approving e-mails using Inbound Email Actions
          1. Understanding the code in Update Approval Request
        2. Updating the work notes of a Maintenance task
      3. Having multiple incoming e-mail addresses
        1. Using the Email Accounts plugin
        2. Redirecting e-mails
        3. Processing multiple e-mail addresses
      4. Seeing progress being made
    6. Recording metrics
      1. The difference between metrics and SLAs
      2. Running metrics
        1. Scripting a metric definition
        2. Monitoring the duration of maintenance tasks
    7. Flattening data with Database Views
      1. Creating a Metric Instance Database View
    8. Reporting
      1. The functionality of a list
      2. Using reports elsewhere
        1. Sending a shift handover report
      3. Analytics with ServiceNow
        1. Basic trending with line charts
        2. Performance Analytics
      4. Making sense of reports
        1. Ensuring consistency
        2. Using outside tools
    9. Building homepages
      1. Creating a Maintenance homepage
      2. Making global homepages
        1. Editing homepages
      3. Counting on a homepage
      4. Optimizing homepages
    10. Summary
  31. Exchanging Data – Import Sets, Web Services, and other Integrations
    1. Beginning the web service journey
      1. Pulling data out of ServiceNow
      2. Downloading file-based data
        1. Automatically download data using cURL
      3. Being more specific with URL parameters
        1. Choosing the fields
        2. Specifying  records
          1. Getting my stuff
      4. Pulling data designed for the Web
        1. Cleaning up with SOAP
          1. Using direct web services
          2. Filtering the response
          3. Returning display values
        2. Having a REST
          1. Using the REST Explorer
          2. GETting it your way
          3. Using the right method
          4. Selecting the right content
          5. Updating and inserting data
          6. Exploring other APIs
    2. Bringing it in using Import Sets
      1. Specifying the data source
        1. Cleaning up Import Set tables
      2. Getting data
        1. Dealing with XML files
      3. Transforming the data
        1. Creating a field map
          1. Enabling scripting in transform maps
          2. Creating new values
          3. Dealing with times
          4. Importing into reference fields
      4. Moving in the rooms
      5. Scripting in Transform Maps
        1. Knowing when scripting will run
      6. Keeping import sets running
    3. Importing users and groups with LDAP
      1. Importing users from an LDAP server
        1. Reviewing the configuration
      2. Altering the Transform Maps
      3. Importing in a scoped application
    4. Building web service Import Sets
      1. Using a web service Import Sets
    5. Connecting to web services
      1. Using SOAP to send tasks
        1. Testing the web service
        2. Sending the message
      2. Building REST messages
        1. Sending REST messages to CHS
    6. Building custom interfaces
      1. Creating scripted services
        1. Doing multiplication with a scripted REST API
    7. Working inside the data center - introducing the MID server
      1. Integrating with the ECC queue
      2. Picking up jobs
      3. Installing the MID server
        1. Setting up the server
      4. Using the MID server
        1. Running a custom command
      5. Running JavaScript on the MID server
        1. Interacting with the ECC queue
          1. Creating a MID server Script Include
        2. Using Java on the MID server
          1. Adding additional libraries
      6. Exporting data via the MID server
        1. Improving exporting
    8. Authenticating and securing web services
      1. Inbound authentication
      2. Outbound authentication
    9. Designing integrations
      1. Transferring bulk data
      2. Real-time communication
      3. Communicating through the firewall
    10. Summary
  32. Securing Applications and Data
    1. Understanding roles
      1. Defining a role
      2. Assigning roles to users
        1. Finding a user's role
      3. Differentiating between requesters and fulfillers
        1. Roles and Delegated Development
        2. Activating Subscription Management
      4. Using impersonation
      5. High-security settings
        1. Elevating your role
      6. Controlling access to applications and modules
        1. Controlling access to modules with groups
    2. Protecting data with contextual security rules
      1. Understanding contextual security
      2. Specifying rows and fields to secure
        1. Securing rows
      3. Controlling fields
      4. The order of execution
        1. Executing the row and then the field
        2. Rules are searched until one is found
        3. Defaults are possible
        4. The table hierarchy is understood
        5. Multiple rules with the same name are both considered
        6. Field rules check the table hierarchy twice
      5. Summarizing the execution
      6. Scripting and access controls
      7. Securing other operations
    3. Building security rules
      1. Conditioning contextual security
        1. Editing the automatic security rules
        2. Testing using impersonation
        3. Setting security rules quickly
        4. Scripting a security rule
      2. Using security rules effectively
    4. Using Scoped Administration
      1. Controlling the Hotel application
    5. Encrypting data
      1. Disadvantages of field encryption
      2. Evaluating encryption gateways
        1. Evaluating encryption gateways
    6. Introducing Domain Separation
      1. Defining a domain
        1. Applying Domain Separation
      2. Organizing domains
        1. Introducing global
        2. Understanding domain inheritance
        3. Turning on Domain Separation
      3. Looking at Domain Separation
      4. Exploring domain visibility
      5. Understanding Delegated Administration
      6. Overriding configuration
        1. Displaying different messages for different domains
      7. Creating more domain relationships
      8. Using Domain Separation appropriately
    7. Authenticating users
      1. Using internal authentication
      2. Controlling authentication
      3. Using an LDAP server for authentication
      4. Enabling Single Sign-on through SAML
        1. Automatically creating users
        2. Logging out
        3. Using Multiple Provider Single Sign-on
        4. Configuring Single Sign-On
        5. Consuming metadata from SSOCircle
      5. Navigating to the side door
      6. Preventing access to the instance
    8. Securing web services
      1. Using WS-Security
        1. Improving security with signatures
      2. Mutual authentication
        1. Setting up outbound mutual authentication
      3. Using OAuth
    9. Summary
  33. Diagnosing ServiceNow – Knowing What Is Going On
    1. Building a methodology
      1. Identifying the issue
    2. Looking at the system log
      1. Writing to the system log
      2. Using the file log
      3. Logging appropriately
    3. Using the debugging tools
      1. Debugging Business Rules
      2. Debugging contextual security rules
    4. Enabling the JavaScript client side log
      1. Seeing client-side messages
        1. Logging to the JavaScript log
    5. Tracking each page request
      1. Recording the time taken
        1. Monitoring the instance's performance
        2. Recording the browser's perspective
          1. Breaking down the browser's time
          2. Visualising the data
    6. Going through other logs
    7. Finding slow database transactions
      1. Classifying slow queries
      2. Examining the Slow Query log
        1. Understanding behaviour
      3. Seeing the plan
    8. Dealing with other performance issues
      1. Managing large tables
        1. Archiving data
      2. Rotating and extending through sharding
        1. Choosing table extension
        2. Selecting table rotation
    9. Auditing and versioning
      1. Turning on auditing
      2. Viewing audit
      3. Using auditing responsibly
      4. Versioning configuration
        1. Reviewing the changes
    10. Optimizing hardware resources
      1. Controlling resources with semaphores
    11. Accessing the system internals
      1. Understanding the ServiceNow Performance homepage
      2. Flushing the system cache
      3. Reviewing the system stats
    12. Summary
  34. Packaging with Applications, Update Sets, and Upgrades
    1. Using your instances
    2. Serializing records to XML
      1. Exporting and importing serialized XML
      2. Transporting data via XML
    3. Recording configuration in Update Sets
      1. Capturing configuration
        1. Transferring an Update Set
      2. Applying an Update Set
        1. Understanding multiple Update Sets
        2. Relying upon other updates
      3. Managing Update Sets
        1. Using the wrong Update Set
      4. Working with workflows
        1. Having the wrong IDs
      5. Backing out Update Sets
      6. Using Update Sets effectively
    4. Cloning instances
      1. Preserving and excluding data
      2. Using clones effectively
    5. Packaging with applications
      1. Application use cases
      2. The philosophy of scoped applications
      3. Identifying configuration
      4. Moving applications
        1. Publishing applications
        2. Exporting applications
        3. Using a Git repository
          1. Using source control effectively
      5. Including data in applications
    6. Sharing with Share
    7. Selling on ServiceNow Store
    8. Adding more with plugins
      1. Activating plugins
      2. Choosing the right plugin
    9. Configuration and customization
      1. Knowing areas of risk
      2. Protecting your scripts
    10. Upgrading ServiceNow
      1. Understanding upgrades
        1. Applying upgrades
        2. Reverting customizations and restoring out of the box
    11. Managing instances
    12. Summary
  35. Making ServiceNow Beautiful with Service Portal and Custom Interfaces
    1. Making it self – service
      1. Providing self-service access
      2. Layering on a better look and feel
    2. Starting with Service Portal
      1. Getting the assets
      2. Branding the existing portal
      3. Reviewing Service Portal fundamentals
      4. Service Portal and the Service Catalog
      5. Selecting the widgets
      6. Creating the reservation
      7. Creating the portal
        1. Building a home
        2. Creating a theme
        3. Creating some style
        4. Adding a menu
        5. Adding a client-side widget
        6. Exploring dynamic widgets
        7. Building the dynamic widget
        8. Locking down the data
          1. Filtering maintenance tasks
          2. Finding the reservations
          3. Altering access controls
        9. Testing the site
    3. Digging into Jelly
      1. Creating a UI Page
      2. Adding interactivity to UI pages
      3. Including UI macros
      4. Looping with Jelly
      5. Extending Jelly
    4. Using Angular and Jelly
      1. Using Angular to say hello
      2. Interacting with the database
      3. Updating records
    5. Including Jelly in the standard interface
      1. Adding formatters
      2. Decorating and contributing to fields
      3. Launching a dialog box
        1. Launching UI pages with GlideDialogWindow
        2. Fitting in a form
        3. Displaying any page with GlideBox
    6. Summary
  36. Bibliography