# Tag Object in Event Scripts Documentation

**URL:** <https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [February 8, 2023, 1:51pm UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576 "2023-02-08T13:51:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [February 8, 2023, 1:51pm UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576/1 "2023-02-08T13:51:43Z")

</div>

The documentation describes the modern approach to accessing parameters via the tag object:  
`paramValue =tag['parameters']['myParam']`

[https://docs.inductiveautomation.com/display/DOC81/Tag+Event+Scripts](https://docs.inductiveautomation.com/display/DOC81/Tag+Event+Scripts)

A thread here alludes to some other properties:

> [@Tag change script "valueChanged": tag object](https://forum.inductiveautomation.com/t/tag-change-script-valuechanged-tag-object/65763):
>
> Hi guys, This is a "PyTagNodeWrapper", but I couldn't find anything with that name in the docs. Is it even supposed to be exposed to scripts? This is just out of curiosity. I was trying to get to a BasicTagPath object to retrieve the tag's folder path, but it seems that system.tag.writeBlocking works with a relative path, so I didn't need it after all.

I could not find any other documentation as to what else is contained in that object. I do a lot of string manipulation of the `tagPath` in event script to read properties, and I think some of those properties might be in the tag object.

Is there some more detail somewhere or even some kind of recursive introspection one can do on that tag object?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 8, 2023, 10:50pm UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576/2 "2023-02-08T22:50:28Z")

</div>

Most of the known properties are going to be from this list of constants:  
[https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.24/com/inductiveautomation/ignition/common/tags/config/properties/WellKnownTagProps.html](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.24/com/inductiveautomation/ignition/common/tags/config/properties/WellKnownTagProps.html)

You can always `dir()` the object to do introspection at runtime. It looks like `tag.getPropertyModel().getProperties()` will also have a pretty complete list from the runtime object.

---

<div class="post-metadata">

**Author:** ![deon.korb](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@deon.korb](https://forum.inductiveautomation.com/u/deon.korb)\
**Post date:** [February 9, 2023, 7:00am UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576/3 "2023-02-09T07:00:36Z")

</div>

Thanks. I'll have a look to see if there is something I can use rather than tag reads

---

<div class="post-metadata">

**Author:** ![tyler.bennett](https://avatars.discourse-cdn.com/v4/letter/t/f04885/32.png) [@tyler.bennett](https://forum.inductiveautomation.com/u/tyler.bennett)\
**Post date:** [March 18, 2025, 10:49pm UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576/4 "2025-03-18T22:49:57Z")

</div>

> [@paul-griffith](#):
>
> tag.getPropertyModel().getProperties()

That does not appear to work (v8.1.45).  
I'm curious as to how I could interrogate the `tag` object itself (as is available in a tag value changed script) to see what properties are available.  
`dir(tags)` returns the attributes listed below and its not clear how any of these would let me know I can do things like `tag.name`, `tag.path`, `tag.customProperty` etc.  
`[' __class__', ' __delattr__', ' __doc__', ' __ensure_finalizer__', ' __findattr_ex__', ' __finditem__', ' __format__', ' __getattribute__', ' __hash__', ' __init__', ' __new__', ' __reduce__', ' __reduce_ex__', ' __repr__', ' __setattr__', ' __str__', ' __subclasshook__', 'equals', 'get', 'hashCode']`

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 18, 2025, 11:01pm UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576/5 "2025-03-18T23:01:10Z")

</div>

Use reflection/introspection (prerhaps from my `inspect.py` script or [system.reflection.object()](https://www.automation-pros.com/toolkit/doc/reflection.html#object) from my Integration Toolkit) to obtain the precise java class and/or superclasses of the object handed to your script, and log its canonical name. Look that class up in Ignition's [JavaDocs](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.47/index.html) to learn all of the possibilities.

Items not documented in the primary Ignition user manual are basically implementation details exposed to the SDK, and are not guaranteed to be supported in the future. (That's the whole point to leaving them out of the manual.)

If you have my toolkit installed, this one-liner will log a great deal of useful information:

```python
	system.util.getLogger("Reflection").info(system.reflection.object(tag))

```

---

<div class="post-metadata">

**Author:** ![tyler.bennett](https://avatars.discourse-cdn.com/v4/letter/t/f04885/32.png) [@tyler.bennett](https://forum.inductiveautomation.com/u/tyler.bennett)\
**Post date:** [March 18, 2025, 11:59pm UTC](https://forum.inductiveautomation.com/t/tag-object-in-event-scripts-documentation/69576/6 "2025-03-18T23:59:17Z")

</div>

> [@pturmel](#):
>
> If you have my toolkit installed, this one-liner will log a great deal of useful information:
> 
> ```python
> system.util.getLogger("Reflection").info(system.reflection.object(tag))
> 
> ```

Thanks, seems like it's time I take a look into that toolkit.
