Issues with event processing in ServiceNow when ingesting events using the Table API<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: block; max-width: ; width: auto; height: auto; } } Description Event processing in ServiceNow when ingesting events using the Table API is causing some issues. When events are ingested via a push connector, custom fields are correctly populated in the em_event table and are successfully used by event rules, such as those that set the alert description based on custom field values. However, when the same event is ingested using the Table API, the custom fields are still correctly populated in the em_event table, but event rules that rely on these fields do not seem to execute or populate correctly. For example, the alert description built using these custom fields remains blank or incorrect. Steps to Reproduce 1. Ingest an event using a push connectora. Use Postman and create an eventCustom fields are populated.https://<instance_name>.service-now.com/api/sn_em_connector/em/inbound_event?source=genericJson_WBCb. Use the payload:{"u_app_id": "A0002C","u_url_crosslaunch": "http://<instance_name>service-now.com.au/MVSDS/%27A***********","description": "Demo Report","metric_name": "ABC","node": "1234A","resource": "XYZ","severity": 3,"source": "Mainframe","type": "Infrastructure","u_metric_value": "XYZ","event_class": "ABC123","message_key": "TEST00001","additional_info": "{\"assignment_group\": \"123454\"}"}c. Navigate to em_event.LIST an query source=Mainframed. Confirm that the event custom fields APPID (u_app_id), Metric Value (u_metric_value) and URL Cross Launch (u_url_crosslaunch) are populate correctlye. Navigate to the Alert record. Confirm metric_value & URL cross launch values are correctly populated in the ‘description’ of the alert2• Ingest the same event via Table APIa. Using Rest API explorer & create a recordPOST https://<instance_name>.service-now.com/api/now/table/em_eventb. Use the same payload with different message keyc. Navigate to em_event.LIST an query source=Mainframed. Confirm that the event custom fields APPID (u_app_id), Metric Value (u_metric_value) and URL Cross Launch (u_url_crosslaunch) are populate correctlye. Navigate to the Alert record. Note that metric_value & URL cross launch values are not populated in the ‘description’ of the alert Expectations Table API event should populate the custom fields/values given with the same payload and inputs, exactly the same way it works with Push Connector Actual Result Custom fields are not getting populated in the alert record when ingested via Table API Explanation In order to populate custom fields into an alert, they must be included in the additional_info field of the event. Please refer to the documentation:https://www.servicenow.com/docs/bundle/xanadu-it-operations-management/page/product/event-management/concept/populate-custom-alert-fields.htmlAccording to the Table API documentation, records are inserted into a table exactly as they are sent:https://www.servicenow.com/docs/bundle/zurich-api-reference/page/integrate/inbound-rest/concept/c_TableAPI.html#title_table-POSTTherefore, if customer use the Table API to insert an event record, they should also include the keys and values of your custom fields in additional_info. The EM inbound API be default and the custom field is added in the additional info in json format, this logic or process is not present using table APIand add the impact to the alert if the additional info will NOT contain the custom field