Data Types

Integromat Data Types are derived from normal JSON data types, with some limitations and additions.

Primitive Types

string

A string is a statically specified piece of text, like "Hello, world".

number

A number is a sequence of digits, like 8452 or -123.

boolean

A boolean is a binary type that has 2 values: true or false.

null

A null is a special type, that represents an absence of a value.

Complex Types

Flat Object

A Flat Object is a collection of key-value pairs, where the key is a String, and the value can be any Primitive Type. Example:

{
    "id": 1,
    "firstName": "James",
    "lastName": "McManson",
}

A Flat Object cannot contain nested collections and arrays.

Object

An Object is a collection of key-value pairs, where the key is a String, and the value can be any Primitive or Complex type. Example:

{
    "data": [{
        "id": 1,
        "url": "http://example.com"
    }, {
        "id": 2,
        "url": "http://foobar.org"
    }],
    "additional_data": {
        "total": 2,
        "next_page": false,
        "info": null
    }
}

Array

An Array is a collection of Primitive and Complex types.

IML Types

IML types are special Strings or Complex Types that can contain IML expressions. An IML expression is a template expression that can resolve into a value.

IML String

An IML String is a String that can contain IML expressions in between {{ and }} tags. Anything between these tags is considered an expression. IML Strings are also known as Template Strings. IML String is an extension to String and, as such, can contain any value that a normal String can contain. It does not have to be just an IML expression.

Examples:

A String of a single IML expression: "{{body.data.firstName + ' ' + body.data.lastName}}"

A String without an IML expression: "Hello, World"

A String with text and IML expression: "Hello, {{body.data.name}}"

IML Flat Object

An IML Flat Object is a Flat Object that can additionally contain IML Strings as values. Example:

{
    "page": "{{temp.page}}",
    "limit": 1,
    "type": "{{parameters.type}}"
}

IML Object

An IML Object is an Object that can additionally contain IML Strings and IML Arrays as values. Example:

{
    "data": [{
        "id": "{{body.id}}",
        "name": "{{body.name}}"
    }, "{{parameters.type}}"],
    "info": {
        "pageNumber": 1
    }
}

IML Array

An IML Array is an Array that can contain IML Strings and IML Objects as values. Example:

[   
    {
        "id": "{{body.id}}",
        "name": "{{body.name}}",
        "data": {
            "foo": "{{temp.bar}}"
        }
    }, 
    "{{parameters.type}}",
    1,
    true,
    null
]

Last updated