Service Graph Connector for Jamf — Most recent discovery (last_discovered) field not updating on Configuration Item despite current check-in data in JamfIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } When using the Service Graph Connector (SGC) for Jamf, computer Configuration Items (CIs) show a stale "Most recent discovery" date even though the device has checked in to Jamf recently. Other CI attributes update correctly during scheduled imports; only the 'last_discovered' field appears frozen. Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } - The Most recent discovery (last_discovered) field on a 'cmdb_ci_computer' CI does not update after a scheduled SGC-Jamf import runs- Other CI attributes (OS version, RAM, serial number, etc.) update as expected- The Jamf console shows a current "Last Check-in" timestamp for the same device Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } All currently supported releases Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } To support the idea of populating "Most recent discovery" with the timestamp when the data was collected by the 3rd party system, rather than when servicenow added it to the CMDB, the CMDB IRE APIs had a property added to allow the Most recent discovery [last_discovered] field to be added to the IRE Payload data as an attribute.If the payload includes a last_discovered attribute for a CI, it is used instead. Otherwise, the time the IRE API is run is used. Refer [Discovery Source, First Discovered, Most recent Discovery and Manual Entry don't mean what you think]This is controlled by the system property 'glide.identification_engine.skip_updating_source_last_discovered_if_older'. When this property is absent, the platform defaults to 'true', meaning IRE will not overwrite an existing, more recent 'last_scan' value — even if the incoming 'last_contact_time_utc' from Jamf is a valid, recent timestamp. Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Review the steps below to capture the IRE payload and validate whether the issue matches the conditions above **Step 1: Enable IRE debug logging before the next scheduled import.** This captures the payload values IRE receives and processes, which is essential for diagnosis. Follow the steps in [How to capture IRE (Identification and Reconciliation Engine) debug logs — KB0750382]to enable the required logging properties. *Note: Disable IRE logging after data collection is complete. Leaving logging enabled long-term can generate significant syslog volume.* **Step 2: Run the scheduled SGC-Jamf import.** After enabling logging, trigger or wait for the next scheduled import to run so the IRE payload is captured in the system log ('syslog'). **Step 3: Identify an impacted CI and locate its sys_object_source record.** 1. Open the 'sys_object_source' table, or navigate directly using: 'https://<instance-name>/sys_object_source_list.do'2. Filter by the Target field using the 'sys_id' of the impacted CI.3. Note the last_scan value on the record. If this date is later than the check-in time displayed in Jamf, this confirms the condition described in the Cause section. **Step 4: Validate the payload value using the Integration Hub (IHUB) ETL module. 1. Locate the import set (ISET) that brought in data for the impacted CI. Navigate to Integration Hub > ETL and open the relevant import set.2. In Step 1 of IHUB ETL, set the preview to 1 record from the import set.3. Proceed to Step 3 (CMDB Class Mapping) to view the values IRE derived from the payload for 'last_discovered'.4. Compare this value to the 'last_scan' value in 'sys_object_source'. If the payload value is older, IRE is correctly skipping the update per default system property behavior. **Step 5 (Optional): Review system property configuration. Two system properties control how IRE handles 'last_discovered' updates. If these properties are absent, the platform defaults to 'true' for both: - 'glide.identification_engine.skip_updating_source_last_discovered_if_older'- 'glide.identification_engine.ire_message_listener_skip_updating_source_last_discovered_to_now' To review or create these properties, navigate to **System Properties** ('sys_properties.do') and search by name. Consult your ServiceNow administrator before modifying these properties, as they affect IRE behavior on an instance-wide basis. Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Refer to the following community articles for IHUB ETL navigation guidance:↳ https://www.servicenow.com/community/cmdb-articles/ih-etl-guided-setup-step-1-basic-detail/ta-p/2301496↳ https://www.servicenow.com/community/cmdb-articles/ih-etl-guided-setup-step-2-preview-and-prepare-data/ta-p/2301329↳ https://www.servicenow.com/community/cmdb-articles/ih-etl-guided-setup-step-3-cmdb-class-mapping/ta-p/2301429↳ https://www.servicenow.com/community/cmdb-articles/ih-etl-guided-setup-step-4-field-mapping/ta-p/2301301