Skip to main content

Data Operations

Data operation steps interact with Dataverse data - creating, reading, updating, and deleting records.

Save Entity

Creates a new record or updates an existing record in Dataverse.

ParameterDescription
EntityThe entity record to save (with field values set)
Reload Entity After SaveWhether to reload the entity with server-generated values after saving

When Reload Entity After Save is enabled, the step returns the entity with any server-generated values (such as auto-numbers, calculated fields, or plugin-modified values).

Use Cases:

  • Create a new Account when a lead is qualified
  • Update Contact information after form submission
  • Create related records as part of a workflow

Example:

SAVE ENTITY
Entity: Account
Data: {
Name: "Contoso Ltd",
Industry: "Technology",
Revenue: 5000000
}
Reload Entity After Save: true
→ Store in variable: NewAccount

Delete Entity

Removes a record from Dataverse.

ParameterDescription
EntityThe entity type to delete from
Entity IDThe unique identifier of the record to delete

Use Cases:

  • Remove temporary or draft records
  • Clean up related records when parent is deleted
  • Implement data retention policies

Example:

DELETE ENTITY
Entity: Task
Entity ID: TaskToDelete.Id

Modify Entity

Updates a specific set of fields on an existing record without replacing the whole entity. Where Save Entity persists a complete record, Modify Entity applies a set of property setters (each field is computed from an expression) to the record identified by the supplied entity.

ParameterDescription
Entity Logical NameThe entity type to modify
EntityThe record (or reference) whose fields are updated
SettersThe set of field assignments to apply, each defined by an expression

Example:

MODIFY ENTITY
Entity Logical Name: account
Entity: Customer
Setters:
creditonhold: true
description: "Placed on hold on " + TODAY()

Get Entity by ID

Retrieves a single record by its unique identifier.

ParameterDescription
Entity Logical NameThe entity type to retrieve
Entity IDThe unique identifier of the record
PropertiesThe list of columns (attributes) to return

Returns: The record with the requested columns populated

Example:

GET ENTITY BY ID
Entity Logical Name: contact
Entity ID: ContactId
Properties: [ firstname, lastname, emailaddress1 ]
→ Store in variable: CustomerContact

Execute Query

Retrieves records matching a query expression.

ParameterDescription
Query ExpressionThe query (entity, columns, filters, orders) to execute
MultiplicitySingle (first matching record), All (every matching record), or Sliced (a single page)
PagingPage size / paging cookie, used when Multiplicity is Sliced

Returns: A single record (Single) or a collection of matching records (All / Sliced)

Example - Single Record:

EXECUTE QUERY
Multiplicity: Single
Entity: Account
Conditions: AccountNumber == "ACC-001"
→ Store in variable: FoundAccount

Example - All Records:

EXECUTE QUERY
Multiplicity: All
Entity: Contact
Conditions: ParentCustomerId == AccountId AND Status == "Active"
→ Store in variable: ActiveContacts

Execute Multiple Requests

Performs multiple data operations in a single batch for better performance.

ParameterDescription
Entities to CreateCollection of records to create
Entities to UpdateCollection of records to update
Entities to DeleteCollection of records to delete

This step is particularly useful when you need to perform many operations at once, as it reduces the number of round trips to the server.

Example:

EXECUTE MULTIPLE REQUESTS
Entities to Create: NewTasksList
Entities to Update: ModifiedContactsList
Entities to Delete: ObsoleteRecordsList

Add Entity Annotation

Adds a note or attachment (annotation) to a record.

ParameterDescription
Entity Logical NameThe entity type of the record
Entity IDThe record to annotate
TitleThe note title/subject
DescriptionThe note content
File NameName of the attached file (optional)
ContentBase64-encoded file content (optional)

A note becomes a document (file attachment) simply by supplying File Name and Content — there is no separate "is document" flag.

Example - Adding a Note:

ADD ENTITY ANNOTATION
Entity Logical Name: account
Entity ID: Customer.Id
Title: "Credit Check Complete"
Description: "Customer passed credit verification on " + TODAY()

Example - Adding an Attachment:

ADD ENTITY ANNOTATION
Entity Logical Name: quote
Entity ID: Quote.Id
Title: "Signed Contract"
File Name: "Contract_Signed.pdf"
Content: FileContent

Add Item to Collection / Remove Item from Collection

Adds or removes a single item from a list (collection) variable in place.

ParameterDescription
CollectionThe list variable to modify
ItemThe item to add or remove

These steps are the explicit, first-class way to grow or shrink a collection variable during a flow (as opposed to reassigning it through Update Variable).

Example:

ADD ITEM TO COLLECTION
Collection: SelectedProducts
Item: CurrentProduct

REMOVE ITEM FROM COLLECTION
Collection: SelectedProducts
Item: DiscontinuedProduct

Best Practices

Use Reload Wisely: Only enable "Reload Entity After Save" when you need server-generated values. It adds an extra database call.

Batch Operations: When performing many similar operations, use Execute Multiple Requests instead of multiple individual Save/Delete steps.

Handle Missing Records: When using Get Entity by ID or Execute Query (Single), consider what happens if no record is found. Use a Condition step to check for null results.

Optimize Queries: Use specific filter conditions in Execute Query to minimize the number of records returned. Avoid retrieving more data than needed.