Scripted templates

reference australia Updated Sep 10, 2026 2 min read r_ScriptedTemplates.md
Raw file servicenow.com

You can apply an active template to a record using JavaScript.

Apply a template to current

To apply a template, use the applyTemplate method.

JavaScript
current.applyTemplate("<templatename>");

Apply a template to a GlideRecord

To apply the template to a record other than current, change current to a GlideRecord variable. When using a GlideRecord variable, you may need to initialize it after declaring the variable.

JavaScript
var rec1 = new GlideRecord("incident");rec1.initialize();rec1.applyTemplate("my_incident_template");

Apply a template from a UI action

The following script demonstrates a possible customization to the Create Change UI action on the Problem form. After you add this script to the UI action, a user can select the UI action to create a change record with information from both the problem record and the change template.

JavaScript
var change = new GlideRecord("change_request");change.initialize();change.short_description = current.short_description;change.description = current.u_details;change.cmdb_ci = current.u_service;change.priority = current.priority;change.requested_by = current.caller_id;change.assignment_group.setDisplayValue('Change & Release');change.u_status = 'New';change.parent = current.number;change.applyTemplate("standard_rfc");current.rfc = change.insert();current.comments = 'Change ' + change.number + ' created.';
var mySysID = current.update();
gs.addInfoMessage("Change " + change.number + " created");action.setRedirectURL(change);action.setReturnURL(current);

Script a template with child templates

When using applyTemplate with a template that has one or more child templates, the system creates the parent record before applying the child templates. This behavior ensures that any references or dot-walked fields from the child record to the parent have a valid target.

For example, if a template for the Change Request table has a child template for the Change Task table, applying the Change Request template inserts a Change Request record into the database. It assigns this record as the Change request for the Change Task record, then applies the child template to the Change Task record.

Apply a template using a sys_id instead of a name

To apply a template using a sys_id, use the following method.

JavaScript
GlideTemplate.get(template.sys_id).apply(GlideRecord)

Parent Topic:Using form templates

Related topics

Create a template using the Template form

Create templates for related task records

Create a template by saving a form

Schedule record creation from a template

Create a module for a template

Template bar

Toggle the template bar

Search documentation
Search document titles and file paths on the australia branch