Events Interface

Event messages are sent to the wmsevents Topic on the tenant service bus. Subscriptions for specific events, and keys for listening to those subscriptions, can be created in Solution Center. What extra data that is included in the events is also configured in Solution Center. Any meta data, including custom properties, on the work request, design, or assignment can be included, if it exists at the time of the event.

Sample Message

AssignmentAssignedEvent: [AssignmentAuthorEvent] [AssignmentEvent] [DesignEvent] [BaseEvent]

{ "author": "name@mydomain.com", "changeDateUtc": "2025-12-20T04:54:52.4852453Z", "assignmentId": "051afbe7-218b-46f1-a861-80872ca59dc2", "assignmentType": "Draw", "assignedTo": "user@mydomain.com", "designId": "4ccd5686-121a-42e9-bc4a-8d8c378f5e17", "designName": "Name of Design", "workRequestId": "4851c4f0-d425-48e2-be03-96825842e15b", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "68a1d195-f8f2-414e-99aa-2d03af70ea1b" }

AssignmentClosedEvent: [AssignmentAuthorEvent] [AssignmentEvent] [DesignEvent] [BaseEvent]

{ "author": "name@mydomain.com", "changeDateUtc": "2025-12-20T04:54:52.5816335Z", "assignmentId": "0f0541c3-8060-4f2f-8ba8-9c9ffbbbbf99", "assignmentType": "Draw", "assignedTo": "user@mydomain.com", "designId": "133db958-cdcd-4a06-83cc-2ea5bc91da33", "designName": "Name of Design", "workRequestId": "d31cb663-032e-4915-8cab-1949977ce95e", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "70f8cbef-c534-4c21-aff0-2cc5f87f3e64" }

AssignmentCompletedEvent: [AssignmentAuthorEvent] [AssignmentEvent] [DesignEvent] [BaseEvent]

{ "userId": "name@mydomain.com", "workflowButtonKey": "CompleteAndPushDesign", "completedBy": "user@mydomain.com", "completedOn": "2025-12-20T04:54:52.5920568+00:00", "author": "name@mydomain.com", "changeDateUtc": "2025-12-20T04:54:52.5921085Z", "assignmentId": "24622445-45b1-4b06-8049-6eea6d1d9185", "assignmentType": "Draw", "assignedTo": "user@mydomain.com", "designId": "d16768f9-15da-4cac-a326-101d5cc1323e", "designName": "Name of Design", "workRequestId": "dc3b6b15-63e7-41ac-a655-e30edcf11e85", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "3362ecf4-8e38-4dcd-b574-912f97b88740" }

AssignmentCreatedEvent: [AssignmentEvent] [DesignEvent] [BaseEvent]

{ "assignmentId": "257ac0ec-f6ec-4e27-a9f1-4b66dd2b2b66", "assignmentType": "Draw", "assignedTo": "user@mydomain.com", "designId": "89e0fd42-70b5-409c-b80f-b68a86761401", "designName": "Name of Design", "workRequestId": "49b908ba-6f39-40cf-a125-b13144f5ff2d", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "897d244a-827a-448e-b826-682407cdb4cc" }

AssignmentDeletedEvent: [DesignEvent] [BaseEvent]

{ "assignmentId": "a195e573-832b-4954-9e71-0eec9195d503", "designId": "2b7847f5-38b6-4dda-a3cc-90f5671cc50e", "designName": "Name of Design", "workRequestId": "32566e9a-1a90-45c9-b4b6-4ccb35d2f3e5", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "9f0e3af0-27dc-4fef-b974-2085d72672c7" }

AssignmentReopenedEvent: [AssignmentEvent] [DesignEvent] [BaseEvent]

{ "reopenedBy": "CW7JNDeYs5CsSPXBgJcvSLajs7FWGn5u@clients", "reopenedOn": "2025-12-20T04:54:52.6614886+00:00", "reopenedOnBehalfOf": "name@mydomain.com", "reopenedReason": "Received ReOpen", "assignmentId": "dc9de3f8-c96f-4386-84c3-92533bc50cca", "assignmentType": "Draw", "assignedTo": "user@mydomain.com", "designId": "d620549b-ac4c-48dd-9c80-060fff2b1dae", "designName": "Name of Design", "workRequestId": "6e9f5aa7-29aa-40ae-841e-3a1c0faaa5ed", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "a1e7613f-7335-41fc-a9cf-1989f506d900" }

AssignmentStartedEvent: [AssignmentAuthorEvent] [AssignmentEvent] [DesignEvent] [BaseEvent]

{ "author": null, "changeDateUtc": "0001-01-01T00:00:00", "assignmentId": "b3c20752-bd01-43fe-876e-c914f7f3062c", "assignmentType": null, "assignedTo": null, "designId": "d2d1c6ed-9bad-4233-a970-d03352f9eb7c", "designName": "Name of Design", "workRequestId": "8038e5bb-6b01-443b-a144-42f3f46a2d90", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "28d4b962-ff40-4704-9f2f-9b98aa3c94ef" }

DesignCreatedEvent: [DesignEvent] [BaseEvent]

{ "copied": false, "designId": "b081d4d8-0369-4b67-8057-b7a306bd18b2", "designName": "Name of Design", "workRequestId": "183182aa-8be4-4dbc-939e-e2c0b44e494b", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "10f201e8-c298-47a1-95c3-5dae3bc731fb" }

DesignDeletedEvent: [BaseEvent]

{ "designId": "9b0cb3f1-39bb-4f0a-8652-b63dc870a183", "workRequestId": "57d69daf-43f3-466e-865b-5db72ec47467", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "b7f72f14-86ff-4c35-bbf3-727693f6a8e0" }

DesignNameChangedEvent: [DesignUpdatedEvent] [DesignEvent] [BaseEvent]

{ "oldDesignName": "Old Design Name", "updatedProperties": [ "name" ], "designId": "e823233a-7e47-423d-a2db-b11d5a5b18ae", "designName": "Name of Design", "workRequestId": "fc11688c-3a3e-4ea3-9a1c-280f7fd73ced", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "b24ae76e-f0ee-439d-a097-18f472f681cd" }

DesignNotesUpdatedEvent: [DesignUpdatedEvent] [DesignEvent] [BaseEvent]

{ "designNotes": "Sample design notes", "updatedProperties": [ "notes" ], "designId": "dea753ab-e8f7-4076-aca4-ed4e11ac8863", "designName": "Name of Design", "workRequestId": "c5165786-cf14-45c4-9d09-a2a88d5725fc", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "39750711-b79d-4ee6-9ec9-958f5f111a1e" }

DesignPushedToGisEvent: [DesignEvent] [BaseEvent]

{ "gisVersion": "SDE.Default", "designId": "98d15e46-2b3d-4a67-82be-f86f5fb01c3a", "designName": "Name of Design", "workRequestId": "178931e2-8275-498a-8e9d-95591c312d3e", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "1afd4424-6b6d-4bd7-8a3e-09988110624a" }

DesignSavedEvent: [DesignEvent] [BaseEvent]

{ "designId": "b5dde443-9901-46c7-a9fd-c983efc0ceb4", "designName": "Name of Design", "workRequestId": "d12dc023-6921-488f-84b8-01b96e92c2da", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "a0cabb89-8e89-486b-9dd8-6aa93d324ce9" }

DesignUpdatedEvent: [DesignEvent] [BaseEvent]

{ "updatedProperties": [ "referenceDesignIds" ], "designId": "9143abe0-05e5-40ad-b9c1-0fe722254979", "designName": "Name of Design", "workRequestId": "1a0ed97c-0d13-4976-b17b-42c18e5f48bf", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "4f0b4d9b-b7d8-4bdb-9a70-21c8daf5e660" }

DesignWorkOrderChangedEvent: [DesignUpdatedEvent] [DesignEvent] [BaseEvent]

{ "oldWorkOrderId": 987654321, "oldWOrkOrderNumber": "Old WO Number", "oldWorkOrderGuid": "1000ea41-e8a5-4a91-b00c-f6108c943683", "oldProperties": { "SampleOldProperty": "SampleValue", "SampleOldProperty2": 12345 }, "updatedProperties": [ "workRequestId" ], "designId": "eb77a33b-d28a-4152-8932-ee116fb2b0be", "designName": "Name of Design", "workRequestId": "92b47bad-2f06-4ff5-9072-122c9d5cad49", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "2ab7088b-ae8e-4fee-b9ea-b873d9842da1" } { "designId": "c04adbf2-25d3-4d9b-8527-699449709f45", "previousDesignId": null, "chosenOn": "2025-12-20T04:54:52.993196+00:00", "chosenBy": "UserID", "updatedProperties": null, "workRequestId": "9ff10ed7-acf8-4098-a612-a8207610e38e", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "a20019b2-7a52-40bb-a2cf-5d654a3dd1ca" }

WorkRequestCreatedEvent: [BaseEvent]

{ "workRequestId": "37d017a1-1f0b-4704-8974-8fa6bc776154", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "f340d68f-5deb-4402-8efd-6ec6f6e527ac" }

WorkRequestDeletedEvent: [BaseEvent]

{ "workRequestId": "cd365299-4526-4615-b25a-c63fa6f0a2a6", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": {}, "transactionId": "f0016fb8-bc1e-4480-96a3-86b3d969a7ae" }

WorkRequestNotesUpdatedEvent: [WorkRequestUpdatedEvent] [BaseEvent]

{ "workNotes": "Work Request Notes", "updatedProperties": [ "notes" ], "workRequestId": "f498b7ed-99bc-47e1-ade8-b7dd8cdec21c", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "c860615f-173a-47e4-873e-972daa5edd19" }

WorkRequestUpdatedEvent: [BaseEvent]

{ "updatedProperties": [ "status" ], "workRequestId": "2b6be4d3-b802-4b41-8275-47e4cafca8a6", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "30b5dd26-8819-4f7a-968a-8d3e0c8bfdd5" }

CostEstimateSentEvent: [BaseEvent]

{ "designId": "2ffbcd41-7eb5-4278-bed8-7baccef3fd97", "designName": "Name of Design", "workRequestId": "401ed426-0b1c-4670-8a26-0df2a3aa6d93", "workflowSessionId": null, "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": { "SampleProperty": "SampleValue", "SampleProperty2": 12345 }, "transactionId": "90117ad9-507c-4493-beae-7280f61c11bd" }

CuFailureEvent: [BaseFailureEvent]

{ "wmsCode": "CU1234", "transactionId": "da7bc342-7f3c-43d0-8501-fb5a6215e94a", "workflowSessionId": "ff9b5f01-6ec9-43ef-86bd-a0e27f043579", "error": "Some error message" }

WorkOrderFailureEvent: [BaseFailureEvent]

{ "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": null, "transactionId": "54d673ca-10a2-4504-bdfb-3cc70392481a", "workflowSessionId": "c2aa7e44-ab23-4808-ba65-f643ec831c8c", "error": "Some error message" }

CostEstimateFailureEvent: [WorkOrderFailureEvent] [BaseFailureEvent]

{ "designId": "c3c1672f-8efa-43f0-bcd5-a0b747a01455", "designName": "Name of Design", "workOrderId": 1234567890, "workOrderNumber": "WR Name 123", "properties": null, "transactionId": "b6b20c12-5dff-4d71-9fed-b34976587a9c", "workflowSessionId": "aee62323-2be9-441f-a1fe-b03757ef893a", "error": "Some error message" }

Message Parameters

AssignmentAssignedEvent

An event that occurs when an assignment is assigned. This event is often used to detect when an assignment has been re-assigned to a new user.

AssignmentClosedEvent

The event that fires when an assignment is closed. Currently, this can only be done by an Integration. Users can not close an assignment.

AssignmentCompletedEvent

The event fired when an assignment is completed. The main mechanism for completing an assigment is by the user clicking on a Workflow button.

 UserId

The user selected in DXI. This is mainly used for selecting the user to review the design. This will be null, if selecting a user is not part of the workflow button that was clicked.

 WorkflowButtonKey

The key of the workflow button the user pressed. OOTB keys include CompleteDesign, CompleteAndPushDesign, CompleteAndPushToDFCs, SendForApproval, Reject, and Approve.

 CompletedBy

The user that clicked the workflow button.

 CompletedOn

When the user clicked the workflow button.

AssignmentCreatedEvent

The event that fires when an assignment is created. This generally happens when a design is created and when a design is sent for review. If a design is reassigned, this event does not fire.

AssignmentDeletedEvent

The event that is fired when an assignment is deleted. Since the assignment is deleted at this point, the only information from the assignment is the ID.

 AssignmentId

The unique DXI ID of the assignment

AssignmentReopenedEvent

The event that fires when an assignment is re-opened.

 ReopenedBy

The user that re-opened the assignment. Since this is usually done by the WMS, this will not be a email. In that case, it will be the Client ID of the API key.

 ReopenedOn

The date and time the assignment was re-opened

 ReopenedReason

The reason specified for re-opening the assignment. WMSI populates 'Received ReOpen'

AssignmentStartedEvent

The event that is fired when an assignment is started. This happens when a user opens a design, makes and edit, and saves the design for the first time.

AssignmentAuthorEvent

A base assignment event with common properties.

 Author

The user that changed the assignment.

 ChangeDateUtc

The date the assignment changed.

AssignmentEvent

The base assignment event that contains the properties that are common among all assignment events.
An event generated by an external client, e.g. the DXI Client, pertaining to an assignment

 AssignmentId

The unique DXI ID of the assignment

 AssignmentType

The type of the assignment Undefined - Not Used Draw - The assignment for the designer drawing the design. Review - Not Used Approval - The assignment for the person approving the design Build - Not Used

 AssignedTo

The user the assignment is currently assigned to.

 AssignmentEventAttributes

A list of attributes to add to assignment events

DesignCreatedEvent

The event that fires when a design is created. The design is not necessarily extracted at this point or ready to use.

 Copied

A flag indicating if the design was copied from another design.

DesignDeletedEvent

This event is fired when a design is deleted. At this point the design no longer exists so the only information about it is the ID.

 DesignId

The DXI ID of the design.

DesignNameChangedEvent

This event is fired when the name of a design is changed.

 OldDesignName

The original name of the design, before it was changed

DesignNotesUpdatedEvent

This event is fired when the user updates the notes of a design.

 DesignNotes

The new design notes

DesignPushedToGisEvent

This event is fired after a design is successfully pushed to GIS.

 GisVersion

The name of the SDE database version the design was pushed to

DesignSavedEvent

This event is fired when a user saves a design.

DesignUpdatedEvent

This event fires when a design is updated. Certain updates have their own events, like DesignNameChangedEvent. In that case this event will not be fired.

 UpdatedProperties

The core properties of the design object that were updated. The current properties on a design are: id,name,workRequestId,notes,dateCreated,dateModified, designLinearUnitWkid,workflowSessionId,gisState,deadLetterRefs,lastModified,etag, and customProperties. Some properties are only set when a design is created, so would not appear on an update event e.g. id and dateCreated

DesignWorkOrderChangedEvent

This event is fired when a design is moved from one work request to another.

 OldWorkOrderId

The original ID of the Work Order in the WMS system that the design was on.

 OldWOrkOrderNumber

The original unique Name of the Work Order in the WMS system that the design was on.

 OldWorkOrderGuid

The original DXI ID of the Work Request that the design was on.

 OldProperties

The configured additional properties of the original work request the design was on.

DesignEvent

An event generated by an external client, e.g. the DXI Client, pertaining to a design
The base design event that has properties common to all design events.

 DesignId

The unique DXI ID of the design.

 DesignName

The name of the design. This is normally set by WMS, but can be changed by users or set by users on designs they create in DXI. i.e. Designs not create by WMS.

 DesignEventAttributes

A list of attributes to add to design events

DesignSelectedEvent

An event that gets fired when a user selects a design in the client

 DesignId

The DXI ID of the design

 PreviousDesignId

The DXI ID of the previously selected design, if there was one. If it hasn't changed, it will be empty.

 ChosenOn

The date the design was chosen

 ChosenBy

The user who chose the design

WorkRequestCreatedEvent

This event fires when a work request is created.

WorkRequestDeletedEvent

This event fires when a work request is deleted. Since the work request is already deleted at this point, some information may be null.

WorkRequestNotesUpdatedEvent

This event fires when the user updates the work request notes.

 WorkNotes

The new work request notes.

WorkRequestUpdatedEvent

This event fires when a work request is updated. Certain updates have their own events, like WorkRequestNotesUpdatedEvent. In that case this event will not be fired.

 UpdatedProperties

The core properties of the work request object that were updated.

CostEstimateSentEvent

An event that is generated when a cost estimate is successfully sent to the queue

 DesignId

The unique DXI ID of the design.

 DesignName

The name of the design. This is normally set by WMS, but can be changed by users or set by users on designs they create in DXI. i.e. Designs not create by WMS.

BaseEvent

The base event class that contains properties common to all events

 WorkRequestId

The DXI ID of the Work Request

 WorkflowSessionId

The ID of the session the event occurred in. This is used internally by DXI, but can be helpful in searching the logs.

 WorkOrderId

The ID of the Work Order in the WMS system.

 WorkOrderNumber

The unique Name of the Work Order in the WMS system.

 Properties

Additional properties for the event. These are configured globally, for all events and can be pulled from the Assignment, Design, and Work Request. If two properties happen to have the same name, the higher level one will be added e.g. Assignment properties are added first, then Design properties, and finally Work Request properties.

 TransactionId

A unique ID for this message. Used for searching the logs.

CostEstimateFailureEvent

An event for when an exception occurs generating the cost estimate message.

 DesignId

The unique DXI ID of the design.

 DesignName

The name of the design. This is normally set by WMS, but can be changed by users or set by users on designs they create in DXI. i.e. Designs not create by WMS.

CuFailureEvent

An event indicating that a bulk CU update message had errors while processing.
An event for when an exception occurs while processing a CU message.

 CuFailures

A list of all of the CUs and Macros that failed in the Bulk update request.

 Domain

The DXI Domain of the CU. - Electric - Gas - Common

 WmsCode

The WMS Code of the CU

 Domain

The DXI Domain of the CU. - Electric - Gas - Common

WorkOrderFailureEvent

An event for when an exception occurs while processing a work order message

 WorkOrderId

The ID of the Work Order in the WMS system.

 WorkOrderNumber

The unique Name of the Work Order in the WMS system.

 Properties

Properties returned based on work request and design attributes.

BaseFailureEvent

The base failure event with properties common to all failure events.

 TransactionId

A unique ID for this message. Used for searching the logs.

 WorkflowSessionId

The ID of the session the event occurred in. This is used internally by DXI, but can be helpful in searching the logs.

 Error

A message detailing the error that occurred