# Automation Professionals' Integration Toolkit Module

**URL:** <https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934>\
**Category:** 3rd Party Modules\
**Tags:** ignition83, scripting, ignition81, vision, perspective\
**Created:** [June 13, 2023, 12:42am UTC](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934 "2023-06-13T00:42:35Z")\
**Posts on this page:** 1\
**Showing post:** 94

<div class="post-metadata">

**Author:** ![Felipe\_CRM](https://avatars.discourse-cdn.com/v4/letter/f/dfb087/32.png) [@Felipe\_CRM](https://forum.inductiveautomation.com/u/Felipe_CRM)\
**Post date:** [March 12, 2024, 7:49pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934/94 "2024-03-12T19:49:54Z")

</div>

When trying to implement [Tag Max Value no SQL - #2 by pturmel](https://forum.inductiveautomation.com/t/tag-max-value-no-sql/35649/2) I found that using key access with brackets i.e. `state['max']` results in an `Error_ExpressionEval`. Fortunately, using `state.get('max')`. still works correctly.

EDIT: I'm guessing it's because it throws a `KeyError`, d'oh! I was thinking that maybe I could "pre-load" the key but I also bet that it resets the "state" dictionary whenever the expression is edited.

---

_[View the full topic](https://forum.inductiveautomation.com/t/automation-professionals-integration-toolkit-module/74934)._
