VOGO Voice – Knowledge Base

Data Types

Estimated reading time: 2 min

Within the platform, you will find their many cases where you need to reference either static or dynamic data in order to have the flow or logic perform a certain action. The types of formats we support are listed below and we will describe their purpose and what and how to make use of them.


Strings are the literal text that you want to be used and will be treated as such type. An example of a string could be “vogo voice”.

👍 Note: If a value is a number or true/value those values are still treated as string so see Number and Boolean for appropriate usage.


Number is similar to String except the value is expected to be a valid Integer or Real Number and can be positive or negative. Some examples are -1, 0, 100, 3.145.


Path is used to reference a value located on the Data tab on the left-hand side of an interaction. In the image shown this would be done in two ways. The first is to drag-n-drop any of the data elements onto the empty field when the path value is selected. This will automatically fill in the full reference. To add the value manually you can follow the pattern of the hierarchy. Example is capabilities.display or inputs.family.value or connectors.c1.first.

When referencing data results you can reference the object as shown with the connectors.c1.first but in most cases, you need to access the value of the results. In those cases, you can follow two patterns. In the first example, we are assuming to use the first result in the array of results so we can use the shortcut first but in other cases, I may want to use the specific array result item. In those cases we reference by the 0 index of the results. So if the results looked like this
["a", "b", "c"] I could access the value b by saying connectors.c1.1 where the index of a is 0 and so on. In this case the result was an array of single values but the results can also be an array of objects. In cases like this we would reference the key in the express as such.
[{ name: "a", value: "10" }, { name: "b", value: "11" }, { name: "c", value: "12" }]
Here we could use connectors.c1.first.name to reference the value a or we could say connectors.c1.2.value to return the value 12.


Function is used to perform operations similar to programming languages that will allow modifications of data into your needs. You can drag and drop any function into the data type field and it will create the need parameters for you to input. It is also possible to have functions inside of functions.


Boolean is used to evaluate either true or false as a boolean expression. This is helpful when the value that you need to compare is also of boolean type.


Templates mean that any text will be evaluated through our template engine which will allow for a lot more dynamic results. Simple results could be similar to Path except they take the form of curly brackets as shown here {{connectors.c1.first}} where anything in double curly brackets will be resolved as the associated syntax. For more details on templates, we suggest reading our Template Engine Guide.


Object is used to cast the input as a JSON object so that it can typically be used in other places for accessing key-value pairs. Example of an object might look like
{ "key": "myKey", "value": "myValue", "myInt": 5, "subObject": { "inner": "innerValue"} }
This is typically done when making variables so that you can reference some lookup values. A common example might be creating a point object.
{ "lat": {{geolocation.latitude}}, "lon": {{geolocation.longitude}} }

👍 Note: A value can be created using both static text and template values. See Template above for details on how to reference data values.


Array is similar to Object except it is looking for an array syntax of either a single value or an object of values. Examples would be
[10, 11, 12] or ["a", "b", "c"] or ["a", 1, true], [{ "name": "tmpName" }, { "name": "tmpName2" }]

Was this article helpful?
Dislike 0
Previous: Data Breakdown
Next: Creating Manual News