[{"data":1,"prerenderedAt":294},["ShallowReactive",2],{"docs:\u002Fdocs\u002Fintegrations\u002Fopenai-agents-python":3},{"id":4,"title":5,"body":6,"description":284,"extension":285,"meta":286,"navigation":287,"path":290,"seo":291,"stem":292,"__hash__":293},"docs\u002Fdocs\u002Fintegrations\u002Fopenai-agents-python.md","OpenAI Agents SDK (Python)",{"type":7,"value":8,"toc":278},"minimark",[9,18,23,55,59,143,147,243,247,274],[10,11,12,13,17],"p",{},"The OpenAI Agents SDK exposes a ",[14,15,16],"code",{},"RunHooks"," lifecycle that Iqrar subclasses to forward events.",[19,20,22],"h2",{"id":21},"install","Install",[24,25,30],"pre",{"className":26,"code":27,"language":28,"meta":29,"style":29},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pip install \"iqrar-agent[openai-agents]\"\n","bash","",[14,31,32],{"__ignoreMap":29},[33,34,37,41,45,49,52],"span",{"class":35,"line":36},"line",1,[33,38,40],{"class":39},"sBMFI","pip",[33,42,44],{"class":43},"sfazB"," install",[33,46,48],{"class":47},"sMK4o"," \"",[33,50,51],{"class":43},"iqrar-agent[openai-agents]",[33,53,54],{"class":47},"\"\n",[19,56,58],{"id":57},"wire-it-in","Wire it in",[24,60,64],{"className":61,"code":62,"language":63,"meta":29,"style":29},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from agents import Agent, Runner\nfrom iqrar import Iqrar\nfrom iqrar.adapters.openai_agents import IqrarRunHooks\n\niqrar = Iqrar(\n    org=\"acme\",\n    jurisdiction=\"EU\",\n    endpoint=\"https:\u002F\u002Fapi.your-deploy.workers.dev\",\n    capabilities=[\"consumer_chatbot\"],\n)\n\nagent = Agent(name=\"support\", instructions=\"...\")\nresult = await Runner.run(agent, input, hooks=IqrarRunHooks(iqrar))\n","python",[14,65,66,71,77,83,90,96,102,108,114,120,126,131,137],{"__ignoreMap":29},[33,67,68],{"class":35,"line":36},[33,69,70],{},"from agents import Agent, Runner\n",[33,72,74],{"class":35,"line":73},2,[33,75,76],{},"from iqrar import Iqrar\n",[33,78,80],{"class":35,"line":79},3,[33,81,82],{},"from iqrar.adapters.openai_agents import IqrarRunHooks\n",[33,84,86],{"class":35,"line":85},4,[33,87,89],{"emptyLinePlaceholder":88},true,"\n",[33,91,93],{"class":35,"line":92},5,[33,94,95],{},"iqrar = Iqrar(\n",[33,97,99],{"class":35,"line":98},6,[33,100,101],{},"    org=\"acme\",\n",[33,103,105],{"class":35,"line":104},7,[33,106,107],{},"    jurisdiction=\"EU\",\n",[33,109,111],{"class":35,"line":110},8,[33,112,113],{},"    endpoint=\"https:\u002F\u002Fapi.your-deploy.workers.dev\",\n",[33,115,117],{"class":35,"line":116},9,[33,118,119],{},"    capabilities=[\"consumer_chatbot\"],\n",[33,121,123],{"class":35,"line":122},10,[33,124,125],{},")\n",[33,127,129],{"class":35,"line":128},11,[33,130,89],{"emptyLinePlaceholder":88},[33,132,134],{"class":35,"line":133},12,[33,135,136],{},"agent = Agent(name=\"support\", instructions=\"...\")\n",[33,138,140],{"class":35,"line":139},13,[33,141,142],{},"result = await Runner.run(agent, input, hooks=IqrarRunHooks(iqrar))\n",[19,144,146],{"id":145},"what-gets-instrumented","What gets instrumented",[148,149,150,163],"table",{},[151,152,153],"thead",{},[154,155,156,160],"tr",{},[157,158,159],"th",{},"Hook",[157,161,162],{},"Iqrar event",[164,165,166,179,192,205,217,230],"tbody",{},[154,167,168,174],{},[169,170,171],"td",{},[14,172,173],{},"on_agent_start",[169,175,176],{},[14,177,178],{},"agent.invocation.start",[154,180,181,186],{},[169,182,183],{},[14,184,185],{},"on_agent_end",[169,187,188,191],{},[14,189,190],{},"agent.invocation.end"," (output preview, model)",[154,193,194,199],{},[169,195,196],{},[14,197,198],{},"on_handoff",[169,200,201,204],{},[14,202,203],{},"agent.handoff"," (from \u002F to agent name)",[154,206,207,212],{},[169,208,209],{},[14,210,211],{},"on_tool_start",[169,213,214],{},[14,215,216],{},"agent.tool.start",[154,218,219,224],{},[169,220,221],{},[14,222,223],{},"on_tool_end",[169,225,226,229],{},[14,227,228],{},"agent.tool.end"," (output preview, duration)",[154,231,232,237],{},[169,233,234],{},[14,235,236],{},"on_llm_end",[169,238,239,242],{},[14,240,241],{},"agent.llm.end"," (input\u002Foutput\u002Ftotal tokens)",[19,244,246],{"id":245},"see-also","See also",[248,249,250,267],"ul",{},[251,252,253,258,259,258,263],"li",{},[254,255,257],"a",{"href":256},"\u002Fdocs\u002Fintegrations\u002Fcrewai","CrewAI"," · ",[254,260,262],{"href":261},"\u002Fdocs\u002Fintegrations\u002Flangchain-python","LangChain (Python)",[254,264,266],{"href":265},"\u002Fdocs\u002Fintegrations\u002Fautogen","AutoGen",[251,268,269,270],{},"The TS-side OpenAI integration: ",[254,271,273],{"href":272},"\u002Fdocs\u002Fintegrations\u002Fopenai","OpenAI",[275,276,277],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":29,"searchDepth":73,"depth":73,"links":279},[280,281,282,283],{"id":21,"depth":73,"text":22},{"id":57,"depth":73,"text":58},{"id":145,"depth":73,"text":146},{"id":245,"depth":73,"text":246},"Forward the OpenAI Agents SDK lifecycle to Iqrar via a RunHooks subclass — agent start\u002Fend, handoffs, tool calls, and LLM round trips with token usage.","md",{},{"title":288,"order":289},"OpenAI Agents SDK",32,"\u002Fdocs\u002Fintegrations\u002Fopenai-agents-python",{"title":5,"description":284},"docs\u002Fintegrations\u002Fopenai-agents-python","QNzo-6ZfxHabrBFpNPJQy5LK7zFKplbkF_CEqnH9GMg",1778064965624]