Create Object
Audience:
Low-code EngineersSkill 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.
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.
Related Actions
| Action Name | Description |
|---|---|
| Create JSON Object | Turns objects and lists into JSON, with the List Object and List types. |
| Extend Object Properties | Adds or changes properties of an existing object. |
| Add List Entry | Adds entries to a list, which an object property can point to. |
| Extend List Properties | Adds properties to list entries, including properties that point to objects. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| Object Name | The name of the object, for example Customer. Names are case-sensitive. If an object with this name already exists, it's replaced. | Yes | empty string | Yes |
| Object Properties | The 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. | Yes | empty | No |
Property types
| Property Type | Property Value | In JSON |
|---|---|---|
Property (default) | The value, for example [Email]. | A string, for example "name@example.com". |
ListProperty | The name of a list, for example LinesList. | An array, with one JSON object per list entry. |
ObjectProperty | The 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 Objecttype in Create JSON Object andObjectPropertyreferences. - 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
NumberorBooltype in Create JSON Object instead.
Examples
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