from agentx import AgentX
from agentx.integrations.crewai import AgentXCrewObserver
from crewai import Agent, Task, Crew
client = AgentX.from_env()
observer = AgentXCrewObserver(client.tracer, name="support-crew")
support_agent = Agent(
role="Support Specialist",
goal="Resolve customer questions accurately and concisely",
backstory="You are an experienced customer support specialist.",
)
def crewai_agent(case):
task = Task(
description=case.query,
expected_output="A clear, accurate answer to the customer's question.",
agent=support_agent,
)
crew = Crew(agents=[support_agent], tasks=[task])
with observer.observe(input={"query": case.query}, sync=True, monitor=False) as span:
result = crew.kickoff()
span.output = str(result)
return {"output": str(result), "trace_id": span.trace_id}