# Retrieving all tag references from a Vision Window

**URL:** <https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856>\
**Category:** Ignition\
**Tags:** ignition81, vision\
**Created:** [June 26, 2025, 5:15pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856 "2025-06-26T17:15:54Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Porter\_Ellis](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@Porter\_Ellis](https://forum.inductiveautomation.com/u/Porter_Ellis)\
**Post date:** [June 26, 2025, 5:15pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/1 "2025-06-26T17:15:54Z")

</div>

I know how to use scripting to traverse the Tag Tree Browser and collect information, but is there a way to traverse the Project Tree Browser (given a specific window path) and collect all tags referenced/bound on that window? The functionality that is present in the Search/Replace would be perfect, but I want to redirect the referenced tag paths to a dataset.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 27, 2025, 6:24am UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/2 "2025-06-27T06:24:40Z")

</div>

The simplest and most complete way would be to query the tag reference tracker database if this is turned on and you have a version with it in it. This will include both statically bound tagpaths as well as dynamically bound tag paths via indirect tag bindings, the `tag()` expression function (although you should never use this in the gui, only in expression tags), and tags read/written to via script, _assuming the tag ref tool has been collecting references for long enough to capture all dynamically referenced tags_.

Otherwise, if you want to do this outside of the designer, you'd need to ensure that your Vision Project Properties are set to save Vision resources as XML and not binary (and if it _was_ binary, save all of your Windows, or at least the ones you want to extract tags from), and then process the xml files on the filesystem.

If you want to do it in the designer with the Window open, then you can write a script to run on the Window that will traverse each component and get any tag bindings on them (search the forum for how, I don't have the code off hand).

Note: the last two methods will _not_ include dynamically referenced tags whereas the 1st option will, as long as the tag ref has been running for a while.

---

<div class="post-metadata">

**Author:** ![Porter\_Ellis](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@Porter\_Ellis](https://forum.inductiveautomation.com/u/Porter_Ellis)\
**Post date:** [June 27, 2025, 2:56pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/3 "2025-06-27T14:56:46Z")

</div>

Great explanation! I will look into the tag reference tracker!

---

<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:** [June 27, 2025, 4:43pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/4 "2025-06-27T16:43:02Z")

</div>

Note that one fundamental weakness of the tag reference tracker for this use case is that it aggregates all Vision references together under one lump "Vision" umbrella ☹; there's no disambiguation of where in Vision the reference is coming from.

---

<div class="post-metadata">

**Author:** ![Porter\_Ellis](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@Porter\_Ellis](https://forum.inductiveautomation.com/u/Porter_Ellis)\
**Post date:** [June 27, 2025, 4:49pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/5 "2025-06-27T16:49:48Z")

</div>

I managed to write a script that does this from the window directly. I am utilizing binding adapters and property scanning to find tag paths. This probably won't work for expressions, but it is a fantastic place to start.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 28, 2025, 12:20am UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/6 "2025-06-28T00:20:24Z")

</div>

> [@paul-griffith](#):
>
> there's no disambiguation of where in Vision the reference is coming from.

Ah, I didn't know that! Is that a can't do or a too hard to do? Maybe too much network traffic?

---

<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:** [June 30, 2025, 4:11pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/7 "2025-06-30T16:11:28Z")

</div>

Mostly a "we're not doing as part of 'phase 1' of TRT" (a decision that was made outside of my hands). It would be a technical challenge due to the way tag subscriptions are managed by Vision, but not at all insurmountable.

---

<div class="post-metadata">

**Author:** ![Porter\_Ellis](https://avatars.discourse-cdn.com/v4/letter/p/ed8c4c/32.png) [@Porter\_Ellis](https://forum.inductiveautomation.com/u/Porter_Ellis)\
**Post date:** [July 5, 2025, 6:06pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/8 "2025-07-05T18:06:16Z")

</div>

Has Inductive ever considered a 'refactor tag name' functionality based on this tool? As a shameless request for more functionality goes, that would be an incredible tool to give users. I often find myself hesitating to change tag names because the name is so deeply embedded in the architecture of the project. If this is not on the docket for later addition to the codebase, is there a way to write a module that adds functionality to the tag right-click menu?

---

<div class="post-metadata">

**Author:** ![mauricio\_caceres](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@mauricio\_caceres](https://forum.inductiveautomation.com/u/mauricio_caceres)\
**Post date:** [July 7, 2025, 9:17pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/9 "2025-07-07T21:17:23Z")

</div>

> [@nminchin](#):
>
> that your Vision Project Properties are set to save Vision resources as XML and not binary (and if it _was_ binary, save all of your Windows, or at least the ones you want to extract tags from)

Hi there!  
I'm looking for to do exactly what you mention in the second paragraph of the comment.  
It is really possible to ensure that Vision Project Properties are set to save Vision Resources as XML and not binary?

Could you please elaborate a bit about this topic. I really would like to explore this possibility.

Regards!

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [July 8, 2025, 1:37am UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/10 "2025-07-08T01:37:25Z")

</div>

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/d/9d0cfbf6f29b26ef6193db7b021f708c99d0db99.png)

Auto = Binary. Not sure why there is an Auto to be honest...

---

<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:** [July 21, 2025, 4:52pm UTC](https://forum.inductiveautomation.com/t/retrieving-all-tag-references-from-a-vision-window/107856/11 "2025-07-21T16:52:27Z")

</div>

Auto reserves us the right to change the default at some point in the future, or come up with an additional (i.e. more efficient/more human readable) encoding.

> [@Porter\_Ellis](#):
>
> Has Inductive ever considered a 'refactor tag name' functionality based on this tool?

Yes, that's the nature followup idea to the tag reference tracker. It's definitely something we've talked about, but there aren't currently any concrete plans to implement it nor a timeline to do so.
