# Operations

Once a projection has been prepared for usage in Novacura Flow, you can define what operation to use in a machine step. Simply select the connector in the machine step and choose "Select operation..." in the operation tree.&#x20;

There are a couple of different kinds of operations, typically a subset of the following kind of operations are available:

* Create - creates a new entity
* Read - query for entities&#x20;
* Update - update an existing entity
* Delete - delete an entity&#x20;
* Actions - an operation that potentially changes the state of one or many entities&#x20;
* Functions - an operations that does not change state of any existing entity, i.e a pre-defined query, or create an entity with default values set
* Code - a way for you to, in the context of the OData endpoint, write your own code in C# that does what you define.&#x20;
* Batch operations - multiple operations in one call

{% hint style="warning" %}
The OData connector supports a maximum of two levels of entity sets within the operation tree for a given projection. In this example, any additional entity sets under ***AddHandlingUnitTypesArray*** will not be visible in the operation tree. For entity sets that are in third level and beyond, you can use [Custom Request](https://help.novacuraflow.com/connectors/areas/business-systems/ifs-applications/ifs-odata/operations/custom-request)

\
![](https://529897662-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LtPTgZOYmpJka4jqs1v-3406065915%2Fuploads%2FW36GDkIolsmDsBlocmef%2Fimage.png?alt=media\&token=e87a1d51-fe10-4e1a-a2b7-32015a47a270)<br>
{% endhint %}
