A user type with greater permission levels than a User-type user. Admin users can make changes to other users within their OneReach account and can override flow activations.

Action Desk

The Action Desk product is a versatile tool for creating web apps that can be integrated with the rest of Communication Studio. An Action Desk dashboard consists of a View populated with Cards. This product is frequently used to create reporting and monitoring dashboards. OneReach’s proprietary Live Agent interface was created using Action Desk.

Activate a flow

Activation makes the flow available for execution by compiling and deploying the source code, thus enabling the flow trigger(s). A flow must be activated in order to be triggered and executed. To activate a flow, click on the Activate button while in read-only mode, or click Save and Activate in edit mode after making changes to a flow. Activation can fail due to errors in custom code, incorrect or missing step configurations, and/or previously existing flows with triggers that would match the new flow’s triggers.

Amazon Polly

Amazon Polly is a third-party service that turns text into lifelike speech. OneReach’s default text-to-speech engine runs on Amazon Polly.


API stands for Application Programming Interface. In the OneReach platform, RESTful APIs are used to connect to and integrate with third-party services over HTTP. This can be accomplished in a variety of ways, the simplest being the Make API Request step. The OneReach Bot Designer can also be used to create APIs, through use of the HTTP gateway and response steps in a flow.


See Dialogflow.

Asset Manager

A tool in the Files and Data product that allows a user to upload and access files and organize them into a folder structre.



In a Voice flow, barge-in is the ability to interrupt a system prompt with a voice or DTMF (keypad) input. When enabled, barge-in allows callers in the IVR to interrupt the spoken prompt and make a selection instead of waiting through all of the menu options. This feature is best used when you have many repeat callers using your system, as it can reduce end user frustration and save time. You can specify voice-only barge-in, DTMF-only barge-in, or enable both. Think about your end users when making this choice. For example, if callers are accessing your system from locations with high levels of background noise (factory floor, construction site, etc.) and you have voice barge-in enabled, the system can mistake background noise for human speech. This causes error responses and makes for a poor user experience.


An Internet Bot, also known as web robot, or simply bot, is a software application that runs automated tasks (scripts) over the Internet. At OneReach, we think of a bot as a complete solution, and a bot created in the Studio can contain a wide range of flows that handle its various skills. Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone. They can combine many such tasks to achieve complex goals, and can even be integrated with third-party services across the Web to create additional layers of functionality. The potential applications for this technology are endless, and the realm of possibility will only continue to expand. If you want to add automation to your business and start taking advantage of the power of AI, building a bot is your best choice!

Branch (in a step)

Most steps in a flow will have one or more exit branches. The branches represent the possible outputs or results of the step’s execution, and thus which step will execute next. This allows a flow designer to handle a variety of possible inputs or outcomes with different sequences of steps. For example, the Make API Call step has three branches: Success, Error, and Timeout. If the API call made by the step is successful, the step will exit via the Success branch and execute whatever step is on the subsequent node of that branch. If the API call fails or receives an error code, the step will exit via the Error branch, and if the call times out the Timeout branch will be taken. When building a custom step, a Studio user can create custom exit branches, either hardcoded based on predetermined conditions, or dynamically created based on how the step UI is configured in a flow.



The Canvas is the area of the Flowbuilder UI where the visual representation of the flow logic appears. Steps can be dragged onto the canvas to be added to flow logic, and tools are available for further manipulation of the visible flow architecture (Split, Clone, Delete, Zoom, etc.). Steps that are not currently connected to the main flow logic will appear greyed-out in the Canvas.


An interactive UI block designated to suit different purposes within the OneReach services infrastructure. Can be used to show different types of content, interactive controls, data visualizations, etc. A common use case for the card is showing the reporting data for a flow under the ‘Cards’ tab in the flow sidebar. Cards are also used in Action Desk within Views.


A communication method or service that has been integrated into the OneReach platform and has associated steps in the library. For example, SMS, Phone/Voice, and Rich Web Chat are all channels.


A chatbot is a bot designed to interact conversationally with end users. Chatbots can range in type from the very simple, such as a series of predetermined yes/no questions, to the complex, such as a natural language processor parsing the user’s normal speech and responding dynamically.

Custom Data (Table)

A set of data created and managed by a Studio user in the Files and Data product. A custom data table can store a wide variety of data types, including JSON objects. Tables can be queried and updated from within flows in the Designer. They are useful for the storage of details pertinent to a solution, such as contact information, configuration parameters, or product details.

Custom Step (Template)

Custom step templates are created in the Designer, by clicking the “Create a new step template” button at the bottom of the Templates list while editing a flow. The creation of a custom step template generally requires some level of development knowledge. Custom steps are useful for connecting to proprietary services or databases, for turning complex or repetitive logic into easily reusable components, and for any other task not already available as a step in the Library. Once a custom step template has been created, it can be imported into any other flow in that OneReach account.


Deactivate a flow

Clicking the “Deactivate” button under an active flow while in read-only mode will cease the flow’s execution and deactivate any triggers or listeners, making the flow unresponsive on whichever phone number/URL/event/etc. it was subscribed to.


The creation and activation of the micro service described by the flow logic. Or, more broadly, the push to production of a solution.

Deployment logs

Once a flow has been activated, it will begin to log all actions taken during each execution. These logs are useful for debugging and can be viewed retroactively or in real-time by clicking the “>_” icon in the lower left-hand corner of the Canvas.


A third-party natural language processing service accessible via API.


DTMF is an abbreviation for Dual-Tone Multi-Frequency signaling. It is the signal sent when a number on a telephone’s keypad is pressed. In the Studio DTMF is used to refer to keypad input in Voice flows.


Edit mode

The flow access mode that allows the user to make changes, reached by clicking the Edit button after opening up a flow.


In natural language processing, an entity is a piece of data extracted from a user’s speech. Entities are associated with intents; they make it possible for chatbots to obtain the data needed to perform a particular task, once they have identified which task the user wishes to perform. For example, a pizza-ordering bot would need the entities “size”, “toppings”, “sauce”, etc. to create an order.


Communication Studio uses an event-based architecture, built with the EventManager.js Node package. An event is basically a notification sent from one piece of code to another, which can potentially trigger another action. Events can contain complex metadata. This makes it possible for disparate parts of a solution, or disparate products in the platform, to quickly and seamlessly communicate with one another. Events are used to trigger flows and subflows, send reporting information, etc., etc. For example, an event is created on the Studio backend when a bot number receives an SMS from an end user, and any flow starting with the Wait for SMS gateway creates an event listener when it is activated. If a new incoming SMS event matches an active incoming SMS event listener, the flow in question will be triggered and begin to execute.

Execution Time

The period of time (in milliseconds) a single step takes to execute its function, or a flow takes to complete its active task.


Files and Data

A Communication Studio product that allows users to create custom data tables and upload files to an asset manager. These tables and files can then be accessed from within flows in the Designer.


A sequence of steps executed in certain order to accomplish certain tasks. Flows are building blocks for Bots.


Flow source

The source code of a flow, which is compiled and deployed when a flow is activated. Flows are stored as JSON objects which contain all of the data about the flow, including the full code for all step templates downloaded or created, the configuration and placement of all steps on the canvas (regardless of whether they are connected to the main logic tree), all reporting tags, metadata, etc. This means that a flow can be saved to an external repository or shared with colleagues in full outside of the Studio; it also makes it possible for developers to make changes at the code level. To access the flow source code, enter Edit mode on a flow, click the Advanced dropdown under the General tab, and select Flow source. This will bring up a code block that you can edit in-browser or copy in full. To import an updated or new flow source to the Designer, create a new flow, open up the Flow source window, and delete what is already there before pasting in the desired source code. Then click Save Changes and the imported flow structure will appear on the canvas.




When building a complex integration with a third-party service (one requiring more than just a custom step), it is standard practice to create a gateway flow, or a gateway bot containing multiple flows. This gateway logic will handle any backend interactions required between Communication Studio and the third-party system, so all messages in and out will pass through the gateway. Custom steps can then be built that use this gateway to further the functionality of the integration.

Gateway step

The gateway step is the first step in any flow. This step determines how the flow can be triggered and is responsible for setting up any listeners, as well as creating necessary configuration for the appropriate channel. Without a gateway step, a flow will not function, as there is no way for it to start executing. In the Library, gateway steps are conventionally shaped like a down-arrow and generally start with “Wait for…”. Examples of gateway steps include Wait for Call (Phone), Wait for Message (SMS), Wait for Rich Web Chat, Wait for Request (HTTP), Wait for Trigger from Other Flow, etc.


The user type with the lowest permissions level. Guest users do have a OneReach username and password, but can only log in to the specific Views that have been shared with them, using the shared URL. Guest users cannot access the Designer or Files and Data. This user type is useful for Live Agent and other Action Desk applications whose users do not need backend access, e.g. customer service reps.



Clicking the History dropdown under the General tab of a flow while in read-only mode allows a user to view a log of changes made to the flow.  This log is a list of dates/times in reverse chronological order, each representing a separate edit/save action. Select a date/time to load that version of the flow.


IBM Watson

IBM Watson is a powerful third-party AI service that includes natural language processing capabilities and is accessible over API.


A phone number.


A connection to some third-party service that makes the tools/data/etc. of that service available to use in the Studio.


In natural language processing (NLP), intents are the specific actions or tasks the NLP application has been trained to recognize. For example, an airline ticketing bot might have intents of “book”, “cancel”, and “change”. Then, if the NLP app has been well-trained, it will be able to recognize which of these three actions the end user wishes to take based on the end user’s natural speech. So user phrases such as “I want to book a flight” and “I need to fly from Denver to Toronto next month” should both result in the “book” intent.

International format

A format for phone numbers that starts with ‘+’ and the country code and includes no other punctuation, e.g. ‘+15552223333’. This is the standard format for identifiers in Communication Studio. Since the ‘+’ character is required, phone numbers must be stored as String data type.

ISO 8601

ISO 8601 is an international standard for representing date/time data. It is especially useful when storing date/time data and transferring it between different applications, countries, etc., as it does not rely on any local conventions, is recognized by many standard software packages, and can easily be interpreted and displayed in other, more human-readable formats. In ISO 8601, dates and times are arranged so the largest temporal term (the year) is placed to the left and each successively smaller term is placed to the right of the previous term.


Abbreviation for Interactive Text Response. An ITR allows a bot to interact with a human over text message. A flow that responds to an incoming SMS sent by an end user is an ITR.


Abbreviation for Interactive Voice Response. An IVR allows a bot to interact with a human over the phone, through the use of voice and/or DTMF input. In OneReach, you can create an IVR by setting up a flow that is triggered by an incoming phone call, then adding steps that speak to the user and prompt them for input.


JavaScript (JS)

JavaScript is a programming language used primarily for scripting. It is the language that must be used when creating custom code in Communication Studio.


Abbreviation for JavaScript Object Notation. JSON is a lightweight data-interchange format that is relatively simple for humans to read and write, and easy for machines to parse and generate. It is the default format for API calls and responses in the Designer, and is the format in which flows are stored. JSON objects can contain many levels of nested data.



A word which, when assigned to a listener (e.g. SMS) in a flow’s gateway step, restricts the flow to start only when that word is sent by the end user. An example would be “Text VINO to 55555 for your chance to win free wine for a year!” Keywords make it possible to use the same phone number for multiple solutions or use cases at once.



The Library is the collection of bot, flow, card, and step templates created by OneReach and available for use in Communication Studio.


A listener is another way to refer to a trigger that is waiting for some incoming communication. An SMS listener set up on a bot number, for example, is waiting for an inbound SMS to be sent to that number, at which point it will tell its associated task to execute.


See Deployment Logs.


A natural language processing service offered by Microsoft and accessible via API.


Memory size

The amount of memory allocated to a flow for its execution. Larger memory allocations cost more but allow for shorter execution times. If a complex flow frequently times out during execution, increasing the memory size can help.

Merge field

A flow variable; the name of a piece of data in a flow. Assigning a merge field to some item allows a flow designer to reuse said item throughout the flow and create dynamic interactions. Since flow data can take many types, including JSON objects, merge fields support object notation (e.g. apiResponse.body.ErrorMessage).


Natural Language Processor (NLP)

A natural language processor is an AI service that can derive actionable data from natural human speech, and can respond with natural speech as well. NLPs are extremely useful for improving user experience in a variety of applications, as they can eliminate the need for tedious menus, endless yes/no questions, and time-consuming input forms.

Node (in a flow)

A node refers to a step in a flow or a location where a step can be placed. An empty node is represented on the canvas with a gray plus button, indicating that a step can be placed there.


Communication Studio runs on Node.js, which is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world. Any of these npm packages can be made available for use within Communication Studio with a simple require statement, e.g. let Moment = require('moment')



When using SMS for marketing purposes, businesses are required to get an end user’s permission before sending them texts. This is known as “opting in” and can be accomplished in a variety of ways, including supporting the ‘START’ keyword.


The FCC has certain rules in place to protect consumers with regard to commercial SMS messaging. While these rules vary based on type of use case, entities using SMS to communicate with their customers MUST offer their users the option to opt out of messaging. ‘STOP’ is the universally recognized opt-out keyword and is required, but you can design your solution to recognize other opt-out keywords and send custom confirmation messaging. Once a user opts out, you can no longer send them communications unless they explicitly ask to be opted-in again. The Designer has built-in opt-out functionality that will work without any customization.



The act of switching from one channel to another, usually within an ongoing conversation or session.


See Amazon Polly.


Abbreviation for Plain Old Telephone System. See PSTN.


A message send/spoken to an end user that expects a response from the user in order to continue the interaction.


Abbreviation for Public Switched Telephone Network. Aka POTS (Plain Old Telephone System)


See Activate.




An item retrieved from a custom data table.

Reporting Engine

Communication Studio’s Reporting Engine was built using a current “Big Data” architecture and tool stack. It takes advantage of a combination of serverless architecture for collection processing of real time information and a data cube sitting on top of a relational database for data mining and discovery. To find the sweet spot between real time reporting and deep analytics, we took a dual architecture approach. We use Hadoop and Map Reduce to process data for both real time reporting giving us nearly unlimited scalability. Then we fork the data into two systems: one for real time monitoring and reporting, and one that utilizes a data cube to offer users the ability to mine large amounts of data in seconds rather than hours or days. Real time data is queried live while data that goes to the cube is batch processed and not available in real time. The control over which data to store and which data to make available in real-time is up to you. By creating tags inside of flows and steps you can collect and analyze almost any data that passes through the system. All data is encrypted in transit and can be encrypted at rest if required.


For prompts in an IVR, you should include retry logic. This allows the prompt to repeat if the user fails to respond, responds incorrectly, or if their response cannot be understood. You can use the “retry” section of a Voice step to set custom wait times, number of retries, and retry messaging. Be sure to set a finite number of retries so the end user doesn’t get stuck in a loop if the prompt cannot be answered.

Rich Web Chat

Rich Web Chat (RWC) is a channel in Communication Studio that OneReach has created to allow users to build and deploy web-based chatbots. The suite of RWC steps in the Library can be used to create complex interactions using HTML forms and messaging. The resulting chatbot can be hosted on our servers, or deployed to yours, and can even be added to pages on your website. The default RWC tools can easily be configured by non-developers, but the style and functionality are also completely customizable.



A third-party email provider accessible via API. OneReach’s prebuilt email components use SendGrid.


— official session definition —


SMS stands for Short Messaging Service and is the standard communication protocol that enables mobile devices to send and receive text messages. When you see SMS in Communication Studio, it is referring to text messaging. SMS usually cannot be sent or received via landline phones.


An autonomous piece of logic. Steps are building blocks for flows and normally accomplish minor tasks within the flow, for example: Send a message; Check condition; Initiate phone call.


A subflow is a flow that is triggered by another flow. This is usually accomplished using the Wait for Trigger from Other Flow gateway in the subflow itself, and the Trigger Another Flow steps in the main flow. Subflows are useful in a variety of situations: they can be triggered to do calculations and return data to the main flow, they can take over a conversation, they can run synchronously or asynchronously. The use of subflows is recommended to reduce the size and complexity of flows, as extremely large flows can take longer to load and edit, and smaller flows can easily be reused and quickly iterated upon.


Template (step)

A pattern which describes an operation to be executed in a flow. Step templates downloaded from the Library create an instance of that template in the target flow. Custom step templates live in the flow in which they were created, and can be disseminated into other bots and flows.

Template (flow)

An example of most common scenarios the platform can run. Flow templates in the Library contain all of the necessary steps and tree structure required for the flow to run, and only need to be configured to the specifics of the account and use case before they can be activated.


In a flow, the timeout value is a measure of how long the flow will continue an active process before automatically shutting down. In a step, the timeout value can mean different things depending on the channel in question.


See voice transcription.

Tree (in a flow)

A tree is a collection of steps organized in a logical fashion. Flows are represented as step trees. Steps in a tree execute in order, starting from the top and moving downward. Steps with more than one possible type of outcome can have multiple exits, creating “branches” on the tree.


To trigger, the verb, is to initialize a flow or some other process. The noun trigger refers to the specific action required to initialize a flow or some other process. For example, creating a flow with the Wait for Request (HTTP) gateway creates an HTTP trigger.



The process of uploading and inserting data into a data table. For example, you might create an upsert flow that you can trigger via HTTP to push customer data from your internal system to your OneReach solution.


A user has a unique username and password that allows them to log into OneReach. Users can be type Guest, User, or Admin. User-type users have basic read and write permissions.



A collection of cards in Action Desk. Views have names, descriptions, separate URLs and other configurable properties.

View Mode (Flow)

The read-only mode of accessing a flow, reached by clicking on a flow to open it.

Voice (channel)

A channel available in the OneReach platform, Voice refers to audio-only end user communication, achieved over the phone. Use this channel to create an IVR.

Voice recognition
Voice transcription

The process of taking user speech and outputting it as text.


Abbreviation for Voice Over IP.



See IBM Watson.

A third-party NLP service available over API.





A third party phone number provider.