Awaken Scripting User Guide

Please email helpdesk@awaken.io for omissions or errors.
×
Menu

Sending SMS with JavaScript

 
JavaScript can be used to send an SMS at any time in a Workflow, and can be a quick and easy way to send off messages without agent involvement.
 
This function also allows sending messages to selected Mobile Apps such as WhatsApp, when using an appropriate Connector.
 

How To

Inside any JavaScript-manipulating Field (Calculate, JavaScript, JavaScript - Button), use the function specified below.
 
Simple Syntax
The simple syntax requires a list of parameters:
Script.Sms.Send(connectorType, connectorName, subject, recipients, from, body, defer, callback);
 
Name
Required / Optional
Explanation
connectorType
Required
This is the type of connector to be used, and must be set to a valid connector type such as "connector-sms-twilio" for this function. Connector types can be found in the Connectors module by selecting a connector and referring to the text in the top-right corner.
connectorName
Required
This is the Connector Name of the specified connector that you wish to use to send the SMS.
subject
Optional
This is the subject line of the generated SMS (availability is provider-specific).
recipients
Required
These are any recipients of the generated SMS, provided either as an array of strings, or as a comma- or semicolon-separated string.
from
Optional
This is the number the SMS will appear to be sent from (availability is provider-specific). If not provided, then any default specified in the connector itself will be used.
body
Required
This is the body of the SMS.
defer
Optional
This is the time to defer sending of the SMS to, specified either as a JavaScript date object or a string in the format "YYYY-MM-DD hh:mm:ss". If not provided, then the SMS will be sent immediately.
callback
Optional
This allows the provision of a "callback" function which will be executed once the SMS scheduling attempt has returned, allowing you to react to either successful or failing SMS scheduling.
 
 
Example:
 
Script.Sms.Send(
    "connector-sms-cirrus",
    "Cirrus Example Connector",
    undefined,
    ["+441234567890", "+10987654321"],
    "+441234098765",
    "Please remember that you have an appointment at " + [Time],
    undefined,
    function(response) { if(response.Error != "") { Script.Toast.Error("SMS Failure", response.Error); } }
);
 
 
Alternate Syntax
Since many of the arguments for the above syntax are optional, there is an alternate syntax where a JavaScript object is passed instead. This means that only the desired optional parameters need to be passed:
 
Script.Sms.Send({
    connectorType: "connector-sms-twilio",
    connectorName: "Twilio SMS Example Connector",
    recipients: "+10987654321",
    from: "+441234098765",
    body: "We've raised your issue with an engineer, and your Job ID is " + [var_csSessionID],
    callback: function(response) { if(response.Error != "") { Script.Toast.Error("SMS Failure", response.Error); } }
});
 
 
Any optional parameters that are omitted will use their default value, as stated in the above table. As this is a JavaScript object, the order in which the parameters are listed in this alternate syntax doesn't matter, as long as the key:value pairs are preserved.
 
 

Notes

As multiple duplicate SMS can be queued, it is advised that caution is used if this function is invoked in a Calculate Field, due to the way that Calculate Fields will run every time an action is taken or Field's value is altered.
 
It is also possible to make use of the Script.Message.Send() function to send both SMS and emails.