Inspiration

Every developer knows the pain: you push code, tests fail at 3 AM, and now someone has to wake up, read the logs, find the bug, fix it, and push again. What if an AI agent could handle all of that — automatically — while keeping a human in the loop for the final call? We built the Self-Healing Test Agent to prove that agentic testing isn't just a concept. It's a working pipeline that connects UiPath Test Manager, Cloudflare Workers AI, Slack, and GitHub into one autonomous flow.

What it does

The agent runs a full end-to-end test lifecycle:

  1. Test Generation — A developer pushes code. The agent fetches test cases from UiPath Test Manager, uses AI to analyze the code and filter only relevant cases, then generates executable pytest files.
  2. Test Execution — Triggers the test set in UiPath Test Cloud and monitors execution until completion.
  3. Self-Healing — When tests fail, the agent diagnoses the root cause using Cloudflare Workers AI (Llama 3.1), sends a Slack notification with approve/reject buttons, waits for human approval, then applies the fix and pushes to GitHub.
  4. Verification — Re-runs tests to confirm the fix works, then notifies the team via Slack. The entire pipeline is triggered by a single git push and runs autonomously until human approval. ## How we built it The agent runs as a unified LangGraph state machine with 14 nodes and 17 edges:
  5. Python 3.12 with LangGraph for state machine orchestration
  6. UiPath Test Manager for test case management
  7. UiPath Test Cloud for test execution
  8. UiPath Integration Service for Slack interactive buttons
  9. UiPath Orchestrator for coded agent deployment
  10. Cloudflare Workers AI (Llama 3.1 8B) for root cause diagnosis
  11. GitHub Actions as the CI/CD trigger
  12. Slack for human-in-the-loop approval Every code path goes through real UiPath services — no mocks, no shortcuts. The entire codebase was built using MiMo (AI coding agent) through UiPath for Coding Agents. From architecture design to debugging to this submission, the agent wrote, tested, and iterated on every line. ## Challenges we ran into
  13. Slack button approval — UiPath Integration Service's event trigger input mapping only accepts string constants, no expressions. We solved this by leveraging the auto-injected UiPathEvent=BUTTON_CLICKED metadata field.
  14. Orchestrator job resumption — Interrupt-based suspensions require inbox_id, not job_id. This wasn't documented clearly and took significant debugging.
  15. Unified graph architecture — We started with two separate graphs (test generation + self-healing) and a demo orchestrator. Consolidating into a single LangGraph entry point was a major refactor but made the agent significantly more reliable. ## Accomplishments that we're proud of
  16. Fully autonomous pipeline — One git push triggers the entire flow: test generation → execution → diagnosis → Slack notification → human approval → fix → GitHub push → verification.
  17. Real human-in-the-loop — The agent does the heavy lifting but pauses at the right moment for human approval via Slack buttons. This builds trust and catches edge cases.
  18. Zero mocks — Every component uses real UiPath services, real Cloudflare AI, real Slack, and real GitHub. No shortcuts.
  19. Built with an AI coding agent — The entire codebase was designed, implemented, and debugged using MiMo through UiPath for Coding Agents, demonstrating the power of coding agents for enterprise development. ## What we learned
  20. UiPath Test Manager is powerful but underutilized — most teams still manually translate user stories into test cases. Our agent automates that entire layer.
  21. Human-in-the-loop isn't a limitation, it's a feature. The agent does the heavy lifting but pauses at the right moment for human approval. This builds trust and catches edge cases AI might miss.
  22. Coding agents are production-ready. MiMo handled everything from architecture design to debugging complex UiPath SDK integrations. The bonus points for using coding agents are well-deserved.
  23. LangGraph is ideal for multi-phase agent workflows. The state machine pattern made it natural to model the test lifecycle as a graph with conditional edges and human-in-the-loop interrupts. ## What's next for Self-Healing Test Agent
  24. Multi-language support — Extend beyond Python/pytest to Java, JavaScript, and .NET test frameworks.
  25. Learning from fixes — Track which fixes work and which don't, building a knowledge base for faster future diagnoses.
  26. PR integration — Automatically create pull requests with the proposed fix for team review before merging.
  27. Risk-based test selection — Use code change impact analysis to prioritize which tests to run, reducing execution time.
  28. Cross-repo healing — Extend to detect failures across multiple repositories and coordinate fixes.

Built With

  • cloudflare-workers-ai
  • github
  • github-actions
  • langgraph
  • llama-3.1
  • mimocode
  • pydantic
  • python
  • slack
  • uipath-cli
  • uipath-integration-service
  • uipath-orchestrator
  • uipath-test-cloud
  • uipath-test-manager
Share this project:

Updates

Submission history