new ArchActionTransferToAcd(coreTransferToAcdActionViewModel)
The Architect Scripting class for the Transfer to Acd action.
Instances of this action should be created by calling ArchFactoryActions#addActionTransferToAcd
Parameters:
| Name | Type | Description |
|---|---|---|
coreTransferToAcdActionViewModel |
Object | ( Internal ) an Architect core transfer to acd action view model. |
Extends
Members
-
static, readonly displayTypeName :string
-
Returns the display type name string 'ArchActionTransferToAcd'.
-
static, readonly isArchActionTransferToAcd :boolean
-
Returns true indicating that this is an ArchActionTransferToAcd instance.
-
readonly appendSkills :ArchValueBoolean
-
Returns whether or not existing conversation ACD skills should be appended or overwritten. If the runtime value evaluates to true, the skills will be appended. Any other value, false or a NOT_SET boolean, will result in the skills being overwritten. Setting values on this property is only valid when the Transfer to ACD action is in an Inbound Email flow.
-
readonly directAgent :ArchValueUser
-
If specified, this indicates the agent to attempt to route to first and takes priority over
preferredAgentssettings. -
readonly displayTypeNameArchitect :string
-
The Architect action type label
- Inherited From:
-
readonly failureOutputs :ArchNamedValueList
-
List of properties with error information about failed transfers
- Inherited From:
-
readonly failureTransferAudio :ArchAudio
-
The failure transfer audio to play on the call in the even the transfer fails at runtime.
- Inherited From:
-
readonly hasFakeSuccessOutput :boolean
-
Returns true indicating that this action has a fake success output.
- Inherited From:
-
readonly id :string
-
The identifier string for this object.
- Inherited From:
-
readonly idMayBeBlank :string
-
Returns whether or not the id property may be blank or undefined for this object. For example, the returned settings from
ArchMenu#settingsMenuwill have a blank identifier along with the settings returned fromArchMenu#settingsSpeechRec. Note that this is an extremely rare case.- Inherited From:
- See:
-
inQueueHandlingFlowInfo :ArchFlowInfoBasic
-
The in-queue flow that should be used while the call is in the target queue. Note that the setter will also accept an {ArchFlowInfo} instance as well as an {ArchFlowInfoBasic} instance. The in-queue flow needs to be the appropriate in-queue type for the parent flow of this action. For example, if this action was in an inbound call flow, you'd want to use an in-queue call flow info object when calling the setter.
-
readonly inQueueHandlingFlowType :string
-
This reflects the
flow typethat should be used when specifying the flow info supplied to theArchActionTransferToAcd#inQueueHandlingFlowInfoproperty. If no in-queue override flow type is applicable in this action instance, nothing is returned. An example of when an override flow type is not available is when a Transfer to ACD action is used in an Inbound Chat flow since there isn't any In-Queue Chat flow type. -
readonly isArchBaseCoreObject :boolean
-
Returns true indicating that this is an ArchBaseCoreObject instance.
- Inherited From:
-
readonly isMenuChoiceAction :boolean
-
Returns whether or not this action is the action property for a
menu choice. For example, theArchMenuDisconnect#actionDisconnectproperty on anArchMenuDisconnectinstance.- Inherited From:
-
readonly isReachable :boolean
-
Returns whether or not this action is reachable at runtime.
- Inherited From:
-
readonly isSecure :boolean
-
Returns whether or not this action is secure which means either the action by its very nature is secure or it consumes secure data.
- Inherited From:
-
readonly isUnreachable :boolean
-
Returns whether or not this action is unreachable at runtime.
- Inherited From:
-
readonly languageSkill :ArchValueLanguageSkill
-
The language skill for this transfer to acd action.
-
readonly logStr :string
-
A string suitable for logging that contains information about this action. This will contain the action tracking id, name and scripting type name.
- Inherited From:
-
readonly logStrTypeOnly :string
-
This is a string suitable for logging information about this object where it's just the object's type. This is normally used when logging errors that occur in constructor parameter checking because the scripting object isn't set up and the normal logging str contents wouldn't be set up.
- Inherited From:
-
name :string
-
The name of the action
- Inherited From:
-
readonly outputCount :number
-
Returns the number of outputs on this action. For actions that have a fake success output like what you see on the various transfer actions, that will be included in the count to be consistent with the Architect UI. Attempting to get the output count on a menu choice's action such as such as the
ArchMenuTransferToAcd#actionTransferToAcdaction on anArchMenuTransferToAcdmenu will return 0.- Inherited From:
-
readonly outputFailure :ArchActionOutput
-
The failure output for this action
- Inherited From:
-
readonly outputs :Array.<ArchActionOutput>
-
Returns an array of action outputs for this action. Remember that it is possible to have an undefined item in the returned ArchActionOutput array. This is true when the output is "fake". Accessing the outputs on a menu choice's action such as
ArchMenuTransferToAcd#actionTransferToAcdwill return an empty array.- Inherited From:
-
readonly parentFlow :ArchBaseFlow
-
Returns the parent flow for this action.
- Inherited From:
-
readonly parentMenuChoice :ArchBaseMenuChoice
-
Returns the parent menu choice if this action is the action for a
menu choice. Otherwise, nothing is returned.- Inherited From:
-
readonly parentState :ArchState
-
Returns the parent state that contains this action if this action is in a
state. Otherwise, nothing is returned.- Inherited From:
-
readonly parentTask :ArchTask|ArchTaskLoop
-
Returns the parent task that contains this action if this action is in a
taskorlooping task. Otherwise, nothing is returned.- Inherited From:
-
readonly preferredAgents :ArchValueAgentScorePairCollection
-
Returns the agent score pair collection value for this action where you can specify preferred agents on the transfer at runtime. There is a MakeListAgentScorePair function that will combine User and score information in to an AgentScorePair collection at runtime. Similarly there is also a MakeAgentScorePair function which creates an individual instance of an AgentScorePair. Here's example expression text that creates an agent score pair collection from an agent score pair instance created with the User value in the Task.myPreferredAgent variable with a score of 50:
MakeList(MakeAgentScorePair(Task.myPreferredAgent, 50))Or we can use the MakeListAgentScorePair function that will combine two lists together and return an agent score pair collection. For this example we will have another preferred agent User stored in the Task.myAgent2 variable and a routing score for that agent in a Task.myAgent2Score integer variable:
MakeListAgentScorePair(MakeList(Task.myPreferredAgent, Task.myPreferredAgent2), MakeList(50, Task.myAgent2Score)) -
readonly preTransferAudio :ArchAudio
-
The pre transfer audio to play on the call.
- Inherited From:
-
readonly priority :ArchValueInteger
-
The integer priority for this transfer to acd action. The available range of priority values is >= -25000000 and <= 25000000.
-
readonly skills :ArchBaseSkillValuePairs
-
The skills collection for this transfer to acd action.
-
readonly targetQueue :ArchValueQueue
-
The target queue for this transfer action.
-
readonly trackingId :number
-
The integer tracking identifier for this action. This is the numeric identifier is displayed in the Architect user interface.
- Inherited From:
Methods
-
addLiteralBySkillNameAsync(skillName, callbackFunctionopt) → {Promise.<ArchActionTransferToAcd>}
-
This adds a skill by name to this Transfer to Acd action.
Parameters:
Name Type Attributes Description skillNamestring the name of the skill to add. Skill name lookups are performed case sensitively.
callbackFunctioncallbackArchActionTransferToAcd <optional>
a callback function to call if the skill is successfully looked up and configured on this action. The first parameter passed to the callback function will be this transfer to ACD action instance.
Returns:
Promise.<ArchActionTransferToAcd> -
getOutputById(output) → {ArchActionOutput}
-
Gets an output by its identifier. If it cannot be found, this method will throw. Normally you won't need to use this method and will use the helper methods available on inheriting classes when accessing pre-defined outputs like success, failure, timeout, etc. etc. Attempting to get an output by id on a menu choice's action such as the
ArchMenuTransferToAcd#actionTransferToAcdaction on anArchMenuTransferToAcdmenu will return nothing.Parameters:
Name Type Description outputstring | ArchBranch identifies output you want to obtain. If output is an ArchBranch instance, the
ArchBranch#outputIdvalue will be used. Otherwise valid string identifier values can be found inArchEnums#OUTPUT_IDSor can be a guid. Remember that requesting the 'success' output on an action with afake success outputwill return nothing.Returns:
ArchActionOutput- Inherited From:
-
getOutputByIndex(index) → {ArchActionOutput}
-
Returns the output at the given index. It's important to note that on actions that have a fake success output if you request the output at the index for the fake success, you will get nothing returned because the fake success output isn't something that you should do anything with. Attempting to access an output by index on a menu choice's action such as
ArchMenuTransferToAcd#actionTransferToAcdwill return nothing.Parameters:
Name Type Description indexnumber the index of the output to retrieve. This value should be a non-negative integer.
Returns:
ArchActionOutput- Inherited From:
-
getOutputByName(output, wantDynamicOutputopt) → {ArchActionOutput}
-
Gets an output by its identifier. If it cannot be found, this method will throw. Normally you won't need to use this method and will use the helper methods available on inheriting classes when accessing pre-defined outputs like success, failure, timeout, etc. etc. Attempting to get an output by id on a menu choice's action such as the
ArchMenuTransferToAcd#actionTransferToAcdaction on anArchMenuTransferToAcdmenu will return nothing.Parameters:
Name Type Attributes Default Description outputstring | ArchBranch identifies output you want to obtain by name. If output is an ArchBranch instance, the
ArchBranch#namevalue will be used. Remember that requesting the 'Success' output on an action with afake success outputwill return nothing. For non-dynamic outputs, the name should be specified in English.wantDynamicOutputboolean <optional>
false because it is possible for some actions to have both a non-dynamic output and a dynamic output with the same name, this boolean will let you specify which output you want. An example of this would be the built in Failure output on a call bot action but that bot also has an intent named Failure so the action has two outputs with the same name of 'Failure'. Only one of those would be a dynamic output and that's the output for the Failure intent, not the built-in Failure action output.
Returns:
ArchActionOutput- Inherited From:
-
isFilterMatch(archFilterObject) → {boolean}
-
Returns whether or not this Architect Scripting object is a match for the supplied ArchFilterObject instance.
Parameters:
Name Type Description archFilterObjectArchFilterObject the object filter to use to determine if it's a match.
Returns:
boolean- Inherited From:
-
logError(errorStr)
-
Logs an error to the logging service with a log header from this object's
logStrproperty value whenArchLogging#logErrorsis true.Parameters:
Name Type Description errorStrstring the error string to log.
- Inherited From:
-
logErrorAndThrow(errorStr)
-
Logs an error to the logging service with a log header from this object's
logStrproperty value whenArchLogging#logErrorsis true and then throws the string in the errorStr parameter.Parameters:
Name Type Description errorStrstring the error string to log. This should be a non-blank string.
Throws:
- Throws the submitted error string.
- Inherited From:
-
logNote(noteStr)
-
Logs a note to the logging service with a log header from this object's
logStrproperty value whenArchLogging#logNotesis true.Parameters:
Name Type Description noteStrstring the note string to log. This should be a non-blank string.
- Inherited From:
-
logNoteVerbose(noteStr)
-
Logs a note to the logging service with a log header from this object's
logStrproperty value whenArchLogging#logNotesVerboseis true.Parameters:
Name Type Description noteStrstring the note string to log. This should be a non-blank string.
- Inherited From:
-
logWarning(warningStr)
-
Logs a warning to the logging service with a log header from this object's
logStrproperty value whenArchLogging#logWarningsis true.Parameters:
Name Type Description warningStrstring the warning string to log. This should be a non-blank string.
- Inherited From:
-
setLiteralByQueueIdAsync(queueId, callbackFunctionopt) → {Promise.<ArchActionTransferToAcd>}
-
This helper method sets the queue to transfer to by accessing the
ArchActionTransferToAcd#targetQueueproperty and then calls theArchValueQueue#setLiteralByQueueIdAsyncmethod passing the submitted queue identifier through to that method.Parameters:
Name Type Attributes Description queueIdstring the identifier of the queue to set
callbackFunctioncallbackArchActionTransferToAcd <optional>
a callback function to call if the queue is successfully looked up and configured on this action. The first parameter passed to the callback function will be this transfer to ACD action instance.
Returns:
Promise.<ArchActionTransferToAcd> -
setLiteralByQueueNameAsync(queueName, callbackFunctionopt) → {Promise.<ArchActionTransferToAcd>}
-
This helper method sets the queue to transfer to by accessing the
ArchActionTransferToAcd#targetQueueproperty and then calls theArchValueQueue#setLiteralByQueueNameAsyncmethod passing the submitted queue name through that method.Parameters:
Name Type Attributes Description queueNamestring the name of the queue to set
callbackFunctioncallbackArchActionTransferToAcd <optional>
a callback function to call if the queue is successfully looked up and configured on this action. The first parameter passed to the callback function will be this transfer to ACD action instance.
Returns:
Promise.<ArchActionTransferToAcd> -
traverse(callbackFunction, traverseFilteropt) → {number}
-
This method iterates over this object and ArchBaseCoreObject instances within it. For each object it will call the
ArchBaseObject#isFilterMatchmethod with a filter and call the supplied callback function if isMatch returns true. The callback will be passed anArchTraverseInfowith details about the match such as the match object itself along with current contextual information such as the object hierarchy for the match object relative to the object on which this traverse call is being made.The traverse
filteris one which you can create by callingArchFactoryFilters#createFilterObjectand then add desired clauses or clause containers to it. If not specified, this function will use adefault filter.Here is an example that does a simple flow traversal using the default filter and logs information about objects in the callback from the traverse object that's passed back:
archInboundCallFlow.traverse(function(traverseInfo) { archLogging.logNote(' Object : ' + traverseInfo.matchObject.logStr); archLogging.logNote(' Hierarchy: ' + traverseInfo.context.hierarchyStr); });This might be enough for most uses and you can check various aspects about the object in the callback such as "is this an Architect action?" by seeing if traverseInfo.matchObject.isArchBaseAction is true. You can specify a filter for the traversal code to use as well and only have it call your callback when the object's
ArchBaseCoreObject#isFilterMatchmethod returns true for the filter. Here's an example that creates a filter for callbacks onany type of transfer action, anydecision actionor objects whose name property case insensitively matches the word 'foo'. While this could all be done with one property callback clause the example will use multiple clauses for the sake of simplicity:const myTraverseFilter = filterFactory.createFilterObject(archEnums.FILTER_CONTAINER_OPERATORS.or); myTraverseFilter.addClausePropertyValueEquals('isArchBaseActionTransfer', true); myTraverseFilter.addClausePropertyValueEquals('isArchActionDecision', true); myTraverseFilter.addClausePropertyCallback('name', function(propValue, archContainingObject, propName) { // We fully spelled out the function signature above but archContainingObject and propName are // not needed in this case. The archContainingObject is the object that contains the // property and propName is the property name itself. We pass in propName because the same // function could be used for multiple property callback clauses. // Remember to return a boolean true, false or undefined from ths callback. :) return propValue && propValue.toLowerCase() === 'foo'; }); archTask.traverse(function(traverseContext) { // You will only be called back here for ArchBaseCoreObject instances that // have the isArchBaseActionTransfer or isArchActionDecision property values equal to true. }, myTraverseFilter);If you supply a filter with no clauses, this tells the traverse method to call the supplied callback function for every
ArchBaseCoreObjectit traverses.If you want traversal itself to stop after a callback, simply return boolean false from the callback function you supply to the traverse call.
The traverse method does not process deprecated property names such as
orgId,orgNameorlanguageSettings. Additionally it does not traverse in to properties that would "jump out" of the current traversal. An example of this would be if the code was traversing anArchActionJumpToMenuaction that it would not start traversing in to the menu that it jumps to. Another example would be aArchActionChangeStateaction where it would not traverse in to the target state of the action. This also means traversal does not traverse in to theArchBaseValue#flowLevelDefaultproperty.And lastly, as Scripting evolves over time with new versions, you can expect to get callbacks for new object types such as new actions or new properties on objects. As such, it's important not to assume any particular order in callbacks to keep code most compatible with traversal callbacks. Or if you use inequality checks in filter clauses remember that new "stuff" may satisfy an inequality check which may or may not be anticipated in your logic.
Note: This traverse method is a helper method and is very handy for iterating over Architect Scripting objects and their properties in a generic fashion with filtering capabilities. Obviously you can write your own custom traversal code if this implementation doesn't cut it for some reason. :)
This function returns the number of times it called the callback function.
Parameters:
Name Type Attributes Default Description callbackFunctioncallbackTraverseInfo the callback function to call for objects that match the traverse filter.
traverseFilterArchFilterObject <optional>
ArchFactoryFilters#createFilterTraverseDefaultthe filter to use when performing the traversal to determine which
ArchBaseCoreObjectinstances you wish to be called back for. If no filter is specified, this function will callArchFactoryFilters#createFilterTraverseDefaultand use that traversal default filter. The wantArchBaseValues parameter on that call is set to true.Returns:
number- Inherited From:
-
useDefaultInQueueHandling()
-
This configures the Transfer to ACD action to use default in-queue handling. When an instance of a Transfer to ACD action is initially created, that is the default state of the action.