Data Tags (SYSTAG) - an under-utilized feature in Kinetic

There is this feature that is in Kinetic called Data Tags… in my surveying of customers, I have found that it is one of those feature that people simply do not know about.
The purpose of a data tag is to allow you to “tag” a record for easy lookup later. The retrieval of that record is done via search. a tag can be reused (ie… more than one record can use the same tag).

Some facts:

  1. Data Tags are a way of adding additional "tag"s (indexed key) to nearly any record within Kinetic.
  2. Data Tags are stored in the SYSTAG table. This table is indexed and very fast. It has a foreign pointer to the “real” record. (For the tech heads, YES you can create your own entries in the SYSTAG table via REST, and you can also create BAQs that search and return results in the SYSTAG table to do some magical dashboards and things.)
  3. Data Tags can be marked as Public or Private…
  4. Private tags are tags that any individual can add to a record and later search. Private tags are assigned to the USERID that created it and only that user can see it (unless you write a BAQ to see it from SYSTAG table).
  5. Public tags are for ALL users to be shared. All users can add/delete public tags.
  6. Data tags can be added manually (via the UI) or can be automatically added (and removed) via BPMs.

Use Cases:
There are many use cases. I have seen records “tagged” by BPMs for later retrieval for review, or manually tagged by the user for records that they want to “remember” to look for later. I have sometimes added a quick datatag called “tim” or “Review” so that later I can search for all the records I tagged and fix them.
DataTags could be used to classify parts/customers/orders… i have seen customers add multiple data tags on each part to help classify them (see screenshot below). Classify Customers into different groupings. An example of Parts… go into every part that is a NUT, and tag it with NUT… then when you search for NUT, you will find them all (even if NUT is not part of the description).
Remember that every record can have MULTIPLE tags and each tag can point to multiple values.
ALSO, recently we have used DataTags with Automation Studio to link record IDs from one outside table to another… example: Salesforce Account ID vs Kinetic CustomerID… we put the salesforce account ID into the DataTag which is then what we use to lookup the customer quickly.
One time years ago, someone asked if they could have “every new order” that came in via the WEB automatically come to a dashboard for review… once reviewed, the would fall off the dashboard. I did this with DataTags… a BPM added the DataTag automatically… then in an updateable dashboard, I had an option to clear the datatag (checkbox triggered) when the review was complete.

So… how do you add a tag? Go into ANY screen, and right-click on the primary field (customer ID, Part, Order#, PO#, etc)… choose Tag Record:

Then add (or remove) your tags:

To SEARCH for tags… press the search button and then choose Search… then choose the search type “Data Tags” and enter the tags you want to search for (note that if you search for multiple tags, this returns an “or” search).


SOOOO under-utilized! BTW, they don’t show up in the Kinetic UI until 2022.1 but they are available in Directives, and the classic UI in 2021.x.

Thanks Tim! We just started using it for integrations (per your suggestion) and it is working great!

Pretty easy to tag a record for “pending sync” without having to add UD fields


We use it currently for POApvMsg to make sure we don’t spam the user if they already received an email (Approver, User, Buyer).

Should have just used widgets…


I have used it when testing - tag all of the jobs that have an issue so I could bring them up as a group (oops - can only do that in Classic).

Still a good way to put a “post-it” on an object. - Just have to remember what the tag was.


That’s been a struggle for a few of our users.

@LarsonSolutions @Randy THIS is why I do personal tags very simply… “TIM” or “CHECK” or something that I can remember. Making complex tags make them hard to find again.
Note that you CAN create a Query/Dashboard that shows all tags that a person has generated.


Is there any way to search for multiple tags using an AND function? That would be very useful for us…

Explain what you’re wanting to do. We’ll figure it out.

1 Like

not with base code, but you could create a BAQ to do this, and turn it into a quicksearch. the SysTag table is available for BAQs… you do need to learn how it functions… basically it has your tags, who created the tag, whether it is private or public, and the associated table and a link back to the actual record… so if you are wanting to look at all active systag records for the part table, you would first have to filter out the part table from SysTag.


Great thanks for this Tim - @klincecum we are looking to filter through families of thousands of very similar items which sometimes belong to multiple categories (so a hierarchical category structure doesn’t always work). I’m thinking tags would be the best way for our users to find what they want, but we would need to get that AND function working to really filter down the results.

So basically you’re wanting to sort through metadata.

I think you should start a new thread once you figure out some more details, like how you would like to consume that information etc.

Thanks, I’ll make a new thread when we get a bit further along.

Can we use Data Tags so they are displayed for everyone when a specific tag exists? We’d like to tag customers that are in collections so it’s obvious for everyone. Or would we be better off adding another UD field or two for maybe 50 records out of 1.5 million customers…

I was thinking a row rule to highlight the Customer.Name red when a tag ‘COL-LGL’ exists on the customer record, but couldn’t see how to access the systag table in custom conditions…

Are datatags available to drive an epiShape?

Or a BPM pop-up when the record is loaded? (ugh, one more thing for users to have to click away)?

Just wondering what you guys all think. Thanks!

I’ve been using Data Tags back to the E9 days at least.
I even did a training session at Insights 2017 on different ways they can be used.
Here are some examples:

  • Marketing needs photos of products and wants to be emailed when the last operation of the part is started. They add ‘PHOTO’ shared tag on all the parts they need. Used a BPM to identify and email the marketing team. Once the photo is obtained Marketing removes the data tag from the part.
  • New products are being developed and they want to track the sales of those products for 3 years after the data tag was created on the part. (data tags are date stamped so the BAQ only pulls for data tags that are under 3 yrs old)
  • Approval Queues - Once a record meets certain criteria, use a BPM to put a Data Tag on it, which may drive a Dashboard or a Manager just searches for everyday or week or whatever to review the record and then clear the Data Tag when ok. Likewise, a BPM and Data Tag can prevent additional actions on the record if the Data Tag exists.
  • Material Planners want to keep an eye on certain Parts, and those parts can change. They add and remove an agreed to data tag as needed. Data tags pulled into a Dashboard that includes additional information.
  • Data Entry confirmation BPM Popup - Due to how some customers do business or are organized, there can be accidental errors or oversights. To help mitigate the mistakes, a shared tag of ‘DoubleCheck’ can be placed on a Customer, then a BPM can be setup on Sales Order Entry Methods to help remind the user to doublecheck a few things for those specific customers.
  • Ad Hoc BAQ Index. Have a BPM or two that when certain conditions happen or ‘unhappen’ add or remove the Data Tag. Then a Dashboard displays the related records.

I really like to use Data Tags instead of UD Checkboxes, everyone wants and asks for another checkbox that after a few years no one needs or forgets about them. Especially when it’s obviously a temporary case.

1 Like