QA Agent: Expand Process by Documented Response

AgentHack submission type

Enterprise Agents

Name

Siyang Wu

Team name

Siyang

Team members

@wusiyangjia

How many agents do you use

One agent

Industry category in which use case would best fit in (Select up to 2 industries)

Information technology and services
Operations

Complexity level

Beginner

Summary (abstract)

A agent solution as a QA processing assistant who extracts requested items from answer in a structured QA sheet according to input question, if there is no answer can be used to fully response, add question in QA sheet.

Detailed problem statement

  1. Many RPA processes stop at a QA step for necessary communication or confirmation, it means many end to end processes have to be split when transforming automation, it makes the opportunities of high-ROI automation reduced.
  2. While RPA-based automation can be non-intrusive to application systems, it inevitably disrupts business workflows. Process transformation and changes to habits of business participants are always required, which slows down automation adoption and prolongs implementation timelines.

Detailed solution

Building a General QA Agent for Business Process Communications and Confirmations

Main tasks:

  1. Design a basic template of QA sheet (fields: No., Question, Requester, Request Time, Answer, Responder Name, Respond Time).
  2. Design and build the QA agent using UiPath Agent Builder.
  3. Development tools of reading QA sheet and appending QA sheet for the agent on Studio Web.

Input and Output:

  1. Input: in_Requester, in_Question (String), in_RequestItems (Array), and additional prompts as needed.
  2. Output: Requested items with certain values or processing result of appending question in QA sheet.

Three main steps:

  1. Match a question with answer that is not empty based on the input question, extract and output requested output items from the question’s answer and the number of the question.
  2. If there is a question can be matched, but its answer is empty, then output the number of the question.
  3. If there is no question can be matched with input question or matched question’s answer cannot be extract all requested output items, then generate a question naturally combining input question and requested output items for appending a new question in QA sheet and output generated question and the question number.

Demo Video

Expected impact of this automation

  1. Scalability of Automation:
    Almost all existing process can scale the automation scope by using QA agent as a task in UiPath Maestro to realize end-to-end process, human can truly cooperate with automation process composed with agent and robot without changing their working habits.

  2. Non-Intrusive Business Automation:
    Applying QA agent can be a nonintrusive automation solution for business participants other than users of the automated process. the feature can help automation scope expands to more cross-business cases like RPA’s no intrusiveness to application systems.

  3. Optimize the relevant work of the QA sheet:
    Since QA sheet originally is an important means of documented confirmation and communication in business work, existed QA sheet can also be seamlessly utilized by the QA agent. QA agent can reduce manual retrieval cost of QA sheet and standardize the way of using QA sheet.

UiPath products used (select up to 4 items)

UiPath Agent Builder
UiPath Maestro
UiPath Orchestrator
UiPath Studio Web

Automation Applications

Excel

Integration with external technologies

Open AI

Agentic solution architecture (file size up to 4 MB)

Sample inputs and outputs for solution execution

Scenario 1: Single Request Item Extraction

Input:
in_Question: "What is the capital of France?"
in_Request_items: ["city name"]

Matched question and the answer in QA sheet:
Question: "Which city is the capital of Paris?"
Answer: "The capital of France is Paris."

Expected Output:
out_Response:
{
  "anwser": "Y",
  "question_no": "1",
  "response_items": 
  {
    "city_name": "Paris" 
  }
}

Scenario 2: Multiple Request Items Extraction

Input:
in_Question: "What are the dimensions and weight of the product A?"
in_RequestItems: ["length", "width", "height", "weight"]
Matched question and the answer in QA sheet:
Question: "Please provide the dimensions and weight of the A product?"
Answer: "A product's length is 10 inches, width is 5 inches, height is 2 inches and weight is 2 pounds."
Expected Output:
out_Response:
{
  "answer": "Y"
  "question_no": "4"
  "response_items":
  {
    "length": "10 inches",
    "width": "5 inches",
    "height": "2 inches",
    "weight": "2 pounds"
  }
}

Scenario 3: Matched Question No Answer

Input:
in_Question: "What is the boiling point of water at sea level?"
in_RequestItems: ["temperature"]
Matched question with no answer in QA sheet:
Question: "What is the boiling point of water at sea level? Please provide temperature value."
There is no answer with the question.
Expected Output:
out_Response:
{
  "answer": "W"
  "question_no": "2"
}

Scenario 4: No Matched Question Scenario

Input:
in_Question: "What is the airspeed velocity of an unladen swallow?"
in_RequestItems: ["speed"]
There is no question can be matched with input question in QA sheet:
Expected Output:
out_Response:
{
  "answer": "N"
  "generated_question": "Please tell me the airspeed velocity of an unladen swallow, specifically the speed value."
  "question_no": "8"
}

Scenario 5: Partial Answer Scenario

Input:
in_Question: "What are the system requirements for the software B?"
in_RequestItems: ["os", "ram", "processor", "storage"]
Matched question and the answer in QA sheet:
Question: "What system configuration is required for software B?"
Answer: "Windows 10 or later, 8 GB ram and Intel i5 or equivalent CPU."
Expected Output:
out_Response:
{
  "answer": "N"
  "generated_question": "What are the system requirements for software B? Please provide details on OS, RAM, processor, and storage."
  "question_no": "13"
}

Other resources