# Store tag history from a module

**URL:** <https://forum.inductiveautomation.com/t/store-tag-history-from-a-module/108820>\
**Category:** Ignition 8.3 Early Access\
**Created:** [July 23, 2025, 8:16am UTC](https://forum.inductiveautomation.com/t/store-tag-history-from-a-module/108820 "2025-07-23T08:16:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![e.sagnelonge](https://avatars.discourse-cdn.com/v4/letter/e/7cd45c/32.png) [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Post date:** [July 23, 2025, 8:16am UTC](https://forum.inductiveautomation.com/t/store-tag-history-from-a-module/108820/1 "2025-07-23T08:16:59Z")

</div>

Hello,

I'm currently working in version 8.3 and looking for a way to push historical tag values.

Here’s what I’ve found so far:  
The history management system has been redesigned and moved into a separate module called **"historian"** , and as a result, the **HistoryManager** has been removed.

Currently, in version 8.1, I access **storeHistory** from the **HistoryManager** in order to push tag history values:  
`gatewayContext.getHistoryManager().storeHistory(...)`

According to the documentation for `system.tag.storeTagHistory`, it now seems that we should use `system.historian.storeDataPoints` instead.

`system.historian.storeDataPoints` relies on the **storeAtomicPoints** function from **HistorianManagerImpl**.

It's possible to retrieve the instance of **HistorianManagerImpl** using the **getHistorianManager** method from **HistorianGatewayHook**.

Is there a cleaner and more straightforward way to push historical tag values (ideally without relying on reflection or accessing the ScriptManager)?

---

<div class="post-metadata">

**Author:** ![Kurt.Larson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kurt.larson/32/6426_2.png) [@Kurt.Larson](https://forum.inductiveautomation.com/u/Kurt.Larson)\
**Post date:** [July 23, 2025, 7:17pm UTC](https://forum.inductiveautomation.com/t/store-tag-history-from-a-module/108820/2 "2025-07-23T19:17:00Z")

</div>

As you noted, storing Historian data has been moved into the Historian module rather than coupled with the Store & Forward system (old `HistoryManager`, now called `StoreAndForwardManager`) for storage.

The most correct method would be to grab the Historian's `StorageEngine` using `HistorianManager.get(gatewayContext).getStorageEngine(historianName)`, and then to store `AtomicPoints` through `StorageEngine::storeAtomic`. Creating atomic points can be done using `DataPointFactory::createAtomicPoint`.

You shouldn't need to use Reflection. New Historian SDK [dependencies](https://forum.inductiveautomation.com/t/8-3-early-access-sdk-dependencies/93760) will be available on 7/29 that will expose `historian-gateway` and `historian-common`. Currently only `historian-gateway` is exposed through the `historian` artifact (which is now renamed to match).
