<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bolt Data Connect – Thing Types</title>
    <link>/docs/servicenow/iot-setup/thing-types/</link>
    <description>Recent content in Thing Types on Bolt Data Connect</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    
	  <atom:link href="/docs/servicenow/iot-setup/thing-types/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Thing Type Editing</title>
      <link>/docs/servicenow/iot-setup/thing-types/thing-type-specification/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/servicenow/iot-setup/thing-types/thing-type-specification/</guid>
      <description>
        
        
        &lt;p&gt;Thing-Types define the configuration for Edge Processing.&lt;/p&gt;
&lt;h2 id=&#34;top-level-configuration&#34;&gt;Top Level Configuration&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;Label&lt;/dt&gt;
&lt;dd&gt;The label to use for the Thing-Type specification.&lt;/dd&gt;
&lt;dt&gt;Is Active&lt;/dt&gt;
&lt;dd&gt;If a Thing&amp;rsquo;s Thing-Type is not active (i.e. this option is deselected), the Thing&amp;rsquo;s data will not be aggregated and every message will be forwarded from the Gateway to the Cloud. It is not recommended to deactivate a Thing-Type that is assigned to Things, except for brief troubleshooting; otherwise, it could potentially result in higher costs and missed Alerts.&lt;/dd&gt;
&lt;dt&gt;Sample Message&lt;/dt&gt;
&lt;dd&gt;Used to auto-populate the Sensors section of the Thing-Type Specification.&lt;/dd&gt;
&lt;dt&gt;Aggregate Type&lt;/dt&gt;
&lt;dd&gt;Determines when to send the aggregated messages. It can be configured to &amp;ldquo;None&amp;rdquo;, &amp;ldquo;Seconds&amp;rdquo;, or &amp;ldquo;Count&amp;rdquo;.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt;: Forward every message received from the device to the cloud.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Seconds&lt;/strong&gt;: Aggregate the last N seconds of Thing data, where N is defined by the Aggregate Interval field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Count&lt;/strong&gt;: Aggregate the last N messages from a Thing, where N is defined by the Aggregate Interval field.&lt;/li&gt;
&lt;/ul&gt;
&lt;dl&gt;
&lt;dt&gt;Aggregate Interval&lt;/dt&gt;
&lt;dd&gt;Used in conjunction with the Aggregate Type field to determine the frequency of aggregation performed on the Gateway.&lt;/dd&gt;
&lt;dt&gt;Offline Timeout (Seconds)&lt;/dt&gt;
&lt;dd&gt;Used to determine if a Thing is offline. If a device has not communicated in the time specified in this field, then an Offline Alert is sent to ServiceNow.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h3 id=&#34;sensor-settings&#34;&gt;Sensor Settings&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;Include Undefined Sensors&lt;/dt&gt;
&lt;dd&gt;When not selected any unrecognized sensor value(s) will be trimmed from the messages before processing&lt;/dd&gt;
&lt;dt&gt;Enable Sensor Type Conversion&lt;/dt&gt;
&lt;dd&gt;When selected the raw sensor values will be convereted into the Data Types specified below&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-page.png&#34;
         alt=&#34;Thing Type Record Page&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Type Record Page&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;digital-twin-children&#34;&gt;Digital Twin Children&lt;/h2&gt;
&lt;p&gt;See the &lt;a href=&#34;../../digital-twins/&#34;&gt;Digital Twins&lt;/a&gt; page for details on configuring this section.&lt;/p&gt;
&lt;h2 id=&#34;sensors&#34;&gt;Sensors&lt;/h2&gt;
&lt;p&gt;This section defines all the Sensors for the Thing-Type. Note if you have a sample message in JSON format, you can paste the message in the Sample Message field and select Parse to auto-fill the Sensors section.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Label&lt;/dt&gt;
&lt;dd&gt;The display name of the sensor data on plots.&lt;/dd&gt;
&lt;dt&gt;Sensor Name&lt;/dt&gt;
&lt;dd&gt;The name of the field in the actual Thing&amp;rsquo;s data message.&lt;/dd&gt;
&lt;/dl&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Example&lt;/h4&gt;
Sensor Name = &lt;code&gt;sensorABC&lt;/code&gt;, expects a field like &lt;code&gt;{... &amp;quot;sensorABC&amp;quot;: 123, ...}&lt;/code&gt; to be in the data message from the Thing.
&lt;/div&gt;

&lt;dl&gt;
&lt;dt&gt;Data Type&lt;/dt&gt;
&lt;dd&gt;Specifies the type of data expected from each Sensor.&lt;/dd&gt;
&lt;dt&gt;Aggregate Function&lt;/dt&gt;
&lt;dd&gt;Determines how the data is aggregated in the Gateway.&lt;/dd&gt;
&lt;/dl&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NONE&lt;/strong&gt;: Use the last received value as the value for the Sensor for Calculations, Alerts, and Cloud updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SUM&lt;/strong&gt;: Sum all values received during the &lt;span class=&#34;doc fieldname&#34;&gt;Aggregate Interval&lt;/span&gt; as the value for the Sensor for Calculations, Alerts, and Cloud updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AVG&lt;/strong&gt;: Average all values received during the &lt;span class=&#34;doc fieldname&#34;&gt;Aggregate Interval&lt;/span&gt; as the value for the Sensor for Calculations, Alerts, and Cloud updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MIN&lt;/strong&gt;: Use the minimum of all values received during the &lt;span class=&#34;doc fieldname&#34;&gt;Aggregate Interval&lt;/span&gt; as the value for the Sensor for Calculations, Alerts, and Cloud updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MAX&lt;/strong&gt;: Use the maximum of all values received during the &lt;span class=&#34;doc fieldname&#34;&gt;Aggregate Interval&lt;/span&gt; as the value for the Sensor for Calculations, Alerts, and Cloud updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;context-fields&#34;&gt;Context Fields&lt;/h2&gt;
&lt;p&gt;Context Fields are configured in the &lt;a href=&#34;../context-data#thing-type-context-fields&#34;&gt;Context Data Setup Page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;ml-models&#34;&gt;ML Models&lt;/h2&gt;
&lt;p&gt;This section defines all the ML Models available on a Gateway. These Models have been developed by a Data Scientist and uploaded to the BDC IoT Cloud. &lt;strong&gt;NOTE:&lt;/strong&gt; This section is only available on Gateway Thing Types.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;See &lt;a href=&#34;../../machine-learning/&#34;&gt;Machine Learning&lt;/a&gt; for more information.&lt;/strong&gt;&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Label&lt;/dt&gt;
&lt;dd&gt;The label to use for the Calculated Field.&lt;/dd&gt;
&lt;dt&gt;Model Name&lt;/dt&gt;
&lt;dd&gt;The unique name of the model.&lt;/dd&gt;
&lt;dt&gt;Input Features&lt;/dt&gt;
&lt;dd&gt;The features required by this model. These will be mapped in the ML Inferences.&lt;/dd&gt;
&lt;dt&gt;Model Parameters&lt;/dt&gt;
&lt;dd&gt;Configuration values for the model itself.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-gateway-model.png&#34;
         alt=&#34;ML Models&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;ML Models&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;ml-inferences&#34;&gt;ML Inferences&lt;/h2&gt;
&lt;p&gt;This section defines all the ML Inference Fields for a Thing-Type. Each of these represent a result of executing an ML Model with a set of input values from IoT Sensors.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Label&lt;/dt&gt;
&lt;dd&gt;The label to use for the ML Inference field.&lt;/dd&gt;
&lt;dt&gt;Name&lt;/dt&gt;
&lt;dd&gt;The name of the ML Inference field. It&amp;rsquo;s also the name referenced by other Calculations and Alerts.&lt;/dd&gt;
&lt;dt&gt;Model&lt;/dt&gt;
&lt;dd&gt;The ML Model (defined on the corresponding Gateway Thing Type) that will be executed.&lt;/dd&gt;
&lt;dt&gt;Data Type&lt;/dt&gt;
&lt;dd&gt;Determines the assumed data type for the result of the Calculation.&lt;/dd&gt;
&lt;dt&gt;Formula&lt;/dt&gt;
&lt;dd&gt;The mapping of Model Input Features to IoT Sensor values.&lt;/dd&gt;
&lt;/dl&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-model-inference.png&#34;
         alt=&#34;ML Inferences&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;ML Inferences&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&#34;calculated-fields&#34;&gt;Calculated Fields&lt;/h2&gt;
&lt;p&gt;This section defines all the Calculated Fields for a Thing-Type. All Sensor data is aggregated prior to computing the Calculated Fields. It can be assumed that all Sensor data is up-to-date in conformance with the aggregation settings defined by each Sensor.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Label&lt;/dt&gt;
&lt;dd&gt;The label to use for the Calculated Field.&lt;/dd&gt;
&lt;dt&gt;Field Name&lt;/dt&gt;
&lt;dd&gt;The name of the field when this calculation is sent to the Cloud. It&amp;rsquo;s also the name referenced by other Calculations and Alerts.&lt;/dd&gt;
&lt;/dl&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Example&lt;/h4&gt;
Field Name = &lt;code&gt;calcABC&lt;/code&gt; results in &lt;code&gt;{... &amp;quot;calcABC&amp;quot;: 123, ...}&lt;/code&gt;, when data is sent to the Cloud and referenced as &lt;code&gt;calculation.calcABC&lt;/code&gt; in other Calculations and Alerts.
&lt;/div&gt;

&lt;dl&gt;
&lt;dt&gt;Data Type&lt;/dt&gt;
&lt;dd&gt;Determines the assumed data type for the result of the Calculation.&lt;/dd&gt;
&lt;dt&gt;Formula&lt;/dt&gt;
&lt;dd&gt;The actual formula to evaluate. The formula should be any Javascript statement that returns an assignable value. The formula can use any Sensor, Calculated Field, or Context Field in the computation. Sensor values are available in the &lt;code&gt;sensor&lt;/code&gt; namespace (e.g. &lt;code&gt;sensor.sensorABC&lt;/code&gt;), other Calculated Fields are available in the &lt;code&gt;calculation&lt;/code&gt; namespace (e.g. &lt;code&gt;calculation.calcABC&lt;/code&gt;), and Context Fields are available in the &lt;code&gt;context&lt;/code&gt; namespace (e.g. &lt;code&gt;context.contextABC&lt;/code&gt;).&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;alert-conditions&#34;&gt;Alert Conditions&lt;/h2&gt;
&lt;p&gt;This section defines all the Alert Conditions for a Thing-Type. Alerts are a special subset of Calculated Fields. Alerts are computed after all Calculated Fields have been computed, so it can be assumed that all Calculated Fields are using the most recent data. The result of the Alert calculation should be a boolean value, True if an Alert should be sent to ServiceNow, False otherwise.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Label&lt;/dt&gt;
&lt;dd&gt;The label to use for the Alert Condition.&lt;/dd&gt;
&lt;dt&gt;Condition Name&lt;/dt&gt;
&lt;dd&gt;The name of the field when this alert is sent to the Cloud.&lt;/dd&gt;
&lt;/dl&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Example&lt;/h4&gt;
Condition Name = &lt;code&gt;alertABC&lt;/code&gt; results in &lt;code&gt;{... &amp;quot;alertABC&amp;quot;: 123, ...}&lt;/code&gt;, when data is sent to the Cloud.
&lt;/div&gt;

&lt;dl&gt;
&lt;dt&gt;Alert Type&lt;/dt&gt;
&lt;dd&gt;Determines the type of Alert sent to ServiceNow. Each Alert sent to ServiceNow will include this Alert Type, which can be used in your Processes to take actions (like update the IoT Thing Status for a given Thing).&lt;/dd&gt;
&lt;dt&gt;Alert Interval / Units&lt;/dt&gt;
&lt;dd&gt;Determines how often this Alert is re-broadcasted. If the Alert condition has persisted longer than the amount of time specified by this field, the Alert will be sent to ServiceNow again to retrigger any automated processes. It is recommended to keep the Alert Interval at rather large values to avoid retriggering your processes.&lt;/dd&gt;
&lt;/dl&gt;
&lt;!-- NOT IMPLEMENTED --&gt;
&lt;!-- Impacts Uptime
: When enabled, this Alert Type will impact Uptime calculations for &#34;Downtime Periods&#34; and &#34;Servitization&#34; --&gt;
&lt;dl&gt;
&lt;dt&gt;Formula&lt;/dt&gt;
&lt;dd&gt;The actual formula to evaluate. The formula should be a Javascript statement, and can use any Sensor or Calculated Field in the calculation. The formula should result in a boolean value; It will be evaluated as if it&amp;rsquo;s boolean — i.e. if the value is &amp;ldquo;falsy&amp;rdquo; it will result in no Alert. Otherwise it will result in an Alert. Sensor values are available in the &lt;code&gt;sensor&lt;/code&gt; namespace (e.g. &lt;code&gt;sensor.sensorABC&lt;/code&gt;), Calculated Fields are available in the &lt;code&gt;calculation&lt;/code&gt; namespace (e.g. &lt;code&gt;calculation.calcABC&lt;/code&gt;), Context Fields are available in the &lt;code&gt;context&lt;/code&gt; namespace (e.g. &lt;code&gt;context.contextABC&lt;/code&gt;), and other Alert Conditions are available in the &lt;code&gt;alert&lt;/code&gt; namespace (e.g. &lt;code&gt;alert.alertABC&lt;/code&gt;).&lt;/dd&gt;
&lt;/dl&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Examples&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The formula, &lt;code&gt;sensor.SensorA &amp;gt; 40&lt;/code&gt; executes the relational operation, comparing &lt;em&gt;SensorA&lt;/em&gt; to the literal 40. If this Condition Name was, &lt;code&gt;DeviceThawed&lt;/code&gt;, then the resulting message to the Cloud could be:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
 &amp;#34;sensor&amp;#34;: {
  &amp;#34;SensorA&amp;#34;: 39
 },
 &amp;#34;alert&amp;#34;: {
  &amp;#34;DeviceThawed&amp;#34;: false
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;- OR -&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
 sensor: {
  &amp;#34;SensorA&amp;#34;: 41
 },
 alert: {
  &amp;#34;DeviceThawed&amp;#34;: true
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&amp;hellip; with the later triggering an Alert with the defined Alert Type to ServiceNow. Anytime an Alert is sent to ServiceNow, the accompanying data message is included and can be used in your Flows. See the Processes section for more details.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The formula, &lt;code&gt;calculation.CalcA === &amp;quot;Cold&amp;quot;&lt;/code&gt; executes the strictly-equal equality operator, comparing &lt;code&gt;CalcA&lt;/code&gt; to the literal &lt;code&gt;&amp;quot;Cold&amp;quot;&lt;/code&gt;. If this Condition Name was, &lt;code&gt;DeviceCold&lt;/code&gt;, then the resulting message to the Cloud could be:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
 &amp;#34;sensor&amp;#34;: {
  &amp;#34;SensorA&amp;#34;: 39
 },
 &amp;#34;calculation&amp;#34;: {
  CalcA: &amp;#34;Cold&amp;#34;
 },
 &amp;#34;alert&amp;#34;: {
  &amp;#34;DeviceCold&amp;#34;: true
 }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;dl&gt;
&lt;dt&gt;Sample Result&lt;/dt&gt;
&lt;dd&gt;This field is automatically calculated based on the formula entered using the data provided in the sample message to populate the sensor and calculation namespaces.&lt;/dd&gt;
&lt;/dl&gt;
&lt;h2 id=&#34;formula-editor&#34;&gt;Formula Editor&lt;/h2&gt;
&lt;p&gt;The Formula Editor Page now helps in writing formulas (both Calculated Fields and Alert Conditions). It allows the user to select data pills for any sensor, calculated field, digital twin value, function, or operator and copy them to the clipboard. The user can then paste the value anywhere in their formula field.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/formula-pills.png&#34;
         alt=&#34;Formula Editor with Data Pills&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Formula Editor with Data Pills&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Examples&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The formula, &lt;code&gt;sensor.SensorA + sensor.SensorB&lt;/code&gt;, will add the aggregated value of &lt;em&gt;SensorA&lt;/em&gt; to the aggregated value of &lt;em&gt;SensorB&lt;/em&gt;. If this Calculated Field name was &lt;code&gt;CalcA&lt;/code&gt;, then the resulting message to the Cloud could be:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
 sensor: {
  &amp;#34;SensorA&amp;#34;: 40,
  &amp;#34;SensorB&amp;#34;: 2
 },
 calculation: {
  &amp;#34;CalcA&amp;#34;: 42
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;The formula, &lt;code&gt;(sensor.SensorA &amp;gt; 40) ? &amp;quot;Not Cold&amp;quot; : &amp;quot;Cold&amp;quot;&lt;/code&gt;, will execute the Javascript ternary operator (basically an assignable if-else statement). If this Calculated Field name was &lt;code&gt;ColdState&lt;/code&gt;, then the resulting message to the Cloud could be:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
 sensor: {
  &amp;#34;SensorA&amp;#34;: 39
 },
 calculation: {
  &amp;#34;ColdState&amp;#34;: &amp;#34;Cold&amp;#34;
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;- OR -&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
 &amp;#34;sensor&amp;#34;: {
  &amp;#34;SensorA&amp;#34;: 41
 },
 &amp;#34;calculation&amp;#34;: {
  &amp;#34;ColdState&amp;#34;: &amp;#34;Not Cold&amp;#34;
 }
}.
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;dl&gt;
&lt;dt&gt;Sample Result&lt;/dt&gt;
&lt;dd&gt;This field is automatically calculated based on the formula entered using the data provided in the sample message to populate the sensor and calculation namespace.&lt;/dd&gt;
&lt;/dl&gt;
&lt;!-- NOT IMPLEMENTED --&gt;
&lt;!-- ## State Machine Editor

A State Machine is a special kind of Calculated Field which tracks the active &#34;State&#34;, as well as any other custom local variables. When one of the conditional transitions changes the state, actions will be executed allowing you to implement any custom business logic necessary. For a full overview of the undelying State Machine engine see: [State Machines](../../../../edge-processing/state-machines).

The editor simplifies the creation / updating of these State Machines. Use the buttons at the top of the window for adding new Local Variable, States and Transitions.

&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/iot-setup/thing-types/assets/thingtypes-statemachine-editor.png&#34;
         alt=&#34;State Machine Editor&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;State Machine Editor&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


### Local Variables

Variable
: The unique name of this variable

Value
: Typically a sensor value. If instead you&#39;d like to create a track a non-sensor value, use the &#34;Formula...&#34; option

Initialize Only
: This variable will only be updated on initialization, not on every step. This allows you to modify and save the value in entry / during / exit actions

### States

State
: The unique name of the state. These state names can use a dot-notation to create sub-states as well (e.g. &#34;running.normal&#34; &amp; &#34;running.hot&#34; would be sub-states of &#34;running&#34;)

Initial
: Exactly 1 State must be marked as the initial state for each &#34;level&#34; (for sub-states). This is the state the machine will begin in for that &#34;level&#34;

Entry / During / Exit Actions
: Click Add / Edit to modify the formulas. These actions are executed corresponding to state changes / steps.

### Transitions

Priority
: Numeric sort order for transitions, should be unique to the &#34;From State&#34;

From State
: When the machine is in this active state, the condition will be evaluated. The first transition condition, ordered by Priority, which evalues to true will be executed.

To State
: The state which will become active after the transition

Condition
: Must evaluate to true/false. If true, this transition will execute. --&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Thing Type Synchronizing</title>
      <link>/docs/servicenow/iot-setup/thing-types/thing-type-syncing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/servicenow/iot-setup/thing-types/thing-type-syncing/</guid>
      <description>
        
        
        &lt;p&gt;Thing Types definitions are stored in both ServiceNow and the IoT Cloud. You can update and Save them to ServiceNow, and choose when to &amp;ldquo;Push&amp;rdquo; them to the cloud. The &amp;ldquo;Last Modified&amp;rdquo; and &amp;ldquo;Last Synchronized&amp;rdquo; Dates help you to track their status.&lt;/p&gt;
&lt;!-- NOT IMPLEMENTED? --&gt;
&lt;!-- 

&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
In addition to synchronizing to/from the IoT Cloud, the Thing Types and all other Bolt Data Connect Metadata can be deployed between Sandboxes or ServiceNow Instances as Custom Metadata, using Change Sets, Packages, or any other Standard ServiceNow Deployment tools.
&lt;/div&gt;
 --&gt;
&lt;!-- NOT IMPLEMENTED --&gt;
&lt;!-- &lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/iot-setup/thing-types/assets/thingtypes-change-mgmt.png&#34;
         alt=&#34;Thing Types Change Mgmt&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Types Change Mgmt&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
 --&gt;
&lt;!-- NOT IMPLEMENTED --&gt;
&lt;!-- 

&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
&lt;p&gt;As part of the Winter &amp;lsquo;25 Release, the &amp;ldquo;Last Modified&amp;rdquo; and &amp;ldquo;Last Synchronized&amp;rdquo; fields behave differently:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;System Modstamp is the last modified date from the Custom Metadata record&lt;/li&gt;
&lt;li&gt;Last Synchronized is no longer deployable between orgs. This removes confusion around whether or not Thing Types are synchronized after deploying them between Salesforce orgs.&lt;/li&gt;
&lt;li&gt;The new &amp;ldquo;Multi-Sync&amp;rdquo; action is available as described below.&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
 --&gt;
&lt;h2 id=&#34;import-new-thing-types&#34;&gt;Import New Thing Types…&lt;/h2&gt;
&lt;p&gt;From the main Thing Types screen, you can select the Import action to Import Thing Types from either the IoT Cloud or a local file into ServiceNow. There are two tabs, Remote Configurations and Upload File.&lt;/p&gt;
&lt;h3 id=&#34;remote-configurations&#34;&gt;Remote Configurations&lt;/h3&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
This import brings the full details of the selected thing types and their dependencies stored on the IoT Cloud.
&lt;/div&gt;

&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-import.png&#34;
         alt=&#34;Thing Types Import&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Types Import&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-import-workspace.png&#34;
         alt=&#34;Thing Types Workspace Import&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Types Workspace Import&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&#34;upload-file&#34;&gt;Upload File&lt;/h3&gt;
&lt;p&gt;Select a file saved using the &lt;a href=&#34;#export-thing-types&#34;&gt;Export&lt;/a&gt; action to import all of the thing types and their dependencies.&lt;/p&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
This import brings the full details of the selected thing types and their dependencies stored on the local file.
&lt;/div&gt;

&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-import-upload.png&#34;
         alt=&#34;Upload Thing Types&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Upload Thing Types&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;!-- NOT IMPLEMENTED --&gt;
&lt;!-- ## Multi-Sync Δ (Push multiple Thing Types to the IoT Cloud)

From the main Thing Types screen, you can deploy multiple Thing Type definitions to the IoT Cloud (and the Edge Gateways).

&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/salesforce/iot-setup/thing-types/assets/thingtypes-multi-sync.png&#34;
         alt=&#34;Thing Types Multi Sync&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Types Multi Sync&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
 --&gt;
&lt;h1 id=&#34;export-thing-types&#34;&gt;Export Thing Types&lt;/h1&gt;
&lt;p&gt;From the main Thing Types list page in the workspace, you can select thing types and click the Export action to save your thing types configurations to a local file. This file can be used to backup and move changes between instances.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-export.png&#34;
         alt=&#34;Export Thing Types&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Export Thing Types&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h1 id=&#34;sync&#34;&gt;Sync&lt;/h1&gt;
&lt;h2 id=&#34;sync--pull-from-the-hahahugoshortcodes14hbhb&#34;&gt;Sync ∇ (Pull from the IoT Cloud)&lt;/h2&gt;
&lt;p&gt;When Editing a Thing Type, you can choose to Sync the full definition from the IoT Cloud into ServiceNow. This would typically be used if the Thing Type has been edited and you wish to rollback, or if you are setting up a new ServiceNow Instance but reusing a IoT Cloud org.&lt;/p&gt;
&lt;h2 id=&#34;sync-δ-push-to-the-hahahugoshortcodes17hbhb&#34;&gt;Sync Δ (Push to the IoT Cloud)&lt;/h2&gt;
&lt;p&gt;To deploy the latest Thing Type definition to the IoT Cloud (and the Edge Gateways), simply Sync the Thing Type.&lt;/p&gt;
&lt;!-- NOT IMPLEMENTED --&gt;
&lt;!-- 

&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
This Sync button is only enabled when the Thing Type has been successfully &amp;ldquo;Saved&amp;rdquo; since it was last Synchronized.
&lt;/div&gt;
 --&gt;
&lt;h2 id=&#34;audit-trail-from-the-hahahugoshortcodes20hbhb&#34;&gt;Audit Trail (From the IoT Cloud)&lt;/h2&gt;
&lt;p&gt;To view the history of a Thing Type definition in the IoT Cloud, use the &lt;strong&gt;View History&lt;/strong&gt; UI Action to view the Audit Trail.&lt;/p&gt;
&lt;figure class=&#34;doc figure wide&#34;&gt;&lt;img src=&#34;/docs/servicenow/iot-setup/thing-types/assets/thingtypes-audit-trail.png&#34;
         alt=&#34;Thing Type Audit Trail&#34;/&gt;&lt;figcaption&gt;
            &lt;p&gt;Thing Type Audit Trail&lt;/p&gt;
        &lt;/figcaption&gt;
&lt;/figure&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;View Detail&lt;/strong&gt; button shows the detailed content behind each change&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Revert&lt;/strong&gt; button will replace the Thing Type editor with the previous values. After reviewing the changes the user can then Save and Sync as they wish. This &lt;strong&gt;will not&lt;/strong&gt; delete any records, including sensors, digital twin roles, alert conditions, calculated fields, context fields, ml models, and model interfaces. These records need to be deleted manually through any supported method in ServiceNow.&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;


      </description>
    </item>
    
  </channel>
</rss>
