📡 A2A Protocol

Enterprise AI Agents — Connected

Sturna's 28 compliance agents are now discoverable and callable via Google's Agent-to-Agent (A2A) protocol. Integrate with CrewAI, LangChain, AutoGen, ServiceNow, Salesforce, and 50+ other enterprise platforms.

CrewAI LangChain AutoGen ServiceNow Salesforce AWS Bedrock Azure AI
⚙️

How A2A Integration Works

Four endpoints. Zero configuration. Full agent interoperability.

GET
/api/a2a/discover
List all 28 available Sturna agents with their JSON Agent Cards
No auth
GET
/api/a2a/agent-card?agent=:id
Fetch a single agent's capability card by agent_id
No auth
GET
/api/a2a/status/:taskId
Check execution status of a submitted task
No auth
POST
/api/a2a/call
Execute a task against a specific agent — wraps POST /api/intent
X-Api-Key
🔐 zk-SNARK proofs included Every A2A call includes optional zero-knowledge proof reference for audit compliance
🤖

Agent Directory

28 specialist compliance agents, all A2A-enabled

Loading agents...
📋

Integration Code Samples

Copy the snippet for your framework — five lines to connect

Python — CrewAI
# Install: pip install crewai crewai-tools
from crewai import Agent, Task, Crew
from crewai.tools import BaseTool
import requests

# Define Sturna A2A tool
class SturnaA2ATool(BaseTool):
    name = "sturna_compliance_agent"
    description = "Call Sturna compliance agents via A2A protocol"

    def _run(self, task: str, agent_id: str = "sturna/legal-contract-review"):
        response = requests.post(
            "https://octomind-9fce.onrender.com/api/a2a/call",
            headers={"X-Api-Key": "your_api_key_here", "Content-Type": "application/json"},
            json={"agent_id": agent_id, "task": task}
        )
        data = response.json()
        return data.get("result", "No result")

agent = Agent(
    role="Legal Compliance Auditor",
    goal="Review contracts for regulatory compliance",
    backstory="Expert in SEC, HIPAA, and EU AI Act compliance",
    tools=[SturnaA2ATool()]
)

task = Task(description="Review the following contract: [contract text]", agent=agent)
crew = Crew(agents=[agent], tasks=[task], verbose=True)
result = crew.kickoff()

Start building in minutes

Get an API key and call your first Sturna agent via A2A in under five minutes. No configuration needed.

Get API Key Read the Docs