CrewAI
crewai_agent wraps a CrewAI Crew as a Pyrula
@agent. The crew runs inside the turn and its output
becomes the turn result. Needs pip install crewai.
from pyrula.agents.integrations import crewai_agent
crew_agent = crewai_agent(my_crew, name="content-crew")The wrapped agent takes an optional inputs dict and runs the crew’s kickoff_async.
It collects step output through the crew’s step_callback, then emits each completed
step as framework:event once the kickoff finishes, and returns the serialized crew
output.
Unlike the streaming wrappers, CrewAI steps are emitted after the run completes rather than live, because that’s when the crew hands them back. The turn result is still the crew’s final output.