Skip to main content
Version: 1.28 (Current)

Create Object

Audience: Low-code Engineers

Skill Prerequisites: Actions, Lists, JSON

Creates an object: a single named item with properties, for example a Customer object with Name and Email. A property can also point to a list or to another object, so you can describe nested data.

Objects are used to build JSON. Create JSON Object turns an object into a JSON object, with its list and object properties expanded into nested arrays and objects.

note

The object only exists while the actions run. It isn't saved anywhere and isn't a Plant an App Entity.

Typical Use Cases​

  • Build a nested JSON body for an API call, for example an order with a customer object and a list of lines
  • Group related values under one name before turning them into JSON
  • Reuse the same sub-object in several JSON documents

Don't use it to​

  • Store values to use as tokens. Object properties aren't available as tokens. Use Create/Update Tokens instead.
  • Create an entry to loop over or export. Objects can't be used by list actions. Use Add List Entry instead.
  • Build flat JSON from tokens. Create JSON Object can do that alone.
Action NameDescription
Create JSON ObjectTurns objects and lists into JSON, with the List Object and List types.
Extend Object PropertiesAdds or changes properties of an existing object.
Add List EntryAdds entries to a list, which an object property can point to.
Extend List PropertiesAdds properties to list entries, including properties that point to objects.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
Object NameThe name of the object, for example Customer. Names are case-sensitive. If an object with this name already exists, it's replaced.Yesempty stringYes
Object PropertiesThe properties of the object. Each row has a Property Name, a Property Value and a Property Type. See Property types. All three columns support tokens.YesemptyNo

Property types​

Property TypeProperty ValueIn JSON
Property (default)The value, for example [Email].A string, for example "name@example.com".
ListPropertyThe name of a list, for example LinesList.An array, with one JSON object per list entry.
ObjectPropertyThe name of another object, for example Address.A nested JSON object.

Values are resolved when the action runs and are saved as text. For ListProperty and ObjectProperty, only the name is saved. The list or object is looked up when Create JSON Object runs, so it can be created or changed after this action, as long as it exists by then.

Considerations​

  • Objects and lists are separate. An object and a list can have the same name. Object names only work where an object is expected: the List Object type in Create JSON Object and ObjectProperty references.
  • No tokens. Unlike list entries, object properties don't become tokens, even inside a loop.
  • Replacing. Running Create Object again with the same name removes the old properties. To add to an object, use Extend Object Properties.
  • Kept after loops. An object created inside Execute Actions for each List Entry or Repeat is kept after the loop, whatever the loop's Context Behavior.
  • Missing references. If a referenced list or object doesn't exist when the JSON is built, Create JSON Object fails.
  • Loops. Nothing stops an object from pointing to itself, directly or through other objects. Create JSON Object fails with an "infinite loop" error when it finds this.
  • Numbers and booleans are written as strings in the JSON. If the receiving system needs real numbers, add those properties with the Number or Bool type in Create JSON Object instead.

Examples​

tip

To understand how to use the below examples, please see Running Examples.

1. Build an order with a customer and lines​

These actions build the JSON body of an order. Customer is an object with the customer's details. Order is an object with a number, the Customer object and the LinesList list, which was built earlier with Add List Entry. Create JSON Object then writes the order to the OrderJson token.

[
{
"Title": "Create Object",
"ActionType": "CreateEntityItem",
"Description": "Create the customer",
"Parameters": {
"EntityName": "Customer",
"EntityProps": [
{
"PropertyName": "name",
"PropertyValue": "[FirstName] [LastName]",
"PropertyType": "Property"
},
{
"PropertyName": "email",
"PropertyValue": "[Email]",
"PropertyType": "Property"
}
]
}
},
{
"Title": "Create Object",
"ActionType": "CreateEntityItem",
"Description": "Create the order",
"Parameters": {
"EntityName": "Order",
"EntityProps": [
{
"PropertyName": "number",
"PropertyValue": "[OrderNumber]",
"PropertyType": "Property"
},
{
"PropertyName": "customer",
"PropertyValue": "Customer",
"PropertyType": "ObjectProperty"
},
{
"PropertyName": "lines",
"PropertyValue": "LinesList",
"PropertyType": "ListProperty"
}
]
}
},
{
"Title": "Create JSON Object",
"ActionType": "CreateJsonObject",
"Description": "Write the order as JSON",
"Parameters": {
"Properties": [
{
"Name": "order",
"Value": "Order",
"TypeValidation": "EntityObject"
}
],
"OutputTokenName": "OrderJson"
}
}
]

If LinesList has entries with sku and quantity properties, [OrderJson] looks like this:

{
"order": {
"number": "1001",
"customer": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"lines": [
{ "sku": "A-100", "quantity": "2" },
{ "sku": "B-200", "quantity": "1" }
]
}
}

Revised 09/27/2026