Properties format

The property names must not contain . symbols.

Standard properties types

Currently, the following standard properties with types are supported:

Properties with $type label

The following properties with $type label are supported:

There is a possibility to pass a property object with special attribute name $type and specific value. These kind of special properties allow to adhere to specific use cases.

relation or relation[]

The main purpose of this property structure is to establish relationships between two workspace object records.

The basic structure of the property shown below:

Provided property companies has a $type attribute with the value relation, indicating that other attributes should be processed differently. The application will create a relationship between the main workspace object record and the records found by the domain in the workspace object identified by the object_slug. If no records are found by domain, no relation will be created.

You can also create a relation using the email attribute instead of domain. In this case, the application will link the main workspace object record to those found by matching the email property in the workspace object with the specified object_slug. Again, if no records are found, the relation won’t be created:

Relations can also be created using a recordId. In this case, the application will create a relation with the specified recordId and will even create the corresponding workspace object record if it doesn’t exist. If the recordId belongs to a different type than specified in the object_slug, the application will create a record with the same remote ID in the appropriate workspace object.

Similarly, you can provide multiple relations by using the $type attribute with the value relation[]. The behavior is almost the same as described above, with the key difference being that it creates relations for multiple provided identifiers.

Below are examples with slightly different syntax:

In all cases above, if the workspace object for the provided object_slug doesn’t exist, it will be created automatically.

currency

The main purpose of this property structure is to pass validated currency properties with a specific currency.

The basic structure of the property is shown below:

Provided property amount has a $type attribute with the value currency, indicating that other attributes should be processed differently. The application will validate property attributes format and save currency property.

If a certain event is supposed to change related record properties, you can easily do that using the set and set_once parameters when specifying relations, as shown below:

Set record properties

Related record properties could be set when tracking, as described here. However, if you need to set properties separately from the event or manage records that are not related to the event, you can use client.setRecordProperties(), as shown below: