d365_plugin_step_register
Registers a plugin step for an existing native plugin type, validates message/entity filters, detects duplicate signatures, and previews changes with dry_run before writing.
Instructions
Register a step for an existing native plugin type. Resolves message/entity filters, validates filtering fields and detects duplicate signatures. No write is automatically replayed. Optional secure configuration is allocated separately and bound in the step create; all phases report their IDs on failure. dry_run previews without writing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | 0/Synchronous or 1/Asynchronous. Async requires PostOperation. | |
| name | No | ||
| rank | Yes | ||
| stage | Yes | 10/PreValidation, 20/PreOperation, 40/PostOperation. | |
| dryRun | No | Compatibility alias for dry_run. Conflicting aliases are rejected. | |
| dry_run | No | Read-only preview of the environment, resolved target and changes. Configuration values are withheld. Default false. | |
| message | Yes | Exact SDK message name, for example Update. | |
| pluginType | No | Compatibility alias for plugin_type. Conflicting aliases are rejected. | |
| description | No | ||
| plugin_type | No | ||
| primaryEntity | No | Compatibility alias for primary_entity. Conflicting aliases are rejected. | |
| conflictPolicy | No | Compatibility alias for conflict_policy. Conflicting aliases are rejected. | |
| primary_entity | No | Logical table name. Omit for a global message registration. | |
| conflict_policy | No | Default error. Multiple duplicates remain an error. update_existing preserves omitted optional fields/configuration. | |
| filteringAttributes | No | Compatibility alias for filtering_attributes. Conflicting aliases are rejected. | |
| impersonatingUserId | No | Compatibility alias for impersonating_user_id. Conflicting aliases are rejected. | |
| secureConfiguration | No | Compatibility alias for secure_configuration. Conflicting aliases are rejected. | |
| supportedDeployment | No | Compatibility alias for supported_deployment. Conflicting aliases are rejected. | |
| filtering_attributes | No | Entity-specific Update only. Deduplicated, lowercased, checked against metadata; primary key rejected. Empty array clears filtering. | |
| secure_configuration | No | Optional secret; never echoed by a write or preview. Uses a new secure configuration row. | |
| supported_deployment | No | Deployment: 0/ServerOnly, 1/OfflineOnly, 2/Both; availability depends on the target platform. | |
| impersonating_user_id | No | Run as this system user; null restores calling-user context. | |
| unsecureConfiguration | No | Compatibility alias for unsecure_configuration. Conflicting aliases are rejected. | |
| allowUnprotectedUpdate | No | Compatibility alias for allow_unprotected_update. Conflicting aliases are rejected. | |
| unsecure_configuration | No | Optional unsecure configuration; never echoed by a write or preview. | |
| allow_unprotected_update | No | Default false. Explicitly allow an update with If-Match:* if table metadata does not confirm optimistic concurrency. Does not bypass a supplied ETag conflict. |