In VMware VCF Orchestrator (formerly vRealize Orchestrator, or vRO), a Datagrid object is a type of presentation element used mainly in workflow input and output forms – it’s not a scripting object, but rather a UI component for collecting or displaying structured, tabular data.
What it is
A Datagrid is a table-like input field in a workflow’s presentation layer.
Each row in the grid represents one set of related values (like an object or record), and each column represents one property or field.
For example, a Datagrid can let a user enter a list of virtual machines, each with properties such as:
- Name (string)
- CPU count (number)
- Memory size (number)
So the Datagrid might look like a spreadsheet/table:
| VM Name | CPU | Memory (GB) |
|---|---|---|
| web01 | 2 | 4 |
| db01 | 4 | 8 |
Where it’s used
- In workflow presentations, to let users input multiple structured items.
- In actions or custom forms, to display arrays of objects or complex data.
- Commonly used when a workflow expects an array of composite types (like an array of
VC:VirtualMachine,Properties, or custom types).
Data structure behind it
Behind the scenes, a Datagrid represents an array of composite values, typically:
- An array of Properties objects
- An array of custom data types (if you’ve defined one in Orchestrator).
Each column corresponds to one property key in those objects. For example:
[
{ "vmName": "web01", "cpu": 2, "memory": 4 },
{ "vmName": "db01", "cpu": 4, "memory": 8 }
]
Example
Let’s consider a simple example. Create a new workflow and add a new input to it. As a Type, select “New Composite Type”.

Give it a name and add fields you want to show in the Datagrid. Each field can have a different type of course.

Once the input is processed, you’ll find the Composite type of that input listed in the Inputs tab.

In the Input Form, you will see a new object of type Datagrid.

All the fields in the table will match their names and types from the composite type we created earlier.

Run the workflow with some values.

Create a new simple scriptable task, which will print to the console the values.

As we can see, the result is printed properly to the console, so we can use those values later.
How to delete Composite Type
You might find yourself in a situation where you created a Composite Type incorrectly or no longer need it. In such cases, you’d like to delete it. Unfortunately, there’s no official or unofficial way to do so. At least for now.
Composite Types are not managed as independent, deletable assets like workflows, actions, or configuration elements. Once a Composite Type is defined (typically when we’re creating a new variable type in a workflow), its definition persists in the Orchestrator’s type metadata.
What you can do?
Even though you can’t delete the type definition itself, you can (and should) remove its usage.
- Remove All References: The most important step is to ensure no active items are using the Composite Type. You must find every workflow, action, and configuration element that references the type and either:
- Delete the object (e.g., delete the workflow).
- Modify the object to no longer use that type (e.g., change the variable type to something else).
- Ignore the Type: After all references are removed, the Composite Type will still appear in the list of available types when you create new variables. The only “solution” is to ignore it and not use it in new development.
Summary
Datagrid is a highly effective tool for enhancing user experience. It allows us to display additional details about a selected object or organize the received data in a tabular format for improved comprehension.
I am using it a lot and highly recommend it.
💡
I also want to hear from you about how I can improve my topics! Please leave a comment with the following:
– Topics you’re interested in for future editions
– Your favorite part or take away from this one
I’ll do my best to read and respond to every single comment!





