Welcome to the ultimate guide on Service Portal Interview Questions & Answers.
⭐ SECTION 1: BASICS (FOR FRESHERS)
1. What is Service Portal in ServiceNow?
Answer:
Service Portal is a user-friendly website inside ServiceNow where employees can submit requests, search knowledge articles, raise incidents, etc.
Example:
When you open a company website to raise an IT ticket — that is a Service Portal page.
2. Why do companies use Service Portal in Service Portal Interview Questions & Answers?
Answer:
Because it provides:
✔ Simple UI for non-technical users
✔ Mobile-friendly experience
✔ Easy to customize
✔ Faster access to forms, catalog items, and knowledge
3. What is a Portal Page?
Answer:
A web page inside the portal that contains widgets.
Example:
A homepage with “Search bar”, “Submit incident”, “Request laptop” tiles.
4. What is a Widget?
Answer:
A widget is a small application block inside Service Portal created using:
- HTML
- CSS
- AngularJS
- Server script (for backend logic)
Example:
A widget that shows “My Active Tickets”.
5. What is a Catalog Item?
Answer:
A catalog item is a service request form a user fills inside portal.
Example:
Request new laptop → catalog item.
6. What is a Record Producer?
Answer:
Record producer is a form in the portal that creates a record in any table.
Example:
“Report a broken chair” creates a record in the Facilities table.
7. Difference between Record Producer and Catalog Item?
| Feature | Catalog Item | Record Producer |
|---|---|---|
| Purpose | Request a service | Create any record |
| Example | Request laptop | Create incident |
8. What is a Theme?
Answer:
Theme controls colors, fonts, and general look of the portal.
9. What is Portal Branding?
Answer:
Customizing the portal design:
✔ Logo
✔ Color
✔ Header/footer
✔ Background
10. Is Service Portal mobile responsive?
Answer:
Yes, it works on mobile, tablet, and desktop automatically.
⭐ SECTION 2: INTERMEDIATE (BOTH FRESHERS & EXPERIENCED)
11. What is the structure of a Widget?
A widget has:
- HTML template → UI
- Client script (AngularJS) → user actions
- Server script → business logic / Glide API
- CSS → styling
- Widget options → parameters
12. What is AngularJS in Service Portal?
Answer:
It is the frontend scripting language used in widgets for dynamic actions like:
- button clicks
- fetch data
- refresh UI
13. What is a Portal Container Page?
Answer:
The main layout page that contains:
- Header
- Footer
- Sidebar
- Main content area
Every portal page loads inside this container.
14. What is the difference between Service Portal and UI Pages?
| Feature | Service Portal | UI Page |
|---|---|---|
| Technology | AngularJS + Bootstrap | Jelly/HTML |
| Performance | Fast | Slower |
| Mobile | Fully mobile | Not fully |
| Usage | Modern portals | Legacy development |
15. What is a URL Suffix?
Answer:
The end part of the URL that identifies a portal page.
Example:/sp?id=sc_home
Here sc_home is the URL suffix.
16. What is a Variable Set in Service Portal?
Answer:
A group of reusable variables used in multiple catalog items.
Example:
“User Details” (name, email, phone) → used in many items.
17. What is Widget Instance?
Answer:
A copy of a widget used on a page with custom settings.
Example:
Same “Ticket List” widget but showing:
- tickets for IT on one page
- tickets for HR on another page
18. How do you call server script from client script?
Using:
c.server.get({...})
19. What is GlideRecord?
Answer:
API used in server script to fetch or update data.
20. How to debug widgets?
✔ Browser console
✔ Network tab
✔ spWidgetDebug
✔ Server logs
✔ Add debug statements in server/client scripts
⭐ SECTION 3: ADVANCED (EXPERIENCED)
21. What is a Portal Menu?
Answer:
A navigation menu shown in header or sidebar.
Example:
Home | My Requests | Knowledge | Catalog
22. How do you transfer data between widgets?
✔ Using $rootScope
✔ Using Broadcasting Events
✔ Using spUtil.get
✔ Using Portal Messages
23. What is spUtil?
Answer:
A helper library for widgets.
Example:spUtil.addErrorMessage("Something went wrong")
24. What is a Processor?
Answer:
A server-side endpoint used to handle:
- File upload
- File download
- Custom API logic
- Data exports
25. How to secure a widget?
✔ Check roles in server script
✔ Use ACLs
✔ Avoid exposing sensitive data in client script
26. How do you improve Service Portal performance?
✔ Reduce heavy queries
✔ Use caching
✔ Minimize Angular watchers
✔ Avoid GlideRecord loops
✔ Remove unused widgets
27. How do you show catalog item in portal?
Use URL:/sp?id=sc_cat_item&sys_id=<catalog_item_sys_id>
28. How do you redirect a user in Service Portal?
window.location = "?id=sc_home";
29. What is Two-way Binding in AngularJS?
Answer:
When UI updates → data updates
and
when data updates → UI updates
automatically.
30. What is the difference between Widget and Portal Page?
| Feature | Widget | Page |
|---|---|---|
| Meaning | Small component | Full webpage |
| Built with | HTML, CSS, Angular, server script | Collection of widgets |
| Example | Ticket widget | Home page |
⭐ SECTION 4: SCENARIO-BASED QUESTIONS (VERY IMPORTANT)
31. A widget is not loading on the page. How will you debug?
✔ Check widget permissions
✔ Open browser console for errors
✔ Check server script GlideRecord query
✔ Check if widget instance has required options
✔ Check if Angular variable is missing
32. User sees empty catalog page. What will you check?
✔ User roles
✔ Catalog permissions
✔ Portal page mapping
✔ Categories are active
✔ JS errors on page
33. You need to show last 10 tickets of the logged-in user. How will you do it?
In server script:
var gr = new GlideRecord("incident");
gr.addQuery("caller_id", gs.getUserID());
gr.orderByDesc("sys_created_on");
gr.setLimit(10);
gr.query();
34. How to pass value from widget A to widget B?
Use $rootScope or broadcast events.
35. How to hide a widget only for specific roles?
In server script:
if (!gs.hasRole("itil")) {
data.show = false;
}
⭐ SHORT QUICK REVISION (1-Liner)
- Widget = small app block
- Page = container of widgets
- AngularJS = client scripting
- Server script = backend logic
- URL suffix = identifies pages
- Branding = customizing look
- Catalog item = request form
- Record producer = creates any record
- Variable set = reusable variables
- spUtil = helper functions
Would you like a PDF version?