You have already developed your web-based automation framework in Katalon Groovy. Your frontend application uses Polymer that uses shadow dom. Katalon doesn't provide any way to deal with multi level shadow-dom elements. Your application page contains custom HTML tags that is not always easy to be identified directly using Katalon.
You can use this Katalon Keyword Plugin by importing jar file or by installing plugin from Katalon Plugin store in your project.
WebElement findElement(String cssSelector) : use this method if want single element from DOM
List<WebElement> findElements(String cssSelector) : use this if you want to find all elements from DOM
WebElement findElementInsideParent(WebElement parent, String cssSelector) : use this if you want to find a single elements from parent object DOM
List<WebElement> findElementsInsideParent(WebElement parent, String cssSelector) : use this if you want to find all elements from parent object DOM
WebElement getShadowElement(WebElement parent,String selector) : use this if you want to find a single element from parent DOM
List<WebElement> getAllShadowElement(WebElement parent,String selector) : use this if you want to find all elements from parent DOM
WebElement getParentElement(WebElement element) : use this to get the parent element if web element.
List<WebElement> getChildElements(WebElement parent) : use this to get all the child elements of parent element.
List<WebElement> getSiblingElements(WebElement element) : use this to get all adjacent (sibling) elements.
WebElement getSiblingElement(WebElement element, String selector) : use this to get adjacent(sibling) element using css selector.
WebElement getNextSiblingElement(WebElement element) : use this to get next adjacent(sibling) element.
WebElement getPreviousSiblingElement(WebElement element) : use this to get previous adjacent(sibling) element..
boolean isVisible(WebElement element) : use this if you want to find visibility of element
boolean isChecked(WebElement element) : use this if you want to check if checkbox is selected
boolean isDisabled(WebElement element) : use this if you want to check if element is disabled
String getAttribute(WebElement element,String attribute) : use this if you want to get attribute like aria-selected and other custom attributes of elements.
void selectCheckbox(String label) : use this to select checkbox element using label.
void selectCheckbox(WebElement parentElement, String label) : use this to select checkbox element using label.
void selectRadio(String label) : use this to select radio element using label.
void selectRadio(WebElement parentElement, String label) : use this to select radio element from parent DOM using label.
void selectDropdown(String label) : use this to select dropdown list item using label (use this if only one dropdown is present or loaded on UI).
void selectDropdown(WebElement parentElement, String label) : use this to select dropdown list item from parent DOM using label.
void scrollTo(WebElement element) : use this to scroll to web element.
You will have to install Katalon Plugin in your Katalon IDE.
Use sample project Github
Visit Katalon Forum for Plugin related discussions.