Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Within the CSDL $metadata document, you will find Action elements that describe operations that change data.
Every action has a Name attribute. This name will be part of the URL when you use HTTP POST, sending any defined parameters for the action in the body of the request. More information: Use Web API actions
Bound actions
Actions may have a IsBound="true" attribute. This means it is a bound action. Actions without the IsBound attribute are unbound. A bound action means that the first parameter is a reference to a to a table record or to an entity set.
When an action is bound, it will have a reference to a specific item within the service namespace. To use the action, you must use the fully qualified name including the Microsoft.Dynamics.CRM namespace. More information: Service namespace
Parameters
Actions usually have one or more Parameter elements. Each parameter will have the following attributes:
| Attribute | Description |
|---|---|
Name |
The name of the parameter. The name is unique unless the Action is overloaded. More information: Overloaded Actions. |
Type |
The type of the parameter. |
Nullable="false" |
Whether the parameter can accept a null value. |
ReturnType
Actions may return values. When an action returns a value, it will have a ReturnType element.
| Attribute | Description |
|---|---|
Type |
The type of the parameter. |
Nullable="false" |
Whether the value may be null. |
Action definition examples
The following represent some fictional examples of Action definitions showing different binding patterns. Each of these examples returns an integer value.
Unbound actions
An unbound action with a single integer Number parameter.
<Action Name="UnBoundActionExample">
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Action>
Action bound to an entity
An action bound to the account entity with a single integer Number parameter.
<Action Name="EntityBoundActionExample" IsBound="true">
<Parameter Name="entity" Type="mscrm.account" Nullable="false" />
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Action>
Action bound to an entity set
An action bound to the account EntitySet with a single integer Number parameter.
<Action Name="EntityCollectionBoundActionExample" IsBound="true">
<Parameter Name="entityset" Type="Collection(mscrm.account)" Nullable="false" />
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Action>
Overloaded Actions
Usually, each action you find in the $metadata will be the only action with that name. However bound actions can have multiple definitions when bound to different types. The AddItemCampaign action included the marketing solution is one example. You cannot create an overloaded action using custom API.
More information: Action Overload Rules
Next steps
Learn about Function Definitions.
See also
Web API types and operations
Web API Service Documents
Web API EntityTypes
Web API Properties
Web API Navigation Properties
Web API Functions
Web API Complex and Enumeration types
Use the Dataverse Web API
OData 4.0 Action specification