Skip to main content
Version: 1.28 (Current)

Read Entity

Audience: Low-code Engineers

Skill Prerequisites: Actions, Connectors, Tokens

Reads one Dynamics 365 / Dynamics CRM record by its GUID and loads the attributes (columns) you choose into tokens.

Use it when you already have the record's GUID, for example from Find Entity, Create Entity or a URL parameter.

note

This action is part of the Dynamics (CRM, 365) add-on (DnnSharp.DynamicsCrm). The add-on is installed separately and needs the DYNCRM feature in your license. If it isn't licensed, the action fails with a "not licensed" error. If you don't see the Dynamics actions, the add-on isn't installed.

Typical Use Cases​

  • Load a record into tokens to prefill a form for editing
  • Read the current values of a record before Update Entity changes it
  • Get the details of a record that was just created with Create Entity
  • Follow a lookup: read a contact, then read its parent account with the :Id token

Don't use it to​

  • Search by other values, such as an email address. Use Find Entity instead.
  • Read several records. Use Read Multiple Entities instead.
  • Check whether a record exists. If the GUID isn't found, the action fails.
Action NameDescription
Find EntityFinds the first record that matches conditions.
Read Multiple EntitiesReads all matching records into a list.
Create EntityCreates a record.
Update EntityUpdates a record by its GUID.
Delete EntityDeletes a record by its GUID.
Test ConnectorChecks that a Dynamics Service Connector can sign in.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
ConnectorThe Dynamics Service Connector that holds the Dynamics server address and sign-in details. See Connectors.NoemptyYes
Logical NameThe entity of the record. The list shows the entities of the selected connector by display name. The value saved is the entity's logical name, for example contact or account. You can also type a logical name or a token. The value is converted to lowercase.Yesempty stringYes
Entity GuidThe GUID of the record to read, for example [ContactId]. It must be a valid GUID.Yesempty stringYes
Attribute MappingThe attributes to read. For each row, enter the attribute's logical name in Attribute Name, for example fullname, and the token to create in Output Token Name, for example ContactName. See Output tokens.NoNoneNo

Output Parameters Reference​

TokenDescription
[<Output Token Name>]One token per row of Attribute Mapping, holding the attribute's value, for example [ContactName].
[<Output Token Name>:Id], [<Output Token Name>:Name], [<Output Token Name>:LogicalName]Extra tokens for reference attributes (Lookup, Customer, Owner): the referenced record's GUID, its name and its entity logical name, for example [ParentAccount:Id].

The record's own GUID isn't written to a token, since you already have it in Entity Guid.

Output tokens​

The value in each token depends on the attribute type:

  • If Dynamics returns a formatted value for the attribute, the token gets that. For example, an option set gives its label (Active), not its number. Money and number values may include currency symbols or thousands separators.
  • Date and time attributes are never formatted. They're written in ISO 8601 format, for example 2026-09-27T14:30:00.0000000Z. Date Only attributes use the short date format of the current culture.
  • Otherwise, the raw value is used: money as its amount, option sets as their number, and references as the GUID.
  • For reference attributes (Lookup, Customer, Owner), use the :Id token when you need the GUID. The main token may hold the record's name instead.
  • If the attribute is empty in Dynamics, the token is empty.

Considerations​

  • Not found is an error. If no record of that entity has the GUID, the action fails. Wrap it in Execute Actions and use On Error if the record may have been deleted.
  • Use logical names. Entity and attribute names are the lowercase logical names, such as emailaddress1, not display names such as Email. An unknown attribute name makes the action fail.
  • The entity must match the GUID. A contact's GUID won't be found in account.
  • The sign-in is cached. The connection is reused until its security token is about to expire. Use Test Connector to check a connector. See Add Connector to create one in actions.

Examples​

tip

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

In these examples, replace the connector Entry value with the ID of your own Dynamics Service Connector, or select the connector after importing.

1. Read a contact​

This action reads the contact whose GUID is in the ContactId token. It creates [ContactName], [ContactEmail], [ContactPhone] and, for the parent account, [ParentAccount], [ParentAccount:Id], [ParentAccount:Name] and [ParentAccount:LogicalName].

{
"Title": "Read Entity",
"ActionType": "DynamicsCrm.ReadEntity",
"Description": "Load the contact's details",
"Condition": "[ContactId] != \"\"",
"Parameters": {
"Credentials": {
"Entry": "00000000-0000-0000-0000-000000000000"
},
"LogicalName": "contact",
"EntityGuid": "[ContactId]",
"AttributeMapping": {
"fullname": "ContactName",
"emailaddress1": "ContactEmail",
"telephone1": "ContactPhone",
"parentcustomerid": "ParentAccount"
}
}
}

2. Read the parent account of a contact​

Run this after example 1. It reads the account that the contact belongs to, using the :Id token of the lookup.

{
"Title": "Read Entity",
"ActionType": "DynamicsCrm.ReadEntity",
"Description": "Load the contact's account",
"Condition": "[ParentAccount:LogicalName] == \"account\"",
"Parameters": {
"Credentials": {
"Entry": "00000000-0000-0000-0000-000000000000"
},
"LogicalName": "account",
"EntityGuid": "[ParentAccount:Id]",
"AttributeMapping": {
"name": "AccountName",
"accountnumber": "AccountNumber"
}
}
}

The condition skips the action when the contact has no parent, or when the parent is a contact instead of an account.

Revised 09/27/2026