# Writing to a tag via system.opc.write\* through Remote Tag Providers

**URL:** <https://forum.inductiveautomation.com/t/writing-to-a-tag-via-system-opc-write-through-remote-tag-providers/110474>\
**Category:** Ignition\
**Created:** [September 9, 2025, 3:13am UTC](https://forum.inductiveautomation.com/t/writing-to-a-tag-via-system-opc-write-through-remote-tag-providers/110474 "2025-09-09T03:13:48Z")\
**Posts on this page:** 2\
**Page:** 1

<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:** [September 9, 2025, 3:13am UTC](https://forum.inductiveautomation.com/t/writing-to-a-tag-via-system-opc-write-through-remote-tag-providers/110474/1 "2025-09-09T03:13:48Z")

</div>

I want to be able to write to OPC tags via `system.opc.write*` functions which is easy when you have a single gateway, however to write a wrapper function that allows for more complex gateway networks with remote tag providers (RTP) (and perhaps nested remote tag providers) is _significantly_ more complex.

I've hacked this before by reading the remote tag provider details from the internal config db and this works for a gateway with an RTP pointing directly to a TP, but if there are any hops to other GWs it would fail (assuming this is even a thing). It's also not nice reading from the config db.. Is there a better way to do this?

---

<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:** [September 9, 2025, 12:47pm UTC](https://forum.inductiveautomation.com/t/writing-to-a-tag-via-system-opc-write-through-remote-tag-providers/110474/2 "2025-09-09T12:47:54Z")

</div>

See the reflection I use in my tag report utility on the exchange.
