---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NotifyNow (Legacy) - Global

# NotifyNow (Legacy) - Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 12 minutes to read

The legacy NotifyNow API provides functionality for sending emails,
sending SMS messages, and setting up conference calls.  
Use this when you want to use Notify functionality with applications on your system.  
Note:  
This API is included with the legacy Notify functionality. For APIs included in the current Notify feature, see the Notify, NotifyAction, NotifyPhoneNumber, and NotifyClient APIs.

## NotifyNow - addConferenceCallParticipant(String conferenceCall, String participant) {#ariaid-title2}

Adds ad-hoc users to an ongoing conference call.
When the method is called with a phone number for the participant parameter and there is
exactly one sys_user record that matches the phone number, that sys_user record will be
related to the participant. The participant's phone number field will be left blank because
the phone number is in the sys_user record. If there are several sys_user records that match
the phone number, or if there are no results, the participant's phone number field will be
filled in, and there will be no stored reference to sys_user because the user is not
known.
{#r_NN-addConfCallParticipant-S_S__table_bqd_kzd_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| conferenceCall | String or GlideRecord | The sys_id or GlideRecord of an active conference call. |
| participant | String or GlideRecord | The sys_id or GlideRecord of a user with an E.164-compliant phone number, or an E.164-compliant phone number. |
[Table 1. Parameters]

{#r_NN-addConfCallParticipant-S_S__table_bqd_kzd_vt} {#r_NN-addConfCallParticipant-S_S__table_cqd_kzd_vt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | The participant record of the new participant that was added to the conference call. |
[Table 2. Returns]

{#r_NN-addConfCallParticipant-S_S__table_cqd_kzd_vt}  

    // add a new participant by conference call sys_id (string) and phone number (string) 
    var nn = new SNC.NotifyNow();
    gs.log(nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', '+31612345678'));

    // add a new participant by conference call sys_id (string) and user record (GlideRecord)
    var user = new GlideRecord('sys_user');
    user.query('user_name', 'myUserName');
    if (user.hasNext() && user.next()) {
        var nn = new SNC.NotifyNow();
        gs.log(nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', user));
     
        // you could have added the user by sys_id as well:
        // nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', user.getValue('sys_id'));
    } else {
        gs.log('no such user');
    }

    // add a new participant by conference call record (GlideRecord) and phone number (string)
    var conferenceCall = new GlideRecord('notifynow_conference_call');
    conferenceCall.query('title', 'IA0001001');
    if (conferenceCall.hasNext() && conferenceCall.next()) {
        var nn = new SNC.NotifyNow();
        gs.log(nn.addConferenceCallParticipant(conferenceCall, '+31612345678'));
    } else {
        gs.log('no such conference call');
    }

## NotifyNow - convertLocalPhoneNumberToE164(String userID, String phoneNumber) {#ariaid-title3}

Converts a local phone number to an E.164-compliant phone number based on a user's
location.
{#r_NN-convertLocNumToE164_S_S__table_wv2_b22_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| userID | String | The sys_id of a sys_user record to get location information from. |
| phoneNumber | String | The phone number. |
[Table 3. Parameters]

{#r_NN-convertLocNumToE164_S_S__table_wv2_b22_vt} {#r_NN-convertLocNumToE164_S_S__table_xv2_b22_vt__entry__2}

| Type | Description |
|-|-|
| String | The E.164-compliant phone number. |
[Table 4. Returns]

{#r_NN-convertLocNumToE164_S_S__table_xv2_b22_vt}  

    var localPhoneNumber = '01784 221600';
    var userName = 'Heath Vanalphen';
     
    var user = new GlideRecord('sys_user');
    user.get('name',userName);
    var E164Number = new SNC.NotifyNow().convertLocalPhoneNumberToE164(user.getUniqueValue(), localPhoneNumber);
    gs.log('converted: ' + localPhoneNumber + ' to ' + E164Number + ' based on ' + user.getValue('name') + 
         '\'s location (' + user.getValue('location') + ')');

## NotifyNow - getConferenceCallParticipants(String conferenceCallId, Boolean
isCallable) {#ariaid-title4}

Returns all participants for a conference call.
{#r_NN-getConfCallParticipants_S_B__table_ff3_l12_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| conferenceCallId | String | The ID of the conference call. |
| isCallable | Boolean | An optional flag to return either only the users you can call (true) or those you cannot call (false). |
[Table 5. Parameters]

{#r_NN-getConfCallParticipants_S_B__table_ff3_l12_vt} {#r_NN-getConfCallParticipants_S_B__table_gf3_l12_vt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | The participants |
[Table 6. Returns]

{#r_NN-getConfCallParticipants_S_B__table_gf3_l12_vt}  

    var nn = new SNC.NotifyNow();
    var user = nn.getConferenceCallParticipants('c2e91710eb120100f34087b9d106fe37');
     
    while (user.hasNext() && user.next()) {
        if (user.getValue('participant')) {
            gs.log('user: ' + user.getValue('sys_id'));
        } else {
            gs.log('phone number: ' + user.getValue('phone_number'));
        }
    }

    var nn = new SNC.NotifyNow();
    var user = nn.getConferenceCallParticipants('c2e91710eb120100f34087b9d106fe37', true);
     
    while (user.hasNext() && user.next()) {
        if (user.getValue('participant')) {
            gs.log('user: ' + user.getValue('sys_id'));
        } else {
            gs.log('phone number: ' + user.getValue('phone_number'));
        }
    }

    var conferenceCallId = '32b11430eb1201003cf587b9d106feb8';
     
    // get all participants
    gs.log('all conference call participants:');
    var nn = new SNC.NotifyNow();
    var user = nn.getConferenceCallParticipants(conferenceCallId);
    gs.log(user);
     
    // get all callable participants
    gs.log('all conference call participants we can call:');
    user = nn.getConferenceCallParticipants(conferenceCallId, true);
    gs.log(user);
     
    // get all un callable participants
    gs.log('all conference call participants that are already in an active session and whom we cannot call:');
    user = nn.getConferenceCallParticipants(conferenceCallId, false);
    gs.log(user);

## NotifyNow - getFrequentlyCalledUsers(Number limit) {#ariaid-title5}

Returns a number of frequently-called users, up to the limit parameter, in alphabetical
order.
{#r_NN-getFrequentlyCalledUsers_N__table_av3_xb2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| limit | Number | The maximum number of results. |
[Table 7. Parameters]

{#r_NN-getFrequentlyCalledUsers_N__table_av3_xb2_vt} {#r_NN-getFrequentlyCalledUsers_N__table_bv3_xb2_vt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | The frequently called users in alphabetical order. |
[Table 8. Returns]

{#r_NN-getFrequentlyCalledUsers_N__table_bv3_xb2_vt}  

    var nn = new SNC.NotifyNow();
    var fc = nn.getFrequentlyCalledUsers(10);
     
    while (fc.hasNext() && fc.next()) {
        gs.log("got user " + fc.getValue('name') + ' - ' + fc.getValue('sys_id'));
    }

## NotifyNow - getPreferredE164SMSNumber(GlideRecord user) {#ariaid-title6}

Returns a user's preferred E.164-compliant phone number for SMS messages.
{#r_NN-getPreferredE164SMSNumber_GR__table_pl2_tz2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| user | GlideRecord or String | The user record or the sys_id of a user to get the E.164-compliant phone number from. |
[Table 9. Parameters]

{#r_NN-getPreferredE164SMSNumber_GR__table_pl2_tz2_vt} {#r_NN-getPreferredE164SMSNumber_GR__table_ql2_tz2_vt__entry__2}

| Type | Description |
|-|-|
| String | The E.164-compliant phone number or null. |
[Table 10. Returns]

{#r_NN-getPreferredE164SMSNumber_GR__table_ql2_tz2_vt}  

    var userID = "<user sys_id>";
    var E164Number = new SNC.NotifyNow().getPreferredE164SMSNumber(userID);
    gs.log('the preferred phone number for sending SMS notifications is ' + E164Number + ' for user with id: ' + userID);

## NotifyNow - getPreferredE164VoiceNumber(GlideRecord user) {#ariaid-title7}

Returns a user's preferred E.164-compliant phone number for voice calls.
{#r_NN-getPrefE164VoiceNumber_GR__table_pl2_tz2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| user | GlideRecord or String | The user record or the sys_id of a user to get the E.164-compliant phone number from. |
[Table 11. Parameters]

{#r_NN-getPrefE164VoiceNumber_GR__table_pl2_tz2_vt} {#r_NN-getPrefE164VoiceNumber_GR__table_ql2_tz2_vt__entry__2}

| Type | Description |
|-|-|
| String | The E.164-compliant phone number or null. |
[Table 12. Returns]

{#r_NN-getPrefE164VoiceNumber_GR__table_ql2_tz2_vt}  

    var userID = "<user sys_id>";
    var E164Number = new SNC.NotifyNow().getPreferredE164VoiceNumber(userID);
    gs.log('the preferred phone number for setting up voice calls is ' + E164Number + ' for user with id: ' + userID);

## NotifyNow - getPreferredEmailAddress(GlideRecord user) {#ariaid-title8}

Returns a user's preferred email address
{#r_NN-getPreferredEmailAddress_GR__table_pl2_tz2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| user | GlideRecord or String | The user record or the sys_id of a user to get the email address from. |
[Table 13. Parameters]

{#r_NN-getPreferredEmailAddress_GR__table_pl2_tz2_vt} {#r_NN-getPreferredEmailAddress_GR__table_sqx_lbf_vt__entry__2}

| Type | Description |
|-|-|
| String | The email address or null. |
[Table 14. Returns]

{#r_NN-getPreferredEmailAddress_GR__table_sqx_lbf_vt}  

    var userID = "some user sys id";
    var email = new SNC.NotifyNow().getPreferredEmailAddress(userID);
    gs.log('the preferred email address for sending email notifications is ' + email + ' for user with id: ' + userID);

## NotifyNow - getReadyState() {#ariaid-title9}

Indicates whether Notify is set up correctly or not.
This method can only be accessed by administrators or users with the notifynow_admin role.
Users with all other roles get the message False when trying to run the function in a
script.
{#r_NN-getReadyState__table_vtn_bd2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 15. Parameters]

{#r_NN-getReadyState__table_vtn_bd2_vt} {#r_NN-getReadyState__table_wtn_bd2_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | True if Notify is set up correctly, otherwise false. |
[Table 16. Returns]

{#r_NN-getReadyState__table_wtn_bd2_vt}  

    var nn = new SNC.NotifyNow();
    gs.log(((nn.getReadyState()) ? "OK" :  "NOT OK"));

## NotifyNow - getStatus() {#ariaid-title10}

Returns the current status of Notify configuration.
This method can only be accessed by administrators or users with the notifynow_admin role.
Users with all other roles get the message Unauthorized when trying to run the function in a
script.
{#r_NN-getStatus__table_txg_fc2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 17. Parameters]

{#r_NN-getStatus__table_txg_fc2_vt} {#r_NN-getStatus__table_uxg_fc2_vt__entry__2}

| Type | Description |
|-|-|
| String | One of the possible status messages. |-|-| | Status | Description | | NO_NUMBER_MESSAGE | The account does not have a telephone number set up. Ensure that you set up the telephone number for the account. | | NO_ENDPOINTS_MESSAGE | The account does not have its endpoints set up correctly. Ensure that you set up the endpoints for the account. | | ACCOUNT_OK_MESSAGE | The account is active and ready for use. | | ACCOUNT_NO_AUTH | The Twilio AuthToken is not valid. | | ACCOUNT_NOT_CONFIGURED | The Twilio AccountSID or AuthToken is not valid. | [ ] {#r_NN-getStatus__table_gdb_jc2_vt} |
[Table 18. Returns]

{#r_NN-getStatus__table_uxg_fc2_vt}  

    var nn = new SNC.NotifyNow();
    gs.log(nn.getStatus());

## NotifyNow - initiateConferenceCall(String\[\] conferenceCallParticipants, String
conferenceCallTitle) {#ariaid-title11}

Initiate a new conference call.
{#r_NN-initiateConfCall_S_S__table_gvb_hyd_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| conferenceCallParticipants | String | One or more users, conference call participants, identified by the sys_ids from the sys_user table or E.164-compliant phone numbers. |
| conferenceCallTitle | String | Title of the conference call. This parameter has a maximum length of 40 characters. |
[Table 19. Parameters]

{#r_NN-initiateConfCall_S_S__table_gvb_hyd_vt} {#r_NN-initiateConfCall_S_S__table_hvb_hyd_vt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | The conference call record, or null if there was an error. |
[Table 20. Returns]

{#r_NN-initiateConfCall_S_S__table_hvb_hyd_vt}  
This initiates a conference call with E.164-compliant phone numbers for participants,
without the optional source record parameter and and does not send any conference call
details via SMS or email.

    var participants = ['+31205655548', '+31205655552', '+31652825393'];
    // set up conference call
    var nn = new SNC.NotifyNow();
    var conferenceCall = nn.initiateConferenceCall(participants, "testing12");
    gs.log('started conference call: ' + conferenceCall.getUniqueValue());

## NotifyNow - initiateConferenceCall(String\[\] conferenceCallParticipants, String
conferenceCallTitle, GlideRecord sourceRecord, Boolean private) {#ariaid-title12}

Initiate a new conference call.
{#r_NN-initiateConfCall_S_S_GR_B__table_gvb_hyd_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| conferenceCallParticipants | String | One or more users, conference call participants, identified by the sys_ids from the sys_user table or E.164-compliant phone numbers. |
| conferenceCallTitle | String | Title of the conference call. This parameter has a maximum length of 40 characters. |
| sourceRecord | GlideRecord | Source record to associate to the conference call such as an incident or problem number. |
| private | Boolean | Value to control if a conference call is private. This value defaults to false. |
[Table 21. Parameters]

{#r_NN-initiateConfCall_S_S_GR_B__table_gvb_hyd_vt} {#r_NN-initiateConfCall_S_S_GR_B__table_hvb_hyd_vt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | The conference call record, or null if there was an error. |
[Table 22. Returns]

{#r_NN-initiateConfCall_S_S_GR_B__table_hvb_hyd_vt}  
This initiates a conference call with participants that have a E.164-compliant phone number
and participants from the sys_user table and sends conference call details via SMS and email
to all participants.

    // define phone number participants
    var participants = ['+31205655548', '+31205655552', '+31652825393'];
     
    // we also want to add two Dutch sys_user participants
    var user = new GlideRecord('sys_user');
    user.addNotNullQuery('mobile_phone');
    user.addQuery('mobile_phone', 'STARTSWITH', '+316');
    user.setLimit(2);
    user.query();
     
    // add users to the participant array
    while (user.hasNext() && user.next()) {
    	gs.log('adding user ' + user.getValue('name') + ' with phone number ' + 
                 user.getValue('mobile_phone') + ' to the participant array');
    	participants.push(user.getUniqueValue());
    }
     
    // define a source record to associate with the conference call
    var source = new GlideRecord("cmdb_ci");
    source.query("asset_tag", "P1000167");
    if (source.hasNext() && source.next()) {
    	// set up conference call
    	var nn = new SNC.NotifyNow();
    	var conferenceCall = nn.initiateConferenceCall(participants, "testing 1 2", source);
     
    	// check if the conference call was successfully created
    	if (conferenceCall != null) {
    		gs.log('started conference call: ' + conferenceCall.getUniqueValue());
    	} else {
    		gs.log('could not start the conference call :(');
    	}
    }

## NotifyNow - isCallable(String participant) {#ariaid-title13}

Determines whether a user is callable or not.
A user must have a valid phone number to be callable. A user who is already in an active
session is not callable.
{#r_NN-isCallable_S__table_z3r_pb2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| participant | String or GlideRecord | A sys_user or notifynow_participant record, or an E.164-compliant phone number. |
[Table 23. Parameters]

{#r_NN-isCallable_S__table_z3r_pb2_vt} {#r_NN-isCallable_S__table_ajr_pb2_vt__entry__2}

| Type | Description |
|-|-|
| boolean | Whether this participant can be called or not. |
[Table 24. Returns]

{#r_NN-isCallable_S__table_ajr_pb2_vt}  

    var nn = new SNC.NotifyNow();
    gs.log('by number: ' + nn.isCallable('+31612345678'));
     
    var user = GlideRecord('sys_user');
    user.query('sys_id', '13d39544eb5201003cf587b9d106fea9');
    if (user.hasNext() && user.next())
      gs.log('by user: ' + nn.isCallable(user));
     
    var participant = GlideRecord('notifynow_participant');
    participant.query('sys_id', '33b11430eb1201003cf587b9d106feb9');
    if (participant.hasNext() && participant.next())
      gs.log('by participant: ' + nn.isCallable(participant));

## NotifyNow - isSMSCapable() {#ariaid-title14}

Checks if the telephone number associated with the Twilio account is capable of sending
SMS messages.
{#r_NN-isSMSCapable__table_zp5_nf2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 25. Parameters]

{#r_NN-isSMSCapable__table_zp5_nf2_vt} {#r_NN-isSMSCapable__table_aq5_nf2_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | Whether the telephone number associated with the Twilio account is capable of sending SMS messages. |
[Table 26. Returns]

{#r_NN-isSMSCapable__table_aq5_nf2_vt}  

    gs.log('The twilio number is SMS capable: ' + ((new SNC.NotifyNow().isSMSCapable()) ? 'yes' : 'no'));

## NotifyNow - isSMSCapable(String userID) {#ariaid-title15}

Checks if a user is able to send SMS messages.
{#r_NN-isSMSCapable_S__table_i1m_cf2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| userID | String | The sys_id of the user you want to check for an SMS-capable phone number. |
[Table 27. Parameters]

{#r_NN-isSMSCapable_S__table_i1m_cf2_vt} {#r_NN-isSMSCapable_S__table_j1m_cf2_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | If the user can send SMS messages. |
[Table 28. Returns]

{#r_NN-isSMSCapable_S__table_j1m_cf2_vt}  

    gs.log('the user is able to send SMS messages (e.g. has a SMS device): ' + ((new SNC.NotifyNow().isSMSCapable('<user sys_id>')) ? 
         'yes' : 'no'));

## NotifyNow - isVoiceCapable() {#ariaid-title16}

Checks if the telephone number associated with the Twilio account is capable of setting
up phone calls.
{#r_NN-isVoiceCapable__table_ct2_qg2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 29. Parameters]

{#r_NN-isVoiceCapable__table_ct2_qg2_vt} {#r_NN-isVoiceCapable__table_dt2_qg2_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | Whether the telephone number associated with the Twilio account is capable of setting up phone calls. |
[Table 30. Returns]

{#r_NN-isVoiceCapable__table_dt2_qg2_vt}  

    gs.log('the Twilio number is Voice capable: ' + ((new SNC.NotifyNow().isVoiceCapable()) ? 'yes' : 'no'));

## NotifyNow - isVoiceCapable(String userID) {#ariaid-title17}

Checks if a user is able to make voice calls.
{#r_NN-isVoiceCapable_S__table_gdb_jg2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| userID | String | The sys_id of the user you want to check for a voice-call capable phone number. |
[Table 31. Parameters]

{#r_NN-isVoiceCapable_S__table_gdb_jg2_vt} {#r_NN-isVoiceCapable_S__table_hdb_jg2_vt__entry__2}

| Type | Description |
|-|-|
| boolean | Whether the user has a voice-call capable phone number. |
[Table 32. Returns]

{#r_NN-isVoiceCapable_S__table_hdb_jg2_vt}  

    gs.log('the user is able to send SMS messages (e.g. has a SMS device): ' + 
         ((new SNC.NotifyNow().isVoiceCapable('someuserid')) ? 'yes' : 'no'));

## NotifyNow - kick(GlideRecord participant) {#ariaid-title18}

Removes a participant from a conference call.
{#r_NN-kick_GR__table_jfq_fcf_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| participant | GlideRecord | The conference call participant to remove from the call. |
[Table 33. Parameters]

{#r_NN-kick_GR__table_jfq_fcf_vt} {#r_NN-kick_GR__table_kfq_fcf_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | True if the participant was removed, otherwise false. |
[Table 34. Returns]

{#r_NN-kick_GR__table_kfq_fcf_vt}  

    var participantId = "<participant sys_id>";
    var participant = new GlideRecord('notifynow_participant');
    participant.get(participantId);
    if (participant.isValid()) {
         // kick participant
         result = new SNC.NotifyNow().kick(participant);
         gs.log('participant kicked: ' + result);
    }

## NotifyNow - mute(GlideRecord participant) {#ariaid-title19}

Mutes a participant on a conference call.
{#r_NN-mute_GR__table_lz4_rbf_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| participant | GlideRecord | The conference call participant to mute. |
[Table 35. Parameters]

{#r_NN-mute_GR__table_lz4_rbf_vt} {#r_NN-mute_GR__table_mz4_rbf_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | True if the participant was muted, otherwise false. |
[Table 36. Returns]

{#r_NN-mute_GR__table_mz4_rbf_vt}  

    var participantId = "<participant sys_id>";
    var participant = new GlideRecord('notifynow_participant');
    participant.get(participantId);
    if (participant.isValid()) {
         // mute participant
         result = new SNC.NotifyNow().mute(participant);
         gs.log('participant muted: ' + result);
    }

## NotifyNow - sendEmailQuestion(String emailAddress, String question, GlideRecord
sourceRecord, String emailSubject) {#ariaid-title20}

Send an email question to an email address.
The sendEmailQuestion method produces a question body and requires users to click a link to
indicate their choice.
{#r_NN-sendEmailQuestion_S_S_GR_S__table_g5f_fy2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| emailAddress | String | Email address to send the question to. |
| question | String or GlideRecord | The question record to send or the sys_id of a question record. |
| sourceRecord | GlideRecord | An optional source record to associate to the SMS question, such as an incident. |
| emailSubject | String | Optional text to override the default email subject. |
[Table 37. Parameters]

{#r_NN-sendEmailQuestion_S_S_GR_S__table_g5f_fy2_vt} {#r_NN-sendEmailQuestion_S_S_GR_S__table_h5f_fy2_vt__entry__2}

| Type | Description |
|-|-|
| String | The conversation sys_id. |
[Table 38. Returns]

{#r_NN-sendEmailQuestion_S_S_GR_S__table_h5f_fy2_vt}  
This example demonstrates using the default email subject.

    var user = GlideRecord("sys_user");
    user.get("email", "someone@somedomain.com");
     
    new SNC.NotifyNow().sendEmailQuestion(user.getValue('email'), "b6b34500bf3111003cf585ce2c0739ce", user);

This example uses dot-walking and specifies a source record and email subject.

    new SNC.NotifyNow().sendEmailQuestion("someone@somedomain.com", "b6071733bf1111003cf585ce2c07390f", current, 
            "Please answer this question");

This example uses dot-walking and specifies an email subject but no source record.

    new SNC.NotifyNow().sendEmailQuestion("someone@somedomain.com", "b6071733bf1111003cf585ce2c07390f", 
            "Please answer this question");

## NotifyNow - sendSMS(String phoneNumber, String smsBody) {#ariaid-title21}

Sends an SMS message to an E.164-compliant mobile phone number.
Notify supports international numbers. Using this method with a number that does not
support sending SMS messages results in an error being logged.
{#r_NN-sendSMS_S_S__table_vvk_pwd_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| phoneNumber | String | The E.164-compliant phone number to send the message to. |
| smsBody | String | The message to send, maximum 1600 characters. |
[Table 39. Parameters]

{#r_NN-sendSMS_S_S__table_vvk_pwd_vt} {#r_NN-sendSMS_S_S__table_wvk_pwd_vt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 40. Returns]

{#r_NN-sendSMS_S_S__table_wvk_pwd_vt}  

    new SNC.NotifyNow().sendSMS("+31612345678", "This is a message without source record");

## NotifyNow - sendSMS(String phoneNumber, String smsBody, GlideRecord source) {#ariaid-title22}

Sends an SMS message to an E.164-compliant mobile phone number.
Notify supports international numbers. Using this method with a number that does not
support sending SMS messages results in an error being logged.

See also: [Advanced configuration for
SMS](https://www.servicenow.com/docs/access?context=t_ConfigureNotifyforVoiceandSMS&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US).
{#r_NN-sendSMS_S_S_GR__table_vvk_pwd_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| phoneNumber | String | The E.164-compliant phone number to send the message to. |
| smsBody | String | The message to send, maximum 1600 characters. |
| source | GlideRecord | The source record to associate with this SMS message. |
[Table 41. Parameters]

{#r_NN-sendSMS_S_S_GR__table_vvk_pwd_vt} {#r_NN-sendSMS_S_S_GR__table_jmh_dxd_vt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 42. Returns]

{#r_NN-sendSMS_S_S_GR__table_jmh_dxd_vt}  

    var source = new GlideRecord("my_table");
    source.query("my_field", "my_value");

    if (source.hasNext() && source.next()) {
        // send a text message
        var nn = new SNC.NotifyNow();
        var message = "this is just a test";
        var number = "+31612345678";
        nn.sendSMS(number, message, source);
    }

This example uses dot-walking and the current record as the source record.

    new SNC.NotifyNow().sendSMS("+31612345678", "this is a test", current);

## NotifyNow - sendSMSQuestion(String phoneNumber, String question, GlideRecord
sourceRecord) {#ariaid-title23}

Sends an SMS question.
{#r_NN-sendSMSQuestion_S_S_GR__table_rlx_jx2_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| phoneNumber |   | An E.164-compliant phone number to send the message to. |
| question | String or GlideRecord | The question record to send or the sys_id of a question record. |
| sourceRecord |   | An optional source record to associate to the SMS question, such as an incident. |
[Table 43. Parameters]

{#r_NN-sendSMSQuestion_S_S_GR__table_rlx_jx2_vt} {#r_NN-sendSMSQuestion_S_S_GR__table_slx_jx2_vt__entry__2}

| Type | Description |
|-|-|
| String | The conversation sys_id, or null if the SMS was not sent successfully. |
[Table 44. Returns]

{#r_NN-sendSMSQuestion_S_S_GR__table_slx_jx2_vt}  

    var question = new GlideRecord("notifynow_question");
    question.query();
     
    // get the first question
    if (question.hasNext() && question.next()) {
    	// send the sms question
            var number = "+31612345678";
    	var nn = new SNC.NotifyNow();
    	nn.sendSMSQuestion(number, question.getUniqueValue(), current);
    }

## NotifyNow - umute(GlideRecord participant) {#ariaid-title24}

Unmutes a participant on a conference call.
{#r_NN-umute_GR__table_upz_zbf_vt__entry__3}

| Name | Type | Description |
|-|-|-|
| participant | GlideRecord | The muted conference call participant to unmute. |
[Table 45. Parameters]

{#r_NN-umute_GR__table_upz_zbf_vt} {#r_NN-umute_GR__table_vpz_zbf_vt__entry__2}

| Type | Description |
|-|-|
| Boolean | True if the participant was unmuted, otherwise false. |
[Table 46. Returns]

{#r_NN-umute_GR__table_vpz_zbf_vt}  

    var participantId = "<participant sys_id>";
    var participant = new GlideRecord('notifynow_participant');
    participant.get(participantId);
    if (participant.isValid()) {
         // unmute participant
         result = new SNC.NotifyNow().unmute(participant);
         gs.log('participant unmuted: ' + result);
    }


