OneFlow nodes

On OneFlow's design area there's a menu with all the flow components. The components are grouped into categories:

 

 

General

On General you have the following nodes available:

 

 

End

End marks the end of a script execution flow. This node is required in every script. All final nodes (reject, assign service, enqueue, dequeue, reenqueue, run script) must point to this node.

 

 

Flow

Allows to run an external flow inside your flow.

 

node_flow.png

On the Flow configuration card:

  • Insert a name, on Label.
  • Select a flow from the drop-down menu.

 


Trace

Sends custom trace messages to the OneContact trace component. You can then view them in the script execution log files.

 

node_trace.png

 On the Trace configuration card:

  • Insert a name, on Label.
  • Insert an expression.

 

 

SetBusinessOutcome

Sets the business outcome for the current contact.

 

node_setbusinessoutcome.png

On the SetBusinessOutcome configuration card:

  • Insert a name, on Label.
  • Select a BusinessOutcome from the drop-down menu.

  

WebTrace

Allows logging to a remote server. It carries the following onformation:

  • Instance name
  • Message (inserted by the user)
  • Node ID
  • Node type
  • Node name
  • sys.CurrentContext_ServiceID
  • sys.CurrentContext_SessionID
  • sys.ANI
  • sys.DNIS
  • sys.DTMFBuffer
  • sys.IMBuffer
Note: The service that receives the remote request has to be prepared to receive these inputs.

 node_webtrace.png

On the WebTrace configuration card:

  • Insert a name, on Label.
  • Insert a Url, on Web Server Url.
  • Insert an expression, on Expression (javascript).

 

Variables

On Variables you have available:

 

 

SetVariable

Computes an expression, storing the result in a variable declared in the begin node.

 

node_setvariables.png

On the SetVariables configuration card:

  • Insert a name, on Label.
  • Click on NEW ASSIGNMENT to expand the configuration card:
    node_setvariables_newassignment.png
  •  On the expanded configuration:
    • Insert a variable name.
    • Insert an expression.
    • Click DELETE to remove the assignment.
    • Click NEW CASE to insert another assignment.
Note: To know more about variables, click here.

 

 

Add Databag

Provides the ability to create/update a value in the session databag object. Each value is identified by a key in the session databag.

node_adddatabag.png

On the Add Databag configuration card:

  • Insert a name, on Label.
  • Click on NEW ASSIGNMENT to expand the configuration card:
    node_adddatabag_EXT.png
  •  On the expanded configuration:
    • Insert a databag name.
    • Insert an expression.
    • Click DELETE to remove the assignment.
    • Click NEW CASE to insert another assignment.

 

Get Databag

Provides the ability to read values from the session databag object. Each value is identified by a key in the session databag.

node_getdatabag.png

On the Get Databag configuration card:

  • Insert a name, on Label.
  • Insert a databag name.
  • Select a variable, from the drop-down menu.

 

Remove Databag

Provides the ability to delete a value from the session databag object.

node_removedatabag.png

On the Get Databag configuration card:

  • Insert a name, on Label.
  • Insert a databag name.

 

 

Control Flow

On Control Flow you have the following nodes available:

 

 

If

Tests a Boolean expression, evaluating to true or false.

If_node.png

On the If node:

Drag the connection, to the desired node, from the if outcome:

  • True
  • False

 

node_if.png

 On the If configuration card:

  • Insert a name, on Label.
  • Insert an expression. 

 

 

 

Switch

Branches execution to one of several “case” selections. Execution is transferred to the node indicated in the sub-element which matches the value of the switch expression.

  

node_switch.png

On the Switch configuration card:

  • Insert a name, on Label.
  • Insert an expression.
  • Click on NEW CASE to expand the Cases configuration:
    node_switch_case.png
  • On the expanded configuration:
    • Insert a value.
    • Click DELETE to remove the inserted value.
    • Click NEW CASE to insert another value.
    • The created cases appear on the switch node to be connected:
      node_switch_node.png

 

 

Calendar

Directs the flow for a given session based on the service schedule information specified in a calendar variable. This variable contains the schedule for working and non-working days, and a list of holidays. Based on this information, the calendar node can direct the flow by testing the current date against the calendar variable.

The test has one of three possible outcomes: 

  • InSchedule,
  • OffSchedule
  • NonWorkingDay

Calendar_node.png

On the Calendar node:

Drag the connection, to the desired node, from the Calendar outcome:

  • Off schedule
  • Non working
  • In Schedule

 

When the date being evaluated is a holiday or not included in one of the specified days, the outcome of the “timetable” node is “Non-Working”. Otherwise, the timetable node will check the times for each rule and determine whether we are “On Schedule” or “Off Schedule”.

node_calendar.png

On the Wait configuration card:

  • Insert a name, on Label.
  • Select a calendar from the drop-down menu.

 

 

Wait

Snoozes the script execution for a time period.

 

node_sleep.png

On the Wait configuration card:

  • Insert a name, on Label.
  • Insert a number (seconds), on Wait.

 

 

 

Call Management

On Call Management you have the following nodes available:

 

 

Assign service

Assigns a session to a given service context. This node must point to the “end” node because it starts a new script execution: the service script. This node is typically used in “initial” scripts.

You can specify one of three alternative identifiers (service id, service name or DNIS) to assign the session to a service. If none is specified, the service DNIS will be used. When more than one is specified, the first one will be used.

The SNI (Service Number Information) parameter is used to keep track of a session’s original entry point into the system when it moves from service to service using “assign service” operations.

This information is recorded in the Reporting Database (ReportQueueInteractionDetail table). If you use the “assign service” node with a DNIS, the SNI value will automatically be filled in with the DNIS value. Alternatively, you can specify some other value if necessary.

 

node_assignservice.png

On the Assign service configuration card:

  • Insert a name, on Label.
  • Select the service to assign to, from the drop-down menu.
    Note: You can select a variable instead of a service.

 

 

Reject

Reject doesn't accept a session. If it is an audio or video session, the corresponding call will be disconnected. This node must point to the “end” node.

 

node_reject.png 

On the Reject configuration card:

  • Insert a name, on Label.
  • Select the SIP response code, from the drop-down menu.

 

 

Transfer

Redirects the session to another address.

node_transfernode.png

On the transfer node:

  • Drag the connection, to the desired node, from the interaction outcome:
    • Connected
    • Invalid Number
    • Rejected
    • Busy
    • No Answer
    • Other

 

node_transfer.png

On the Transfer configuration card:

  • Insert a name, on Label.
  • Insert where to transfer (phone number, email address, ...).
  • Insert the timelimit to interaction transfer.
  • Insert the outgoing address or insert the number of the person from whom we are going to charge the call or the anonymous context (like in an anonymous direct call, the final destination service will not know who the caller is). 
    Note: because the recipient service does not know the origin of the call, a charging number must be indicated when you use "anonymous" , otherwise it will be impossible to charge the call. If this parameter is null or empty the normal service configuration will be read.
  • Insert a string containing data to be passed in the SIP message in an transfer request.

 

 

Enqueue

Asks OneContact’s Router component to place the session in queue. This node must point to the end node because starts a new execution script: the queue script.

With the enqueue node, you can optionally specify a few extra routing parameters such as a skill list, priority, preferred agent and cascade routing.

  

node_enqueue.png

On the Enqueue configuration card:

  • Insert a name, on Label.
  • Insert the priority value (between 0 and 1. Higher values correspond to higher priorities). The default priority level is zero.
  • Insert the preferred agent ID (integer). This parameter can be used to route a session to a specific agent. If specified, this parameter overrides cascade routing rules.
  • Insert the cascade order name to be used for cascade routing. Cascade routing shall be applied if it is configured for the service
  • Click on ADD SKILL to expand the configuration card:
    Flow_addskill.png
  • On the expanded card:
    • Insert a skill name. This sub-element specifies skills to use in the agent selection process.
    • Insert a skill level.
    • Insert the skill weight.
      Note: Click ADD SKILL to add another skill (as much as you need) and click REMOVE to remove the skill.

 

 

Reenqueue

It changes the routing parameters for a session that is already queued.

node_reenqueue.png

On the Reenqueue configuration card:

  • Insert a name, on Label.
  • Insert the priority.
  • Insert the agent id.
  • Insert the Cascade Name.
  • Click ADD SKILL to expand the configuration card:
    Flow_addskill.png
  • On the expanded card:
    • Insert a skill name. This sub-element specifies skills to use in the agent selection process.
    • Insert a skill level.
    • Insert the skill weight.
      Note: Click ADD SKILL to add another skill (as much as you need) and click REMOVE to remove the skill.

 

 

Dequeue

Asks OneContact’s router component to remove the session from the queue.

 

 

 

Events

On Playback you have the following nodes available:

 

 

No Agent

This event is raised only in queue scripts. It is raised when the enqueue operation previously requested in a service script fails because there are no available agents in the service.

node_No_Agent.png

On the No Agent configuration card:

  • Insert a name, on Label.

 

Continue

Performs a play functionality for text, used in Instant messaging (IM) sessions.

node_Continue.png

On the Continue configuration card:

  • Insert a name, on Label.

 

Continue to

Performs a play functionality for text, used in Instant messaging (IM) sessions.

node_ContinueTo.png

On the Continue to configuration card:

  • Insert a name, on Label.

 

Playback

On Playback you have the following nodes available:

 

Say

Performs a play functionality for text, used in Instant messaging (IM) sessions.

 

node_say.png

On the Say configuration card:

  • Insert a name, on Label.
  • Click on NEW CASE to expand the Expressions configuration:
    node_say_expand.png
  • On the expanded configuration:
    • Insert an expression.
    • Click DELETE to remove the expression.
    • Click NEW CASE to insert another expression.

 

 

Play

Plays a media file (video or audio). Media files can play in a loop or for a specified amount of time. Playback can also be interrupted when callers press a given DTMF. This can be used to play a simple announcement or to create an options menu.

 

node_play.png

On the Play configuration card:

  • Insert a name, on Label.
  • Insert an audio file name.
  • Check the box if the audio is to play on loop.
  • Check the box if:
    • Continues to next mode when a key is pressed.
    • After a set number of seconds (insert the value).

  

 

Gather

Collects a sequence of DTMFs from a telephony interaction, while playing two media files. All alphanumeric characters, including "*" and "#", are considered DTMF.

This node is typically used to create an options menu. There are two ways to accept characters on the GetChars node: we can accept a defined number of characters or a sequence of characters (see note below). The "get characters" action will end when the "endsuffix" character is inserted by the customer. This "endsuffix" character can be any one and it is also defined by the developer in the GetChars node.

Because the "*" and "#" symbols are accepted as "endsuffixes", and because they are available in all telephones (unlike the character "A", for example), it is advisable to use them for this function.

The script flow is directed according to the input DTMFs.

The first media file can be used as a simple announcement; it plays only once and is interruptible. DTMFs are not collected while this file is playing.

The second media file should present an options menu. It plays in a loop, collecting DTMFs until one of the following exit conditions holds true:

  • The endsuffix DTMF is pressed, or >
  • A specific DTMF sequence is pressed, or >
  • A certain maximum number of DTMFs is pressed, or >
  • A specified duration timeout elapses.

 

node_gather.png

On the Gather configuration card:

  • Insert a name, on Label.
  • Insert an audio file name.
  • Insert an output to variable.

Insert the conditions where the DMTF gathering ends:

  • Insert the seconds to gather DMTF
                     or
  •  Select a number, from the drop down menu that stops the gathering process
                     or
  • Insert the limit of digits pressed to stop the DMTF gathering.
Note: A sequence of digits ends when a configured number of digits was attained or when the "endsuffix" character was inserted. For instance, if we configure the GetChars node to obtain a 3 digit sequence, if we get "1", the node will still accept more digits; if we get "12", it will still accept more; when we get "123", the Getchars will be overriden, because the limit of 3 configured characters was reached.

 

 

Ask

Performs playback functionality for text, used in Instant messaging (IM) sessions. The prompt node basically sends a text message to the client and awaits a response which can then be retrieved from the IMBuffer system variable. The prompt message can wait for a reply for a specified amount of time. This can be used to play text messaging announcements or to create a text-based options menu for IM interactions.

  

node_ask.png

On the Ask configuration card:

  • Insert a name, on Label.
  • Insert the seconds to wait for an answer.
  • Click on NEW CASE to expand the Expressions configuration:
    node_ask_expand.png
  • On the expanded configuration:
    • Insert an expression.
    • Click DELETE to remove the expression.
    • Click NEW CASE to insert another expression.

  

 

Performs playback functionality for text, used in Instant messaging (IM) sessions. The prompt node basically

Menu_node.png

On the Menu node:

  • Drag the connection, to the desired node, from the menu outcome:
    • No input
    • Invalid Input

 

Menu_config.png

On the Menu configuration card:

  • Insert a name, on Label.
  • Insert an audio file name.
    • Optionally, you can check Audio file per option, to insert an audio file explaining each option instead:
      Menu_config4.png
    • On the Audio per file option configuration you can also insert
      • Visibility condition - An expression that indicates a condition for this option to be available (e.: VIP clients). If the visibility condition isn't met, by the client calling, the option will not be available; the audio will not play and if the client press the button for this option, it will be considered as Invalid Input.
  • Click on NEW OPTION to expand the Menu's configuration:
    Menu_config2.png
  • On the expanded configuration:
    • Select a character from the drop-down menu.
    • Click DELETE to remove the option.
    • Click NEW CASE to insert another option.
    • The created cases appear on the switch node to be connected:
      Menu_config3.png

 

 

 

Recording

On Recording you have the following nodes available:

 

 

Record audio

Records an interaction to an audio file.

 

 

node_recordaudio.png

On the Record audio configuration card:

  • Insert a name, on Label.
  • Insert the seconds to record.

 

 

Record screen

Records an interaction to a video file.

 

node_recordscreen.png

On the Record video configuration card:

  • Insert a name, on Label.
  • Insert the seconds to record.

 

 

 

Contacts

On Contacts you have available:

Reschedule

Change the schedule of a contact to the indicated address, address type, date/time, preferred agent and can be tagged with top priority.

  

node_reschedule.png

 On the Reschedule configuration card:

  • Insert a name, on Label.
  • Insert the minutes to wait until attempt new contact. 
  • Insert the address type for the specified address.
  • Insert the preferred agent to attempt the contact.
  • Top Priority - Indicates that it is required that the contact is tried at the specified date

 

 

  

Email

On Email you have the following nodes available:

 

Send

Performs an automatic send-email operation to a given email address.

 

node_send.png

 On the Send configuration card:

  • Insert a name, on Label.
  • Insert an address, on To.
  • Insert a subject.
  • Insert the email text, on Body.
  • Insert the attachment location.

 

 

Reply

Performs an automatic e-mail reply to the senders list in the “From” e-mail field.

 

node_reply.png

 On the Reply configuration card:

  • Insert a name, on Label.
  • Check the box if it's Reply all instead of Reply.
  • Insert an address, on CC.
  • Insert an address, on BCC.
  • Insert a subject.
  • Insert the email text, on Body.

 

 

Forward

Performs an automatic e-mail forward to a given email address.

 

node_forward.png

On the Forward configuration card:

  • Insert a name, on Label.
  • Insert an address, on TO.
  • Insert an address, on CC.
  • Insert an address, on BCC.
  • Insert a subject.
  • Insert the email text, on Body.

 

 

Integrations

On Integrations you have available:

Webservice

Allows you to call a method from a remote web service, by specifying a URL and input parameters. When this node is reached during the script execution, the OneContact script engine will submit the parameters to the specified URL and await the result.

 

node_webservice.png

On the Switch configuration card:

  • Insert a name, on Label.
  • Insert a URL.
  • Insert a method.
  • Insert the content type.
  • Insert the timeout value (seconds).
  • Click on ADDNEWPARAMETER to expand the Parameters configuration:
    node_webservice_parameters.png
  • On the expanded configuration:
    • Insert a parameter name.
    • Insert a expression.
    • Click DELETE to remove the parameter.
    • Click ADDNEWPARAMETER to insert another value.

  

 

 

Bot

On Email you have the following nodes available:

 

Check Intent

It's a node that integrates with Microsoft LUIS and it allows you to check the intent in the customer's sentence.

node_CheckIntent.png

On the Check Intent configuration card:

  • Insert a LUIS URL:
    1. Click on Publish:
      Congif_-_LUIS01.png

    2. Click on PUBLISH:
      LUIS02.png

    3. Copy the URL from the Endpoint:
      LUIS03.png

  • Click on NEW INTENT to expand the Parameters configuration:
    node_GetIntentEXT.png
  • On the expanded configuration:
    • Insert an intent.
    • Click DELETE to remove the intent.
    • Click NEW INTENT to insert another intent.

 

 

Get Parameter

It's a node that integrates with Microsoft LUIS and it allows you to extract a parameter from the customer's sentence.

node_GetParameter.png

On the Get Parameter configuration card:

  • Insert a LUIS URL (same as Check Intent).
  • Insert an entity name.
  • Click on Other, on Entity Type, to change the entity type to range date and select if it's start ou end date.
  • Insert the concatenation phrase (it might be required to concatenate a phrase to the one said by the customer. E.g. After asking the client the check in date, client replies Tomorrow. To make sure LUIS knows it's a check in date, the phrase must be Check in tomorrow).
  • Insert the output variable. This is a string variable that receives the LUIS reply.
  • Insert a question.
  • Click DELETE to remove the question.
  • Click NEW Case to insert another question.

 

 

Dialog Flow Bot

Connects the flow to the DialogFlow application.

node_DialogFlowBot.png

On the Dialog Flow Bot configuration card:

  • Insert an output variable (a string variable created on OneFlow; click here, for more information).
  • Insert a client key:
    Config_DialogFlow.pngnode_VoiceAuthentication.png

On the Voice Authentication configuration card:

  • Insert a question to authenticate the client through his reply. 
  • Insert a Repeat Question to authenticate the client if the first question failed to authenticate.

 

Have more questions? Submit a request