# US 12,112,274 B2 · Self-learning and repairing robotic process automation for telecom expense management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,274 B2
- Document ID: US12112274B2
- Status: Granted
- Kind: B2
- Application number: 17/164,083
- Filed: 2021-02-01
- Published: 2022-08-04
- Granted: 2024-10-08
- Earliest claimed: 2021-02-01
- Assignees: Tangoe US, Inc.
- Applicants: Tangoe US, Inc.
- Inventors: Zachary Goldberg
- Web page: https://patentgrep.com/patent/US12112274B2

## CPC

- G06N 5/04: Inference or reasoning models
- G06Q 50/60: Business processes related to postal services (shipping G06Q10/083; franking apparatus G07B17/00)
- G06F 16/951: Indexing; Web crawling techniques
- G06N 20/00: Machine learning
- G06Q 10/10: Office automation; Time management
- G06Q 30/0206: {Price or cost determination based on market factors}
- G06Q 30/0283: Price estimation or determination
- G06Q 30/04: Billing or invoicing
- G06Q 50/50: Business processes related to the communications industry (charging, metering or billing arrangements specially adapted for data communications H04L12/14; telephonic communication involving automatic or semi-automatic exchanges H04M3/00; arrangements for metering, time-control or time indication H04M15/00; prepayment telephone systems H04M17/00; accounting or billing for wireless communication networks H04W4/24)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method incorporating Robotic Processing Automation (RPA) and machine leaning to finding telecom expense management information accessed through a site or portal such that RPA bots are able to learn the most effective way to access the information using the minimum amount computing resources and allowing for the RPA bot to self-modify to optimize and adjust to changing environments on the site or portal with minimal or even no manual intervention.

## Claims

### Claim 1

A Robotic Process Automation (RPA) system for gathering Telecommunication Expense Management (TEM) data from a provider site, the system comprising:
a computer having a storage and a network connection;
software executing on said computer comprising an RPA bot adapted to access the site, said RPA bot having site access credential information and a template including data relating to the TEM data;
said template including: the names or tags for the TEM data the RPA bot is to obtain, synonyms of the names or tags, pseudonyms of the names or tags, image files relating to the names or tags, alternate text, and file naming conventions using dates, times, and key words relating to the names or tags;
said RPA bot accessing the site for a first time and presenting the access credential information;
said RPA bot accessing the data in said template to determine a path to access the TEM data on the site;
said RPA bot discarding failed path attempts to access the TEM data and saving an identified path that allows the RPA bot to obtain the TEM data, the identified path including only the least number of steps needed to reach the TEM data; and
said RPA bot gathering and transmitting the TEM data to said computer, where said computer saves the TEM data on said storage.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the TEM data comprises first TEM data, wherein,
said RPA bot accessing the site for a second time to obtain second TEM data and presenting the access credential information;
said RPA bot accessing the saved identified path data;
said RPA bot gathering and transmitting the second TEM data to said computer, where said computer saves the TEM data on said storage.

### Claim 3 (depends on 1)

The system according to claim 1, wherein the identified path data is saved to said template.

### Claim 4 (depends on 1)

The system according to claim 1, wherein the TEM data comprises first TEM data, wherein,
said RPA bot accessing the site for a second time to obtain second TEM data and presenting the access credential information;
said RPA bot accessing the saved identified path data;
said RPA bot discarding failed path attempts to access the second TEM data and saving a second identified path that allows the RPA bot to obtain the second TEM data, the second identified path including only the least number of steps needed to reach the second TEM data
said RPA bot gathering and transmitting the second TEM data to said computer, where said computer saves the TEM data on said storage.

### Claim 5 (depends on 4)

The system according to claim 4, wherein when the RPA bot experiences a failed path by following the saved identified path data, the RPA bot initially searches for the second identified path by following a subset of the steps making up the saved identified path.

### Claim 6 (depends on 4)

The system according to claim 4, wherein the second identified path data is saved to said template.

### Claim 7 (depends on 4)

The system according to claim 4, wherein,
said RPA bot accessing the site for a third time to obtain third TEM data and presenting the access credential information;
said RPA bot accessing the saved second identified path data;
said RPA bot gathering and transmitting the third TEM data to said computer, where said computer saves the third TEM data on said storage.

### Claim 8 (depends on 1)

The system according to claim 1, wherein the TEM data is selected from the group consisting of: invoices, reports, provider plan offerings, inventories of active TEM related devices, licenses, currently available features, device models, accessories and combinations thereof.

### Claim 9 (depends on 1)

The system according to claim 1, wherein if said RPA bot is denied access to the site after presenting the access credential information, said RPA bot automatically calls for reset of or adjustment of the input credentials or of a URL for the site.

### Claim 10 (depends on 9)

The system according to claim 9, wherein the adjusted input credentials or adjusted URL are saved to said template.

### Claim 11 (depends on 1)

The system according to claim 1, wherein said template is copied from a master template and the master template data is updated based on new synonyms, new pseudonyms, or new image files identified by the RPA bot.

### Claim 12 (depends on 11)

The system according to claim 11, wherein a plurality of RPA bots subsequently obtain the updated data from the master template.

### Claim 13 (depends on 1)

The system according to claim 1, wherein the data on said template comprises a first language, said RPA bot correlating the first language data on said template with second language data found on the site.

### Claim 14 (depends on 1)

The system according to claim 1, wherein the provider site comprises a telecommunications carrier website.

### Claim 15 (depends on 1)

The system according to claim 1, wherein the data on said template includes time information indicating when the RPA bot should attempt to obtain the TEM data.

### Claim 16 (depends on 15)

The system according to claim 15, wherein if the TEM data is not yet available at the time indicated by the time information, the RPA bot will attempt to access the TEM data periodically.

### Claim 17 (depends on 16)

The system according to claim 16, wherein when the RPA bot accesses the TEM data, the time that the TEM data was obtained will be used to adjust the time information in the template.

### Claim 18

A method for obtaining Telecommunication Expense Management (TEM) data from a provider site by a Robotic Process Automation (RPA) bot, the method comprising the steps of:
contacting the site with an RPA bot executing on a computer via a network connection;
presenting site access credential information to the site with the RPA bot, which when authenticated enables the RPA bot to access the site;
accessing a template of data with the RPA bot, the template including: the names or tags for the TEM data the RPA bot is to obtain, synonyms of the names or tags, pseudonyms of the names or tags, image files relating to the names or tags, alternate text, and file naming conventions using dates, times, and key words relating to the names or tags;
determining a path to access the TEM data on the site based on the data on the template;
discarding failed path attempts by the RPA bot to access the TEM data;
saving an identified path that allows the RPA bot to obtain the TEM data, the identified path including only the least number of steps needed to reach the TEM data;
gathering and transmitting the TEM data to the computer; and
saving the received TEM data on a storage accessible by the computer.

### Claim 19 (depends on 18)

The method according to claim 18, wherein the TEM data comprises first TEM data, the method further comprising the steps of:
contacting the site with an RPA bot a second time;
presenting the site access credential information to the site with the RPA bot;
accessing and executing the saved identified path data;
gathering and transmitting second TEM data to the computer; and
saving the received second TEM data on the storage accessible by the computer.

### Claim 20 (depends on 18)

The method according to claim 18, further comprising the step of saving the identified path data to the template.

### Claim 21 (depends on 18)

The method according to claim 18, wherein the TEM data comprises first TEM data, the method further comprising the steps of:
contacting the site with an RPA bot a second time;
presenting the site access credential information to the site with the RPA bot;
accessing and executing the saved identified path data;
discarding failed path attempts by the RPA bot to access second TEM data;
saving a second identified path that allows the RPA bot to obtain the second TEM data, the second identified path including only the least number of steps needed to reach the second TEM data;
gathering and transmitting the second TEM data to the computer; and
saving the received second TEM data on the storage accessible by the computer.

### Claim 22 (depends on 21)

The method according to claim 21, wherein when the RPA bot experiences a failed path by following the saved identified path data, the method further comprises RPA bot performing the step of:
initially executing a subset of the steps making up the saved identified path when searching for the second identified path.

### Claim 23 (depends on 21)

The method according to claim 21, further comprising the step of saving the second identified path data to the template.

### Claim 24 (depends on 18)

The method according to claim 18, wherein the TEM data is selected from the group consisting of: invoices, reports, provider plan offerings, inventories of active TEM related devices, licenses, currently available features, device models, accessories and combinations thereof.

### Claim 25 (depends on 18)

The method according to claim 18, wherein if said RPA bot is denied access to the site after presenting the access credential information, the method further comprises the RPA bot performing the step of:
automatically calling for reset of or adjustment of the input credentials or of a URL for the site.

### Claim 26 (depends on 25)

The method according to claim 25, wherein the adjusted input credentials or adjusted URL are saved to said template.

### Claim 27 (depends on 18)

The method according to claim 18, further comprising the step of:
updating a master template based on new synonyms, new pseudonyms, or new image files identified by the RPA bot.

### Claim 28 (depends on 27)

The method according to claim 27, further comprising the step of:
updating templates of a plurality of RPA bots with the updated data from the master template.

### Claim 29 (depends on 18)

The method according to claim 18, wherein the data on the template comprises a first language, the method further comprising the step of the RPA bot correlating the first language data on the template with second language data found on the site.

### Claim 30 (depends on 18)

The method according to claim 18, wherein the provider site comprises a telecommunications carrier website.

### Claim 31 (depends on 18)

The method according to claim 18, wherein the data on the template includes time information indicating when the RPA bot should attempt to obtain the TEM data.

### Claim 32 (depends on 31)

The method according to claim 31, wherein if the TEM data is not yet available at the time indicated by the time information, the RPA bot attempts to access the TEM data periodically.

### Claim 33 (depends on 32)

The method according to claim 32, wherein when the RPA bot accesses the TEM data, the time that the TEM data was obtained is used to adjust the time information in the template.
