Application Automation

96 questions from the Application Automation domain of the ServiceNow Certified Application Developer (CAD) exam, each with its answer and an explanation. Read them through as revision, then sit the full practice exam to test yourself on them under multiple-choice conditions.

  1. 1.Which objects can you use in a Scheduled Script Execution (Scheduled Job) script?

    Answer

    • GlideSystem and GlideRecord

    A scheduled job runs on the server on a schedule, not against a particular record, so there is no current object. Server-side APIs such as GlideSystem (gs) and GlideRecord are available, while GlideUser (g_user) is a client-side object.

  2. 2.Which one of the following is NOT a method used for logging messages in a server-side script for a privately-scoped application?

    Answer

    • gs.log()

    gs.log() is not available in scoped applications. Scoped server-side scripts log messages with gs.info(), gs.warn(), gs.error() and gs.debug().

  3. 3.When configuring the content of a Notification Email script, which syntax should be used to reference the parameters of an event triggering the Notification?

    Answer

    • event.parm1

    When a notification is fired by an event, its email scripts receive an event object, and the event's parameters are read as event.parm1 and event.parm2. The ${...} syntax inserts field values into the notification's message text; it isn't used inside an email script.

  4. 4.There is a basic strategy when creating a Utils Script Include. Identify the step that does not belong.

    Answer

    • Identify the table

    A utils script include is a class of reusable functions, so you create the class, create its prototype object and script the functions. It isn't tied to a table, so identifying one is not part of the process.

  5. 5.Here is the Business Rule script template: (function executeRule(current, previous) { })(current, previous); This type of JavaScript function is known as:

    Answer

    • Self-invoking

    Wrapping a function in parentheses and calling it straight away, as the business rule template does, makes it a self-invoking function (an immediately invoked function expression). It runs once, and its variables stay inside the function instead of leaking into the global scope.

  6. 6.Which of the following is NOT supported by Flow Designer?

    Answer

    • Test a flow with rollback

    Flows can call subflows, can be built by delegated developers and can be started by a MetricBase trigger. Testing a flow runs it on the instance, and there is no option to roll back the records it changed.

  7. 7.In an Email Notification, which one of the following is NOT true for the Weight field?

    Answer

    • A Weight value of zero means that no email should be sent

    Weight defaults to zero, and a notification with a weight of zero is always sent when its When to send criteria are met. When several weighted notifications fire for the same record and recipients, only the one with the highest weight is sent.

  8. 8.Which of the following objects does a Display Business Rule NOT have access to?

    Answer

    • previous

    A display business rule runs when a record is read from the database, before the form is shown, so nothing has changed and there is no previous object. It can use current, GlideSystem and g_scratchpad, which passes values to client scripts.

  9. 9.A scoped application containing Flow Designer content dedicated to a particular application is called a(n):

    Answer

    • Spoke

    A spoke is a scoped application that packages Flow Designer actions and subflows for one application or service, such as the Jira or Slack spokes. Actions and flows are the content a spoke provides or uses.

  10. 10.Application developers configure ServiceNow using industry standard JavaScript to…

    Answer

    • Extend and add functionality

    Client-side and server-side scripts, such as client scripts, business rules and script includes, are written in JavaScript to extend the platform and add functionality. Logos, banner text and email display names are set through configuration, not scripts.

  11. 11.Which of the following CANNOT be debugged using the Field Watcher?

    Answer

    • Access Controls

    The Field Watcher follows one field on a form and traces how scripted logic, such as business rules, client scripts and the script includes they call, changes its value. It doesn't debug how access controls are evaluated; security rules are debugged separately.

  12. 12.Which objects can be used in Inbound Action scripts?

    Answer

    • current and email

    An inbound email action script works with current, the record being created or updated, and email, which holds the incoming message's sender, subject and body. previous, event and producer belong to business rules, notifications and record producers.

  13. 13.Which of the following are configured in an Email Notification? (a) Who will receive the notification. (b) What content will be in the notification. (c) When to send the notification. (d) How to send the notification.

    Answer

    • a, b and c

    A notification is set up in three sections: When to send, Who will receive and What it will contain. There is no separate How to send section.

  14. 14.Which Script Debugger feature helps filter debugging searches to quickly narrow down script problems?

    Answer

    • Script Tracer

    The Script Tracer records the server-side scripts that run during a transaction and lets you filter them, for example by table or script type, so you can find the script causing a problem and open it in the Script Debugger. The other options are not Script Debugger features.

  15. 15.The getCurrentDomainID() method is part of which scoped class?

    Answer

    • ScopedSessionDomain

    ScopedSessionDomain gives scoped scripts information about the session's domain in a domain-separated instance, and getCurrentDomainID() returns the sys_id of the domain the user is currently in. GlideSession, GlideRecord and ScopedDCManager don't provide this method.

  16. 16.What additional information does Debug Business Rule (Details) show in comparison to Debug Business Rule?

    Answer

    • Old and new values for field values changed by the Business Rule

    Debug Business Rule shows which business rules ran or were skipped. Debug Business Rule (Details) also shows the old and new value of each field a business rule changed, so you can see what a rule actually did to the record.

  17. 17.Script actions can be triggered by business rules as well as by events. True or False?

    Answer

    • TRUE

    Script actions are reusable server-side scripts. They respond to events, and they can also be triggered through business rules when a record meets certain conditions, so the same logic can be run from either.

  18. 18.Can the Script Debugger be used to debug client-side scripts?

    Answer

    • No

    The Script Debugger steps through server-side scripts, such as business rules and script includes. Client-side scripts run in the browser, so they are debugged with the browser's developer tools, jslog() or messages on the form.

  19. 19.Which of the below methods can be used to default the current date/time in a scoped application?

    Answer

    • new GlideDateTime().getDisplayValue()

    gs.nowDateTime() is not available in scoped applications. A new GlideDateTime object holds the current date and time, and getDisplayValue() returns it in the user's format and time zone.

  20. 20.It is mandatory to register an event in the Event Registry for it to be functional.

    Answer

    • Yes

    An event has to be in the Event Registry before notifications and script actions can be set up to respond to it. Registering it also documents what fires the event and on which table.

  21. 21.Workflow can be used to automate UI Actions. True or False?

    Answer

    • FALSE

    Workflows automate processes on the server, such as approvals, tasks and notifications. UI actions are buttons, links and menu items that users click, so they are not something a workflow runs.

  22. 22.Which of the following objects does a before business rule have access to?

    Answer

    • All of the above

    A before business rule receives current, holding the values being saved, and previous, holding the values in the database. Its script can also create GlideRecord objects to query other tables.

  23. 23.An email notification can be triggered using which of these options? (a) Trigger conditions (b) Events (c) Manually

    Answer

    • a, b and c

    A notification can be sent when a record is inserted or updated and meets its conditions, when a specific event is fired, or when it is triggered directly, for example from a flow or a script.

  24. 24.Which method is used to retrieve a system property?

    Answer

    • gs.getProperty()

    gs.getProperty() returns the value of a system property on the server and can take a default value to use if the property doesn't exist. g_form has no property methods, and gs.getAppProperty() does not exist.

  25. 25.A sequence of activities for automating processes in applications is achieved by:

    Answer

    • Workflow

    A workflow automates a process as a sequence of activities, such as approvals, tasks, notifications and timers. A business rule runs logic when a record changes, and a UI action adds a button or link for users.

  26. 26.Any code changes made in a checked-out workflow version are applied to all ServiceNow users triggering the workflow. True or False?

    Answer

    • FALSE

    While a workflow is checked out, the changes are used only by the user who checked it out, so they can test them. Everyone else keeps running the published version until the workflow is published.

  27. 27.Which record is generated to indicate something has occurred in ServiceNow?

    Answer

    • Event record

    An event record is added to the event queue [sysevent] when something notable happens, for example when a business rule calls gs.eventQueue(), and notifications and script actions respond to it. Script actions and UI actions are logic, and the ECC Queue holds MID Server communication.

  28. 28.Can a scheduled job be used to run a client-side script every day?

    Answer

    • No

    A scheduled job runs a script on the server at set times, with no browser or form involved. Client-side scripts only run in a user's browser, on a form or list the user has open.

  29. 29.What is the purpose of the gs.isInteractive() function in business rules?

    Answer

    • The function returns true if the action is performed by an interactive user

    gs.isInteractive() returns true when the current session belongs to a user working in the browser, and false for non-interactive sessions such as scheduled jobs, imports and web service requests. Business rules use it to run logic only for interactive users, or only for non-interactive ones.

  30. 30.In a business rule, which of the following returns the sys_id of the currently logged-in user?

    Answer

    • gs.getUserID()

    gs.getUserID() returns the sys_id of the logged-in user on the server. g_form only exists in the browser, and getUserSysID() is not a GlideSystem method.

  31. 31.current.isNew() is a valid function which returns true if the record being created is a new record. True or False?

    Answer

    • False, current.isNewRecord() is the correct function which returns true for a new record

    The GlideRecord method that checks whether a record hasn't been saved yet is isNewRecord(), so business rules and access control scripts use current.isNewRecord().

  32. 32.The Field Watcher can be used to debug multiple fields at the same time. True or False?

    Answer

    • FALSE

    The Field Watcher watches one field at a time. To debug another field, you stop watching the current one and start watching the next.

  33. 33.What are the 3 basic components of a workflow?

    Answer

    • Approvals, Notifications and Tasks

    Approvals, notifications and tasks are the basic building blocks of most workflows: getting authorization, keeping people informed and assigning work. Timers and scripts are also available as supporting activities.

  34. 34.Where in Flow Designer can users access information about actions that are added to the flow?

    Answer

    • Flow Designer help panel

    The Flow Designer help panel shows information about the flow and the actions added to it, such as what each action does. The other options are not Flow Designer features.

  35. 35.When debugging a script, a developer can add breakpoints or conditional logpoints that log messages to the console at specific lines, and remove the logpoints when done. Which system property must be set to true to enable logpoints?

    Answer

    • glide.debug.log_point

    Setting glide.debug.log_point to true enables logpoints, so messages can be logged at chosen lines of a script without changing the script. The other properties control different features.

  36. 36.How are flow variables accessed in the Flow Designer data panel?

    Answer

    • As data pills

    Flow variables appear in the data panel as data pills, which you drag into action inputs and conditions. Scratchpad variables belong to workflows and client scripts, not Flow Designer.

  37. 37.Which capability can be configured to allow end users to intercept and resolve submitted incidents when using Virtual Agent?

    Answer

    • Incident auto-resolution

    Incident auto-resolution works with Virtual Agent to reach the user after they submit an incident and offer answers, such as knowledge articles, so they can resolve it themselves. The other options are not ServiceNow capabilities.

  38. 38.How can administrators use the same content for different notification channels?

    Answer

    • Provide common notification content

    Common notification content is written once and reused across notification channels, so the message stays consistent and only needs to be maintained in one place. The other options are not the feature for sharing content between channels.

  39. 39.When creating a class and prototype, the script include name must match the class name. True or False?

    Answer

    • TRUE

    A script include is found by its name, so the class it defines must have the same name, for example var MyUtils = Class.create(); in a script include called MyUtils. Otherwise other scripts can't create the class with new MyUtils().

  40. 40.What is the purpose of Virtual Agent in ServiceNow?

    Answer

    • Automate different functions in ServiceNow using chatbots

    Virtual Agent is a chatbot that holds conversations with users to answer questions and complete tasks, such as checking a request or resetting a password. It is separate from assignment features and from Flow Designer, although its conversations can run flows.

  41. 41.What is Agent Intelligence in ServiceNow?

    Answer

    • A machine learning component in ServiceNow used to set certain values based on historical data

    Agent Intelligence, now called Predictive Intelligence, uses machine learning trained on historical records to predict and set field values, such as the category or assignment group of a new incident. Assignment rules and integrations are separate features.

  42. 42.Select the parts of Flow Designer.

    Answers

    • Flow action(s)
    • Data panel
    • Flow trigger
    • Executions

    A flow is built from a trigger and actions, the data panel shows the data pills they can use, and executions show the details of each time the flow ran. The script debugger and developer tools are not part of Flow Designer.

  43. 43.Which of the below is not a valid state for a scheduled job in a ServiceNow instance?

    Answer

    • Waiting for approval

    Scheduled jobs move through states such as Ready, Queued, Running and Error as the scheduler processes them. Waiting for approval is an approval state, not a scheduled job state.

  44. 44.gs.getProperty() works on both the server side and the client side. True or False?

    Answer

    • FALSE

    gs is the server-side GlideSystem object, so gs.getProperty() works only in server scripts. A client script that needs a property value gets it from the server, for example through g_scratchpad or GlideAjax.

  45. 45.gs.minutesago() is giving unexpected results: it should return records created 30 minutes ago, but it also returns records created earlier today. What is the right solution?

    Answer

    • The correct syntax is gs.minutesAgo(30)

    The method is gs.minutesAgo(), with a capital A, and it takes the number of minutes, so gs.minutesAgo(30) returns the date and time 30 minutes ago for use in a query. gs.minute() is not a GlideSystem method.

  46. 46.What does the setForceUpdate() function do?

    Answer

    • setForceUpdate is used to update records without having to change a value on that record to get the update to execute.

    GlideRecord normally saves an update only when a field value has changed. Calling setForceUpdate(true) before update() makes the update run anyway, for example to trigger business rules on the record without changing its data. It applies to that record, not to every record in the table.

  47. 47.Choose the correct syntax to use GlideDate() in a scheduled job script.

    Answer

    • var test = new GlideDate().getFormat('MM-dd-yyyy') + ''; test = test.replace(/-/gi, ''); gs.print(test);

    The script formats today's date as MM-dd-yyyy with getFormat(), converts the result to a string, removes the dashes with replace() and prints it with gs.print().

  48. 48.How do you check for an empty string in ServiceNow?

    Answer

    • gs.nil() method

    gs.nil() returns true when a value is null, undefined or an empty string, so it is the standard check for an empty value in server scripts. gs.is_nil() is not a GlideSystem method.

  49. 49.Using current.update() in a business rule script triggers business rules to run on the same table for insert and update operations, leading to a business rule calling itself over and over. When a recursive business rule is detected, the system stops it and logs the error. How can you prevent recursive business rules?

    Answer

    • By using the setWorkflow() method with the false parameter.

    setWorkflow(false) stops the update from running business rules, so calling it before current.update() prevents the rule from triggering itself again. setWorkflow(true) is the default and leaves them running.

  50. 50.Which of the following writes to the text log on the file system but not to the sys_log table in the database?

    Answer

    • gs.print("Hello World");

    gs.print() writes only to the text log file on the server. gs.info() and gs.log() also create records in the System Log table.

  51. 51.What is the output of a code snippet that uses GlideAggregate with MIN, MAX and AVG on sys_mod_count, grouped by category?

    Answer

    • Result is total number of times records have been modified using the MIN, MAX, and AVG values.

    sys_mod_count counts how many times a record has been updated. Adding MIN, MAX and AVG aggregates on it, grouped by category, returns the lowest, highest and average number of modifications for each category.

  52. 52.How do you abort a database action in a business rule?

    Answer

    • During a before business rule script, you can cancel or abort the current database action using the current.setAbortAction(true) method.

    In a before business rule, current.setAbortAction(true) cancels the insert, update or delete that triggered the rule, so the record isn't saved. AbortAction() is not a GlideRecord method.

  53. 53.What is the result of executing a script that queries sc_task with no filter, then for each result queries the parent task table where the sys_id matches the sc_task record's sys_id, printing the work notes field?

    Answer

    • The script queries the extended table (sc_task) for the current sys_id, then queries the parent table (task) for records with the matching sys_id, and then prints out the work notes field.

    The script loops through the sc_task records and, for each one, queries the Task table for the record with the same sys_id, which is the same record seen through its parent table, and prints its work notes.

  54. 54.In a business rule or other server script, which method returns a user object?

    Answer

    • The gs.getUser() method

    gs.getUser() returns a user object for the logged-in user, with methods such as getFullName() and hasRole(). gs.User() is not a GlideSystem method.

  55. 55.Can different workflows have the same name?

    Answer

    • Yes

    Workflows are identified by sys_id rather than by name, so two workflows can have the same name, for example in different domains. Unique names are still a good idea to avoid confusion.

  56. 56.What is the purpose of the watermark in ServiceNow notifications?

    Answer

    • By default, the system generates a watermark label at the bottom of each notification email to allow matching incoming email to existing records. Each watermark includes a random 20-character string that makes it unique.

    The watermark lets the instance match a reply email to the record the notification was about, so inbound email actions update the right record. Its random string makes each watermark unique.

  57. 57.As a ServiceNow developer, how do you decide between ${URI} and ${URI_REF}?

    Answer

    • Choose ${URI_REF} if you need the display value of the record as the link text, and use ${URI} to get the LINK

    In a notification, ${URI_REF} inserts a link to the record whose text is the record's display value, such as its number. ${URI} inserts a link whose text is the word LINK.

  58. 58.Identify the correct statement from the below options.

    Answer

    • When a business rule runs a script include on a form submit, that is an interactive transaction waiting on the form data to change before continuing.

    A business rule that calls a script include while a form is submitted runs inside that interactive transaction, so the user's request waits until the script finishes. A Script Debugger transaction doesn't outlive the session: when the user logs out or the session times out, it ends.

  59. 59.An email notification can be triggered using which of these options? (a) Trigger conditions (b) Events (c) Using a MID Server

    Answer

    • a and b

    Notifications are sent when a record meets their conditions or when an event is fired. MID Servers carry communication with systems on other networks and don't trigger notifications.

  60. 60.The requirement is to update a record without updating its system fields. Choose the best option from below.

    Answer

    • gr.autoSysFields(false) called before gr.update()

    gr.autoSysFields(false) turns off the automatic update of system fields such as Updated and Updated by, and it must be called before gr.update() to affect that update. Passing true or a string, or calling it after the update, doesn't do this.

  61. 61.Flow Designer has which types of triggers from the below? (a) Record (b) Date (c) Application

    Answer

    • a, b, c

    Flows can be started by a record trigger when a record is created or updated, by a date trigger that runs at a set time or on a schedule, or by an application trigger, such as a service catalog request or an inbound email.

  62. 62.What is the difference between return false and current.setAbortAction(true)? Choose the correct answer.

    Answer

    • current.setAbortAction(true); stops the business rule and stops the system from continuing to run additional (higher order) business rules.

    current.setAbortAction(true) cancels the database action and stops the system from running the remaining, higher-order business rules for that operation. return false only ends the current script, so it isn't how a business rule cancels an action.

  63. 63.In which case can variable_pool be used in ServiceNow?

    Answer

    • Workflow Activities

    In workflow activity scripts on a requested item, current.variable_pool gives access to the item's catalog variables. Client scripts read variables with g_form instead.

  64. 64.What is the purpose and behavior of the setWorkflow() method in modern ServiceNow scripting?

    Answer

    • setWorkflow(e) strictly controls workflow execution. When false, it stops workflows but auditing occurs independently based on table settings.

    setWorkflow(false) stops business rules and other engines from running for that database operation. Whether changes are audited is controlled separately by the table's audit settings.

  65. 65.A business rule runs on the incident table before insert and checks the short description. If the user enters short_description as "test" and creates an incident, what will be the consequence?

    Answer

    • No incident will get created. An error will be thrown as "invalid insert"

    A before insert business rule runs before the record is saved, so when it finds the short description is test it can abort the insert. No incident is created, and the user sees an invalid insert error.

  66. 66.You are writing an Async Business Rule for a table in a different scope than the Business Rule record. Which one of the following database operations cannot be part of the Async Business Rule's configuration?

    Answer

    • Query

    An async business rule runs in the background after the record has been saved, so it can be set to run on insert, update or delete. Query isn't available, because a query business rule has to run before the data is returned to the user.

  67. 67.Identify the issue with this script: var session = gs.getSession(); session.setClientData('test_var', 'James'); var clientData = session.getClientData('test_var'); gs.info(clientData);

    Answer

    • Incorrect method 'setClientData()'

    gs.getSession() is valid and returns a GlideSession object, and getClientData() reads a value stored in the session. The method that stores the value is putClientData(), so the call to setClientData() is the problem.

  68. 68.How can you call a script include from a client script?

    Answer

    • If you want to call the Script Include on a Client Script, you then need that Script Include to extend AbstractAjaxProcessor. This will allow you to call it via GlideAjax in the Client Script.

    A client script can't call a script include directly. The script include has to extend AbstractAjaxProcessor so it can be called from the client, and the client script then calls it with GlideAjax.

  69. 69.From the below options, what do business rules NOT have access to?

    Answer

    • GlideUser, GlideForm

    Business rules run on the server, where GlideRecord and GlideSystem are available. GlideForm (g_form) and GlideUser (g_user) are client-side objects, so business rules can't use them.

  70. 70.Which of the following can be configured in a ServiceNow email notification? (a) Exclude delegates from receiving the notification (b) What content will be in the notification (c) When to send the notification (d) Send the notification to the event creator

    Answer

    • a, b, c, d

    A notification's When to send section sets when it is sent, Who will receive includes options such as excluding delegates and sending to the event creator, and What it will contain sets the content.

  71. 71.How do you get the result set from two tables in a Glide script?

    Answer

    • Use addJoinQuery() to your GlideRecord object.

    GlideRecord's addJoinQuery() adds a condition that returns records from the main table only when related records exist in a second table, so a single query uses both tables. JoinQuery() is not a GlideRecord method.

  72. 72.How do you get all the incident records whose category is server or desktop?

    Answer

    • var gr = new GlideRecord('incident'); var qc = gr.addQuery('category', 'server'); qc.addOrCondition('category', 'desktop'); gr.query();

    addQuery() returns a query condition, and calling addOrCondition() on it adds an OR, so the query returns incidents whose category is server or desktop. addQuery() doesn't combine two values when they are passed this way.

  73. 73.What is the difference between deleteMultiple() and deleteRecord()?

    Answer

    • deleteMultiple() deletes multiple records according to the current "where" clause and also deletes attachments, whereas deleteRecord() deletes a single record.

    deleteMultiple() deletes every record that matches the GlideRecord's current query, together with their attachments, while deleteRecord() deletes the single record the GlideRecord is on.

  74. 74.Which of the following is NOT a trigger type in Flow Designer?

    Answer

    • Outbound Email

    Flows can start from record, schedule and application triggers. Sending an email is an action a flow performs, not something that starts one.

  75. 75.When configuring the content of an email notification, which syntax should be used to reference properties of the event triggering the notification?

    Answer

    • ${event.property_name}

    In a notification's message, ${event.<property>} inserts a value from the event that fired it, such as ${event.parm1}. ${current.<field>} inserts values from the record instead.

  76. 76.The requirement is to hide the watermark globally. What should be done?

    Answer

    • Set the property named 'glide.email.watermark.visible' to false.

    Setting the glide.email.watermark.visible property to false hides the watermark in all outgoing emails. glide.email.watermark.is_visible is not a property.

  77. 77.How do you make invalid queries return empty result sets?

    Answer

    • You can enable the 'glide.invalid_query.returns_no_rows' property which will result in an empty result set for invalid queries.

    By default, a query condition with an invalid field name is ignored, so the query can return far more records than intended. Enabling the glide.invalid_query.returns_no_rows property makes such queries return no rows instead.

  78. 78.The requirement is to enable automatic user creation from email. What needs to be done?

    Answer

    • Set the property glide.pop3readerjob.create_caller to true in system properties.

    Setting glide.pop3readerjob.create_caller to true makes the instance create a user record when an email arrives from an address that doesn't belong to an existing user, so the email can be processed with that user as the caller.

  79. 79.Some active business rules in the global scope have When set to after, but all the Insert, Update, Delete and Query check boxes are cleared. Will these business rules run?

    Answer

    • No.

    The Insert, Update, Delete and Query check boxes decide which database operations trigger a business rule, and When only sets its timing. With none of them selected, nothing triggers the rule, so it never runs even though it is active.

  80. 80.When should you use a subflow?

    Answer

    • You only want to start a flow by calling it from another flow or script.

    A subflow has no trigger of its own; it runs only when a flow, another subflow or a script calls it. That makes it the right choice for a reusable sequence of steps shared by several flows.

  81. 81.How do you populate the Assigned to field of an incident task as soon as it is created?

    Answers

    • Use a Flow Designer based approach with no scripting. Save and activate the flow.
    • Use a before insert business rule to set your default assigned_to values.

    A flow triggered when an incident task is created can set Assigned to without scripting, and a before insert business rule can set it in script before the record is saved. Data policies and UI policies control whether fields are mandatory, read-only or visible; they don't set values when records are created.

  82. 82.Which debugging method do you use in server-side scripting in a scoped application?

    Answer

    • gs.debug()

    gs.debug() writes debug-level messages from scoped server-side scripts, which appear in the log when debugging is enabled for the application. gs.log() isn't available in scoped applications, gs.addInfoMessage() shows a message to the user, and gs.info() logs informational messages rather than debug output.

  83. 83.Which of the following is the correct syntax for adding dynamic content to a notification's HTML message field?

    Answer

    • ${current.short_description}

    In a notification's message, ${current.<field>} inserts the value of a field from the record the notification is about, so ${current.short_description} adds the record's short description.

  84. 84.When ServiceNow receives an inbound email, it attempts to match the sender to a user record. Which one of the following is NOT true?

    Answer

    • If no match is found the email is sent to the Inbox Junk folder

    Unmatched emails aren't moved to a junk folder. If the sender matches a user, that user is impersonated while the inbound actions run, and scripts can use methods such as gs.getUserName(). If there is no match and automatic user creation is disabled, the Guest user is used instead.

  85. 85.Identify the ways an application can respond to an event.

    Answers

    • Scheduled Job
    • Email Notification
    • Script Action

    An application can respond to an event with email notifications and script actions set up for that event, and with scheduled jobs. UI policies only change how fields behave on a form, so they don't respond to events.

  86. 86.Which one of the following best describes what a flow is?

    Answer

    • A sequence of actions to automate processes on the platform

    In Flow Designer, a flow is a trigger followed by a sequence of actions, such as creating records, asking for approval or sending notifications, that automate a process. It is built visually rather than as a script, and activities are the building blocks of legacy workflows.

  87. 87.Which of the following are steps in the generalized process for working with events?

    Answers

    • Generate the event
    • Respond to the event
    • Add an event to the Event Registry

    Working with events means adding the event to the Event Registry, generating it, for example with gs.eventQueue(), and responding to it with a notification or script action. A scheduled script execution or business rule may be where the event is generated, but they aren't steps of the process itself.

  88. 88.Which of the following are core actions or flow logic that can be used to build a business process in Flow Designer?

    Answers

    • Subflows
    • Send Notification
    • Ask For Approval
    • Timers
    • Conditions

    Flows are built from core actions such as Ask for Approval and Send Notification, flow logic such as conditions and timed waits, and subflows that package reusable steps. Service Catalog is a trigger that starts a flow, not an action or flow logic.

  89. 89.Which of the following variables are NOT available in all business rules?

    Answers

    • previous
    • g_scratchpad

    current and GlideSystem are available in every business rule. previous has no earlier values to hold in some business rules, such as those that run on insert, and g_scratchpad is only used in display business rules to pass data to the client.

  90. 90.What do server-side scripts manage?

    Answer

    • Database and backend

    Server-side scripts, such as business rules, script includes and scheduled jobs, run on the server and work with the database and back-end logic. Forms and fields are handled by client-side scripts, and user access by roles and access controls.

  91. 91.Which one of the following objects CANNOT be used in a Script Action script?

    Answer

    • previous

    A script action runs when its event is processed and receives event, with the event's parameters, and current, the record the event was fired for, and it can create GlideRecord objects. There is no previous object, because the script action isn't running as part of a record update.

  92. 92.Which actions can a business rule take without scripting?

    Answer

    • Set field values and add message

    On its Actions tab, a business rule can set field values and show a message to the user without a script. Querying the database, writing to the system log and generating events all need a script.

  93. 93.How can you access data about the user in a Virtual Agent conversation?

    Answers

    • vaSystem.user
    • vaInputs.user

    In Virtual Agent scripts, vaSystem holds system information about the conversation, including the user, and vaInputs holds the values collected during the conversation, which can include the user. There is no vaUser object, and vaVars holds the topic's own script variables.

  94. 94.How can you test a Virtual Agent topic?

    Answers

    • Click the Preview button on the topic list
    • Click the Preview button on the topic record

    A topic can be tried out with the Preview button, which is available both on the topic list and on the topic record and opens a test conversation. There are no Run Active Topics or Preview Active Topics buttons.

  95. 95.Which plugin activates Virtual Agent related plugins?

    Answer

    • Glide Virtual Agent

    Glide Virtual Agent is the core plugin for Virtual Agent, and activating it also activates the related Virtual Agent plugins. The designer and web client are parts of Virtual Agent rather than the plugin that turns it on.

  96. 96.Which topic configuration field does Virtual Agent use to start a conversation on a topic?

    Answer

    • Keywords

    Virtual Agent matches what a user types against each topic's keywords to decide which topic to start. Tags organize topics, the description is informational, and conditions decide whether a topic is available to a user.

Other CAD domains