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