# Edit Tag Group settings via script?

**URL:** <https://forum.inductiveautomation.com/t/edit-tag-group-settings-via-script/91384>\
**Category:** Ignition\
**Created:** [June 5, 2024, 3:20am UTC](https://forum.inductiveautomation.com/t/edit-tag-group-settings-via-script/91384 "2024-06-05T03:20:44Z")\
**Posts on this page:** 3\
**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:** [June 5, 2024, 3:20am UTC](https://forum.inductiveautomation.com/t/edit-tag-group-settings-via-script/91384/1 "2024-06-05T03:20:44Z")

</div>

I need to make changes to a tag group on 15 gateways connected via the GAN, but can't do this through the EAM since it's a gw configuration which can't be sent 😕 I don't want to connect to 15x designers to change this since i'm lazy and that's a LOT of logging in. Hence..

How can I edit tag groups via script?

---

<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 5, 2024, 3:24am UTC](https://forum.inductiveautomation.com/t/edit-tag-group-settings-via-script/91384/2 "2024-06-05T03:24:26Z")

</div>

Nevermind, my initial search yielded nothing but I found a post 🙂

> [@\[Feature-2684\]Scripting - Tag group - Create / Delete](https://forum.inductiveautomation.com/t/feature-2684-scripting-tag-group-create-delete/47293/23):
>
> It hasn’t been picked up, but even if it did you’d have to send a message because it would only be implemented in the gateway scope.

---

<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 6, 2024, 2:39am UTC](https://forum.inductiveautomation.com/t/edit-tag-group-settings-via-script/91384/3 "2024-06-06T02:39:55Z")

</div>

Maybe this will help someone...  
This will create or replace a tag group called "Test" set to Direct mode, OPC Polled (not subscribed), @ 1000ms.

```python
import traceback
from com.inductiveautomation.ignition.gateway import IgnitionGateway
from com.inductiveautomation.ignition.common.tags import config
from com.inductiveautomation.ignition.common.config import PropertyValue, BasicPropertySet
from com.inductiveautomation.ignition.common.tags.config import CommonTagGroupProperties, TagGroupMode
from com.inductiveautomation.ignition.common.tags.config.types import OpcTagGroupProperties
from com.inductiveautomation.ignition.common.sqltags.model.types import OpcDataMode
	
try:
	# gets the tag provider object
	provider = IgnitionGateway.get().getTagManager().getTagProvider('default')
	# gets the existing tag groups objects -- not actually used in the rest of the code
	tagGroups = provider.getTagGroupsAsync().get()
	# create a new tag group which is just a basic property set
	newTagGroupConfig = BasicPropertySet()
	# add properties into the property set that relate to the Tag Group configuration
	# first set the Tag Group's name
	newTagGroupConfig.set(PropertyValue(CommonTagGroupProperties.Name, 'Test'))
	newTagGroupConfig.set(PropertyValue(CommonTagGroupProperties.Mode, TagGroupMode.Direct))
	newTagGroupConfig.set(PropertyValue(CommonTagGroupProperties.Rate, 1000))
	newTagGroupConfig.set(OpcTagGroupProperties.OPC_DATA_MODE, OpcDataMode.Polled)
	
	# create a new tag group configuration object
	newConfig = config.TagGroupConfiguration(newTagGroupConfig)
	# add/replace the new tag group to the gateway
	result = provider.saveTagGroupsAsync([newConfig]).get()
	system.perspective.print('Result: {}'.format(result))

except:
	system.perspective.print(traceback.format_exc())

```
