Multi-agent Software Testing Use Case
This guide walks through a real-world implementation of a multi-agent software testing system using Coral Protocol, an open infrastructure that enables agents from different frameworks to seamlessly communicate and collaborate. In this setup, we automate the process of testing a pull request (PR) using four independently built agents. Each agent is written in a different framework LangChain, CAMEL-AI, and CrewAI and yet, they operate as a unified system with no glue code or manual orchestration. Coral handles everything under the hood: message routing, delegation, task tracking, and thread management. This is a fully working, cross-framework testing system, powered end-to-end by Coral.
Start with a Natural Language Query
This instruction is received by a Coralised Interface Agent, built using LangChain. This agent acts as the entry point for the workflow it doesn’t perform tasks directly, but delegates intelligently to other agents.
Clone the Repository (CrewAI Agent)
The Interface Agent sends the first task to the Git Clone Agent, which is built using CrewAI.
- This agent clones the GitHub repository.
- It fetches the specific PR branch.
- It returns the local repo path to the Interface Agent.
Analyse Code Changes (CAMEL-AI Agent)
Next, the Interface Agent calls the Code Diff Reviewer Agent, which runs on CAMEL-AI.
- It compares the updated code with the base branch.
- It identifies changed files, affected logic, and modification types.
- It returns a structured summary of the code diffs.
Run Targeted Unit Tests (LangChain Agent)
The Interface Agent now invokes the Unit Test Runner Agent, also built with LangChain.
- It selects the appropriate test files based on the code diffs.
- It executes the relevant tests using a Python test runner.
- It captures the results — including failures, errors, and assertions.

Voice-Controlled Multi-Agent System Use Case
This guide showcases a real-world multi-agent use case where a user gives a voice command, and three independent agents collaborate to complete a task: analysing spreadsheet data and emailing the results. Each agent runs on a different framework and communicates using Coral Protocol. The entire process from voice input to analysis to automated email happens through one persistent Coral Communication Thread.
1
Clone Repos & Start Agents
Start the Coral Server and all 3 agents:Make sure each agent is properly registered and running.
2
Speak Your Instruction
The user gives a voice command:
“Can you ask the Pandas agent to describe the columns in the Titanic dataset?”The Voice Interface Agent, built on LiveKit, captures the audio, converts it to text, and sends it into a Coral Communication Thread.
3
Dataset Analysis
Coral routes the request to the Pandas AI Agent, built with LangChain.This agent:
- Parses the command
- Loads the Titanic dataset
- Returns a list of all columns, including:
Passenger ID, Survival status, Ticket class, Name, Sex, Age, Number of siblings/spouses aboard, etc.
4
Email the Results
The user gives a follow-up command:
“Ask the ACI Dev Agent to email this info to ******@gmail.com.”Coral picks this up and routes it to the ACI Dev Agent, built with Pydantic AI.This agent:
- Receives the structured summary
- Composes an email with the content
- Sends it to the specified address using an integrated Gmail API
5
Final Output
The column summary is extracted
The email is sent automatically
All agent messages and interactions are recorded inside a single Coral threadThis proves that:
The email is sent automatically
All agent messages and interactions are recorded inside a single Coral threadThis proves that:
- Voice inputs can trigger multi-agent workflows
- Agents across frameworks (LangChain, Pydantic AI, LiveKit) can collaborate
- Coral Protocol handles routing, delegation, and state — no glue logic needed

In a typical system, you’d need to manually integrate speech-to-text, data parsing, and email APIs each using a different SDK or library. With Coral:
- Each function is handled by a specialised agent
- Agents can be reused across projects
- You can swap out the email agent or data agent without breaking the system