# Microsoft Dynamics 365 - Get Object Schema Action
This action retrieves the name and schema of a specific object in Microsoft Dynamics 365. Use this action to retrieve a schema and replicate it to a database or data warehouse.
# How It Works
# Basics
When the action runs, Workato requests the schema of the object you specify from the Microsoft Dynamics 365 API.
If the request is successful, the Microsoft Dynamics 365 API will respond with the object's name
, label
, and a list of fields
that it contains.
For example: An account
object contains name
, emailaddress
, and alternate_address
fields. Click below to view the JSON response for this example object.
See example JSON response
{
"name":"account",
"label":"Account",
"fields":[
{
"name":"name",
"label":"Name",
"length":100,
"scale":0,
"precision":0,
"original_type":"#Microsoft.Dynamics.365.StringAttributeMetadata",
"mapped_type":"STRING",
"custom":false
},
{
"name":"emailaddress",
"label":"Email address ",
"length":100,
"scale":0,
"precision":0,
"original_type":"#Microsoft.Dynamics.365.StringAttributeMetadata",
"mapped_type":"STRING",
"custom":false
},
{
"name":"alternate_address",
"label":"Alternate Address",
"length":0,
"precision":0,
"scale":0,
"original_type":"#Microsoft.Dynamics.365.PicklistAttributeMetadata",
"mapped_type":"STRING",
"custom":true,
"fields":[
{
"name":"label",
"label":"Label",
"length":0,
"scale":0,
"precision":0,
"original_type":null,
"mapped_type":"STRING",
"custom":false
},
{
"name":"value",
"label":"Internal value",
"length":0,
"scale":0,
"precision":0,
"original_type":null,
"mapped_type":"INTEGER",
"custom":false
}
]
}
]
}
# Data Typing
Every field
object also contains original_type
and mapped_type
properties. These properties indicate the data type of the field in Microsoft Dynamics 365 and the data type it maps to in Workato. These properties determine how data is typed when loaded into a database.
For example:
{
"name":"budget_amount",
"label":"Budget Amount",
"length":1000,
"scale":0,
"precision":10000,
"original_type":"#Microsoft.Dynamics.365.MoneyAttributeMetadata",
"mapped_type":"DECIMAL",
"custom":false
}
In this example, the budget_amount
field is typed as MoneyAttributeMetadata
in Microsoft Dynamics 365 and maps to DECIMAL
in Workato.
Refer to the Data type mapping section for more info.
# Input
Field | Description |
---|---|
Object | The object to retrieve from Microsoft Dynamics 365. You can select from a list of available objects or enter the name of an object.
If entering the name of an object, you may need to retrieve it from your app first. View steps for app
|
# Output
The Output of this recipe will be an object detailing the Microsoft Dynamics 365 object's schema. This object contains a list of Field objects that describe the object's fields.
To view an example JSON object, refer to the Basics section.
# Object
Field | Description |
---|---|
Name | The name of the object. For example: account
|
Label | The display label of the object. For example: Account
|
Custom | If true , the object was created by a user.
|
Fields | A list of fields the object contains. Refer to the Field object section to view the schema fields have. |
# Fields
Every field in the retrieved object will contain the following fields:
Field | Description |
---|---|
Name | The name of the field. For example: emailaddress
|
Label | The display label of the field. For example: Email Address
|
Length | The maximum number of characters the field can hold. This value will be 0 for BOOLEAN fields or fields without limits.
|
Scale | The maximum number of digits to the right of the decimal point. This value will be 0 for non-numeric fields.
|
Precision | The maximum number of digits that the column can store, including numbers to the left and right of the decimal point. This value will be 0 for non-numeric fields.
|
Original type | The data type of the field in Microsoft Dynamics 365. For example: StringAttributeMetadata
|
Mapped type | The data type that original_type maps to in Workato. This type is used to determine the column's data type when it's loaded into a database. Learn more.
|
Custom | If true , this field was created by a user.
|
Fields | Applicable only to fields with an Original type value of BooleanAttributeMetadata , PicklistAttributeMetadata , StatusAttributeMetadata , or StateAttributeMetadata .
When present, the fields property will contain two nested fields: label and value . These fields have the same schema as a top-level field. For example:
{ [...], "fields":[ { "name":"label", "label":"Label", "length":0, "scale":0, "precision":0, "original_type":null, "mapped_type":"STRING", "custom":false }, { "name":"value", "label":"Internal value", "length":0, "scale":0, "precision":0, "original_type":null, "mapped_type":"INTEGER", "custom":false } ] } mapped_type value for a nested field is dependent on the name of the nested field:
|
# Reference
# Data Type Mapping
The following table details how Microsoft Dynamics 365 data types map to Workato data types.
The columns in this table are as follows:
- Microsoft Dynamics 365 Data Type - The field's
original_type
value - Workato Mapping Type - The field's
mapped_type
value
For example: A field with a original_type: BigIntAttributeMetadata
value maps to a mapped_type: BIGINT
value.
Microsoft Dynamics 365 Data Type | Workato Mapping Type |
---|---|
BigIntAttributeMetadata | BIGINT |
BooleanAttributeMetadata | STRING |
DateTimeAttributeMetadata | DATETIME_TZ |
DecimalAttributeMetadata | DECIMAL |
DoubleAttributeMetadata | FLOAT |
EntityNameAttributeMetadata | STRING |
FileAttributeMetadata | STRING |
ImageAttributeMetadata | STRING |
IntegerAttributeMetadata | INTEGER |
LookupAttributeMetadata | STRING |
MemoAttributeMetadaMemoAttributeMetadatata | STRING |
MoneyAttributeMetadata | DECIMAL |
MultiSelectPicklistAttributeMetadata | STRING |
PicklistAttributeMetadata | STRING |
StateAttributeMetadata | STRING |
StatusAttributeMetadata | STRING |
StringAttributeMetadata | STRING |
UniqueIdentifierAttributeMetadata | STRING |
Last updated: 10/20/2023, 5:28:19 PM