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.