[{"data":1,"prerenderedAt":1704},["ShallowReactive",2],{"/blog/understanding-agents-foundational-custom-external":3,"navigation-en-us":923,"banner-en-us":1349,"footer-en-us":1359,"blog-post-authors-en-us-Itzik Gan Baruch":1604,"blog-related-posts-en-us-understanding-agents-foundational-custom-external":1619,"blog-promotions-en-us":1642,"next-steps-en-us":1694},{"id":4,"title":5,"authors":6,"body":8,"category":901,"date":902,"description":903,"extension":904,"externalUrl":905,"faq":905,"featured":906,"heroImage":907,"meta":908,"navigation":909,"path":910,"seo":911,"slug":913,"stem":914,"tags":915,"template":920,"updatedDate":921,"__hash__":922},"blogPosts/en-us/blog/understanding-agents-foundational-custom-external.md","Understanding agents: Foundational, custom, and external",[7],"Itzik Gan Baruch",{"type":9,"value":10,"toc":871},"minimark",[11,24,30,64,78,82,89,92,182,186,189,198,201,206,209,214,228,232,235,239,250,257,261,264,268,279,286,290,293,297,314,321,325,328,360,363,370,374,377,380,412,415,428,441,444,451,466,476,481,501,509,515,518,523,537,542,553,557,560,563,566,584,588,599,603,629,633,638,641,645,648,651,668,671,675,678,682,685,699,703,706,709,721,728,732,820,824,827,847,850,853,862],[12,13,14],"p",{},[15,16,17,18,23],"em",{},"Welcome to Part 3 of our eight-part guide, ",[19,20,22],"a",{"href":21},"/blog/gitlab-duo-agent-platform-complete-getting-started-guide/","Getting started with GitLab Duo Agent Platform",", where you'll master building and deploying AI agents and workflows within your development lifecycle. Follow tutorials that take you from your first interaction to production-ready automation workflows with full customization.",[12,25,26],{},[27,28,29],"strong",{},"In this article:",[31,32,33,40,46,52,58],"ul",{},[34,35,36],"li",{},[19,37,39],{"href":38},"#what-are-agents","What are agents?",[34,41,42],{},[19,43,45],{"href":44},"#types-of-agents","Types of agents",[34,47,48],{},[19,49,51],{"href":50},"#common-use-cases","Common use cases",[34,53,54],{},[19,55,57],{"href":56},"#how-to-create-a-custom-agent","How to create a custom agent",[34,59,60],{},[19,61,63],{"href":62},"#best-practices","Best practices",[65,66,67],"blockquote",{},[12,68,69,70,77],{},"🎯 Try ",[19,71,74],{"href":72,"rel":73},"https://about.gitlab.com/gitlab-duo-agent-platform/",[],[27,75,76],{},"GitLab Duo Agent Platform"," today!",[79,80,39],"h2",{"id":81},"what-are-agents",[12,83,84,85,88],{},"Agents are specialized AI collaboration partners within ",[19,86,76],{"href":72,"rel":87},[],". Each agent type serves different purposes and runs in different contexts.",[79,90,45],{"id":91},"types-of-agents",[93,94,95,114],"table",{},[96,97,98],"thead",{},[99,100,101,105,108,111],"tr",{},[102,103,104],"th",{},"Type",[102,106,107],{},"Interface",[102,109,110],{},"Maintainer",[102,112,113],{},"Use Case",[115,116,117,138,157],"tbody",{},[99,118,119,129,132,135],{},[120,121,122],"td",{},[27,123,124],{},[19,125,128],{"href":126,"rel":127},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/",[],"Foundational",[120,130,131],{},"GitLab Duo Chat",[120,133,134],{},"GitLab",[120,136,137],{},"Common development tasks",[99,139,140,149,151,154],{},[120,141,142],{},[27,143,144],{},[19,145,148],{"href":146,"rel":147},"https://docs.gitlab.com/user/duo_agent_platform/agents/custom/",[],"Custom",[120,150,131],{},[120,152,153],{},"You",[120,155,156],{},"Team-specific workflows",[99,158,159,168,171,179],{},[120,160,161],{},[27,162,163],{},[19,164,167],{"href":165,"rel":166},"https://docs.gitlab.com/user/duo_agent_platform/agents/external/",[],"External",[120,169,170],{},"Platform",[120,172,173,174],{},"You, see ",[19,175,178],{"href":176,"rel":177},"https://docs.gitlab.com/user/duo_agent_platform/agents/external_examples/",[],"configuration examples",[120,180,181],{},"External AI integrations",[79,183,185],{"id":184},"foundational-agents","Foundational agents",[12,187,188],{},"Built and maintained by GitLab, these agents are available immediately with no setup required.",[12,190,191,192,197],{},"The availability of foundational agents can be ",[19,193,196],{"href":194,"rel":195},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/#turn-foundational-agents-on-or-off",[],"managed by namespace owners or instance administrators",".",[12,199,200],{},"Start the interaction with foundational agents by opening GitLab Duo Agentic Chat in the IDE or Web UI.",[202,203,205],"h3",{"id":204},"gitlab-duo","GitLab Duo",[12,207,208],{},"This is the default agent, your general-purpose development collaboration partner for creating and modifying code, opening merge requests, triaging and updating issues/epics, planning complex tasks like refactoring, and running workflows with full SDLC platform context.",[12,210,211],{},[27,212,213],{},"Example prompts:",[31,215,216,219,222,225],{},[34,217,218],{},"\"Generate a function to handle user authentication.\"",[34,220,221],{},"\"Refactor this code to improve performance.\"",[34,223,224],{},"\"Create a merge request to fix issue #123.\"",[34,226,227],{},"\"Explain how the authentication system works.\"",[202,229,231],{"id":230},"planner-agent","Planner Agent",[12,233,234],{},"Helps with product planning, breaking down epics, and creating structured issues.",[12,236,237],{},[27,238,213],{},[31,240,241,244,247],{},[34,242,243],{},"\"Create an epic for the new payment system with subtasks.\"",[34,245,246],{},"\"Break down issue #789 into smaller tasks.\"",[34,248,249],{},"\"Generate acceptance criteria for this feature.\"",[12,251,252],{},[19,253,256],{"href":254,"rel":255},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/planner/",[],"Learn more about Planner Agent.",[202,258,260],{"id":259},"security-analyst-agent","Security Analyst Agent",[12,262,263],{},"Triages vulnerabilities, identifies false positives, and prioritizes security risks.",[12,265,266],{},[27,267,213],{},[31,269,270,273,276],{},[34,271,272],{},"\"Triage all vulnerabilities from the latest scan.\"",[34,274,275],{},"\"Which SAST findings are false positives?\"",[34,277,278],{},"\"Prioritize security issues by actual risk\"",[12,280,281],{},[19,282,285],{"href":283,"rel":284},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/security_analyst_agent/",[],"Learn more about Security Analyst Agent.",[202,287,289],{"id":288},"data-analyst-agent","Data Analyst Agent",[12,291,292],{},"Queries, visualizes, and surfaces data across the GitLab platform using GitLab Query Language (GLQL) to provide actionable insights about your projects and teams.",[12,294,295],{},[27,296,213],{},[31,298,299,302,305,308,311],{},[34,300,301],{},"\"How many merge requests were created in the last quarter?\"",[34,303,304],{},"\"Show me what each team member has worked on this month.\"",[34,306,307],{},"\"What are the trends in issue resolution times?\"",[34,309,310],{},"\"Find all open issues with the 'bug' label in my project.\"",[34,312,313],{},"\"Generate a GLQL query to count merge requests by author.\"",[12,315,316],{},[19,317,320],{"href":318,"rel":319},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/data_analyst/",[],"Learn more about Data Analyst Agent.",[202,322,324],{"id":323},"ci-expert-agent","CI Expert Agent",[12,326,327],{},"CI Expert Agent is a GitLab Duo foundational agent that helps you create, debug, and optimize GitLab CI/CD pipelines. It can:",[31,329,330,336,342,348,354],{},[34,331,332,335],{},[27,333,334],{},"Generate pipelines"," from scratch based on your repo, language, and framework",[34,337,338,341],{},[27,339,340],{},"Explain CI/CD syntax"," (keywords, rules, artifacts, services, environments)",[34,343,344,347],{},[27,345,346],{},"Debug failures"," by analyzing logs and suggesting fixes",[34,349,350,353],{},[27,351,352],{},"Optimize performance"," through caching, parallelization, and best practices",[34,355,356,359],{},[27,357,358],{},"Recommend components"," and templates for your tech stack",[12,361,362],{},"Available in GitLab Duo Chat when foundational agents are enabled. Currently in beta for Premium/Ultimate tiers.",[12,364,365],{},[19,366,369],{"href":367,"rel":368},"https://docs.gitlab.com/user/duo_agent_platform/agents/foundational_agents/ci_expert_agent/",[],"Learn more about CI Expert Agent.",[79,371,373],{"id":372},"custom-agents","Custom agents",[12,375,376],{},"Create your own agents tailored to your team's specific workflows and standards.",[202,378,51],{"id":379},"common-use-cases",[31,381,382,388,394,400,406],{},[34,383,384,387],{},[27,385,386],{},"Troubleshooting and Debugging Agent",": Debug software bugs and regressions, and analyze deployment failures.",[34,389,390,393],{},[27,391,392],{},"Documentation Agent",": Maintain docs following your conventions.",[34,395,396,399],{},[27,397,398],{},"Onboarding Assistant",": Help new team members with company-specific practices.",[34,401,402,405],{},[27,403,404],{},"Compliance Monitor",": Ensure regulatory requirements are met.",[34,407,408,411],{},[27,409,410],{},"Localized Support Agent",": Triage support issues in a localized language, for example, German.",[12,413,414],{},"Watch the GitLab DACH Roadshow Vienna 2025 Duo Agent Platform use cases talk recording:",[416,417,420],"figure",{"className":418},[419],"video_container",[421,422,427],"iframe",{"src":423,"title":424,"frameBorder":425,"allowFullScreen":426},"https://www.youtube.com/embed/amJQkKhe5ys?si=JKYNoRWcbr9czxCR","GitLab DACH Roadshow Vienna 2025 Duo Agent Platform use cases talk","0","true"," ",[65,429,430],{},[12,431,432,427,435,440],{},[27,433,434],{},"🎯 Try it now:",[19,436,439],{"href":437,"rel":438},"https://gitlab.navattic.com/custom-agents",[],"Interactive demo of Custom Agents"," — Explore how to create and configure custom agents.",[202,442,57],{"id":443},"how-to-create-a-custom-agent",[12,445,446,447,450],{},"Custom agents are configured through your project or group settings. The key component is the ",[27,448,449],{},"system prompt",", which defines your agent's behavior and expertise.",[12,452,453,456,457,465],{},[27,454,455],{},"System Prompt Example"," from the custom agent ",[19,458,461],{"href":459,"rel":460},"https://gitlab.com/explore/ai-catalog/agents/333/",[],[462,463,464],"code",{},"devops-debug-failures-agent",":",[467,468,474],"pre",{"className":469,"code":471,"language":472,"meta":473},[470],"language-text","You are an expert in Dev, Ops, DevOps, and SRE, and can debug code and runtime failures.\n\nYour speciality is that you can correlate static SDLC data with runtime data from CI/CD pipelines, logs, and other tool calls necessary.\n\nExpect that the user has advanced knowledge, but always provide commands and steps to reproduce your analysis so they can learn from you.\n\nStart with a short summary and suggested actions, and then go into detail with thoughts, analysis, suggestions.\n\nThink creative and consider unknown unknowns in your debug journey.\n\n","text","",[462,475,471],{"__ignoreMap":473},[12,477,478],{},[27,479,480],{},"Visibility options:",[31,482,483,489],{},[34,484,485,488],{},[27,486,487],{},"Private",": Only viewable by members of the managing project (Developer role+). Cannot be enabled in other projects.",[34,490,491,494,495,500],{},[27,492,493],{},"Public",": Can be viewed by anyone and enabled in any project that meets the prerequisites. Appears in the ",[19,496,499],{"href":497,"rel":498},"https://docs.gitlab.com/user/duo_agent_platform/ai_catalog/",[],"AI Catalog"," for discovery.",[12,502,503],{},[504,505],"img",{"alt":506,"src":507,"title":508},"Custom agent configuration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765373437/uubo0l32qn2enuwipd6q.png","Custom agent configuration interface",[12,510,511],{},[19,512,514],{"href":146,"rel":513},[],"Full setup guide available in the documentation.",[202,516,63],{"id":517},"best-practices",[12,519,520],{},[27,521,522],{},"System prompt tips:",[31,524,525,528,531,534],{},[34,526,527],{},"Be specific about the agent's role and responsibilities.",[34,529,530],{},"Define clear quality standards and constraints.",[34,532,533],{},"Include examples of expected output.",[34,535,536],{},"Keep prompts focused on one primary task.",[12,538,539],{},[27,540,541],{},"Start small:",[31,543,544,547,550],{},[34,545,546],{},"Begin with read-only permissions.",[34,548,549],{},"Test thoroughly before granting write access.",[34,551,552],{},"Gather team feedback and iterate.",[79,554,556],{"id":555},"external-agents","External agents",[12,558,559],{},"External agents run in the background on the GitLab platform when they are triggered by mentions or assignments in issues, epics, and merge requests (for example, mentioning the service account for an external agent in a comment).",[12,561,562],{},"Unlike foundational and custom agents that you interact with through GitLab Duo Agentic Chat, external agents execute asynchronously on GitLab-managed compute, enabling powerful automation with specialized AI providers.",[12,564,565],{},"They read the surrounding context and repository code, decide on the appropriate actions, and typically run CI/CD pipelines or push changes and comments back to GitLab, all with audit trails and project permissions enforced.",[12,567,568,569,572,573,576,577,572,580,583],{},"For GitLab-managed external agents such as the ",[27,570,571],{},"Claude Code Agent"," and ",[27,574,575],{},"Codex Agent",", GitLab-managed credentials are provided through the GitLab AI Gateway so you don’t have to store and rotate API keys yourself. Other providers like ",[27,578,579],{},"Amazon Q",[27,581,582],{},"Gemini"," require you to configure your own credentials using CI/CD variables in your project.",[202,585,587],{"id":586},"when-to-use-external-agents","When to use external agents",[31,589,590,593,596],{},[34,591,592],{},"You need specific agentic AI behavior or LLMs for specialized tasks that are implemented by external providers.",[34,594,595],{},"You want event-triggered automation (not interactive chat), driven by mentions or assignments in issues, epics, and merge requests.",[34,597,598],{},"You need to meet specific compliance or data residency requirements by restricting which AI providers process your data.",[202,600,602],{"id":601},"why-use-external-agents","Why use external agents?",[31,604,605,611,617,623],{},[34,606,607,610],{},[27,608,609],{},"Leverage specialized AI models:"," Use GitLab-managed external agents like the Claude Code Agent (Anthropic Claude) or Codex Agent (OpenAI Codex) for provider-specific capabilities such as code analysis, refactoring, and task delegation, or integrate additional providers like Amazon Q and Gemini.",[34,612,613,616],{},[27,614,615],{},"Meet compliance requirements:"," Keep data within approved AI providers to satisfy regulatory, security, or data residency policies while still orchestrating work from inside GitLab.",[34,618,619,622],{},[27,620,621],{},"Experiment with providers:"," Test different agentic AI and LLM behavior to find the best fit for your workflows without rebuilding your GitLab integrations from scratch.",[34,624,625,628],{},[27,626,627],{},"Access unique features:"," Take advantage of provider-specific tools and optimizations (for example, Claude Code’s code understanding and review capabilities, or OpenAI Codex’s task-style prompts for implementing changes).",[202,630,632],{"id":631},"example-usage","Example usage",[12,634,635],{},[462,636,637],{},"@ai-codex-agent Please review this merge request for security issues",[12,639,640],{},"This triggers a runner execution job that runs the external AI tool and posts results back to GitLab.",[202,642,644],{"id":643},"real-world-example","Real-world example",[12,646,647],{},"A development team uses an external agent such as the Codex Agent by GitLab for code review. When developers create merge requests, they assign the external agent’s service account as a reviewer.",[12,649,650],{},"The agent:",[31,652,653,656,659,662,665],{},[34,654,655],{},"Analyzes the code changes in the merge request.",[34,657,658],{},"Checks for best practices, security issues, and code quality problems.",[34,660,661],{},"Suggests improvements and optimizations.",[34,663,664],{},"Posts detailed review comments with specific recommendations.",[34,666,667],{},"Links to relevant documentation or guidelines.",[12,669,670],{},"All of this happens automatically in the background while the developer continues working, with results posted directly in the merge request.",[202,672,674],{"id":673},"supported-external-agents","Supported external agents",[12,676,677],{},"The following external agents have been tested and are available in the AI Catalog on GitLab.com:",[202,679,681],{"id":680},"gitlab-managed-external-agents","GitLab-managed external agents",[12,683,684],{},"GitLab-managed credentials are provided and billed through the GitLab AI Gateway.",[31,686,687,693],{},[34,688,689,692],{},[27,690,691],{},"Claude Code Agent by GitLab (Anthropic Claude)"," — Code generation, review, and analysis.",[34,694,695,698],{},[27,696,697],{},"Codex Agent by GitLab (OpenAI Codex)"," — GPT-powered code assistance and task delegation.",[202,700,702],{"id":701},"setting-up-external-agents","Setting up external agents",[12,704,705],{},"The setup process differs based on the type of external agent you're using.",[202,707,681],{"id":708},"gitlab-managed-external-agents-1",[710,711,712,715,718],"ol",{},[34,713,714],{},"Enable a GitLab-managed external agent (Claude Code Agent or Codex Agent) from the AI Catalog.",[34,716,717],{},"Credentials are automatically provided through the AI Gateway—no API keys to configure.",[34,719,720],{},"Configure triggers so the agent runs when it is mentioned, assigned, or assigned as a reviewer in issues, epics, or merge requests.",[12,722,723,724,197],{},"For complete setup instructions including service accounts, triggers, and configuration examples, see the ",[19,725,727],{"href":165,"rel":726},[],"External agents documentation",[79,729,731],{"id":730},"choosing-the-best-agent-type-for-your-use-cases","Choosing the best agent type for your use cases",[93,733,734,750],{},[96,735,736],{},[99,737,738,741,744,747],{},[102,739,740],{},"Feature",[102,742,743],{},"Foundational Agents",[102,745,746],{},"Custom Agents",[102,748,749],{},"External Agents",[115,751,752,766,780,794,807],{},[99,753,754,757,760,763],{},[120,755,756],{},"Setup",[120,758,759],{},"Zero setup, maintained by GitLab",[120,761,762],{},"Requires system prompt configuration",[120,764,765],{},"Configured via AI Catalog or flow YAML + service account",[99,767,768,771,774,777],{},[120,769,770],{},"Availability",[120,772,773],{},"Available immediately in Chat",[120,775,776],{},"Available in Chat after enabled in a project",[120,778,779],{},"Runs on platform compute via CI/CD runners and triggers",[99,781,782,785,788,791],{},[120,783,784],{},"Customization",[120,786,787],{},"Limited (custom instructions)",[120,789,790],{},"Behavior customizable via system prompt and skills",[120,792,793],{},"Prompt and flow configuration; provider-level configuration",[99,795,796,799,802,804],{},[120,797,798],{},"Interaction",[120,800,801],{},"Agentic chat",[120,803,801],{},[120,805,806],{},"Event-triggered, asynchronous (mentions/assignments)",[99,808,809,812,815,817],{},[120,810,811],{},"Best For",[120,813,814],{},"General development tasks",[120,816,156],{},[120,818,819],{},"External AI integrations and provider-specific capabilities",[79,821,823],{"id":822},"summary","Summary",[12,825,826],{},"GitLab Duo Agent Platform offers these agent types:",[31,828,829,835,841],{},[34,830,831,834],{},[27,832,833],{},"Foundational:"," Ready-to-use agents for common tasks (GitLab Duo, Planner, Security Analyst, Data Analyst, CI Expert)",[34,836,837,840],{},[27,838,839],{},"Custom:"," Create team-specific agents with custom prompts, behaviors, and skills",[34,842,843,846],{},[27,844,845],{},"External:"," Integrate external AI tools",[12,848,849],{},"Start with foundational agents, create custom agents for team-specific needs, and explore external agents when you need specialized AI providers or event-triggered automation.",[851,852],"hr",{},[12,854,855,427,858],{},[27,856,857],{},"Next:",[19,859,861],{"href":860},"/blog/understanding-flows-multi-agent-workflows/","Part 4: Understanding flows",[12,863,864,427,867],{},[27,865,866],{},"Previous:",[19,868,870],{"href":869},"/blog/getting-started-with-gitlab-duo-agentic-chat/","Part 2: Getting started with GitLab Duo Agentic Chat",{"title":473,"searchDepth":872,"depth":872,"links":873},2,[874,875,876,884,889,899,900],{"id":81,"depth":872,"text":39},{"id":91,"depth":872,"text":45},{"id":184,"depth":872,"text":185,"children":877},[878,880,881,882,883],{"id":204,"depth":879,"text":205},3,{"id":230,"depth":879,"text":231},{"id":259,"depth":879,"text":260},{"id":288,"depth":879,"text":289},{"id":323,"depth":879,"text":324},{"id":372,"depth":872,"text":373,"children":885},[886,887,888],{"id":379,"depth":879,"text":51},{"id":443,"depth":879,"text":57},{"id":517,"depth":879,"text":63},{"id":555,"depth":872,"text":556,"children":890},[891,892,893,894,895,896,897,898],{"id":586,"depth":879,"text":587},{"id":601,"depth":879,"text":602},{"id":631,"depth":879,"text":632},{"id":643,"depth":879,"text":644},{"id":673,"depth":879,"text":674},{"id":680,"depth":879,"text":681},{"id":701,"depth":879,"text":702},{"id":708,"depth":879,"text":681},{"id":730,"depth":872,"text":731},{"id":822,"depth":872,"text":823},"ai","2026-01-14","Deep dive into GitLab Duo Agent Platform agent types. Learn about foundational agents, create custom agents for team workflows, and integrate external agents like Claude Code and OpenAI Codex.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png",{},true,"/en-us/blog/understanding-agents-foundational-custom-external",{"noIndex":906,"title":5,"description":903,"ogImage":912},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1752678395/impw8no5tbskr6k2afgu.jpg","understanding-agents-foundational-custom-external","en-us/blog/understanding-agents-foundational-custom-external",[916,917,918,919],"AI","product","features","tutorial","BlogPost","2026-05-27","lcQ75edhYXc2943btpMquuYXVaoZHPnZVIRXkfHQmS4",{"logo":924,"freeTrial":929,"sales":934,"login":939,"items":944,"search":1269,"minimal":1300,"duo":1319,"switchNav":1328,"pricingDeployment":1339},{"config":925},{"href":926,"dataGaName":927,"dataGaLocation":928},"/","gitlab logo","header",{"text":930,"config":931},"Get free trial",{"href":932,"dataGaName":933,"dataGaLocation":928},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":935,"config":936},"Request a demo",{"href":937,"dataGaName":938,"dataGaLocation":928},"/sales/?contact-topic=request-demo","sales",{"text":940,"config":941},"Sign in",{"href":942,"dataGaName":943,"dataGaLocation":928},"https://gitlab.com/users/sign_in/","sign in",[945,972,1072,1077,1191,1247],{"text":170,"config":946,"menu":948},{"dataNavLevelOne":947},"platform",{"type":949,"columns":950},"cards",[951,957,964],{"title":170,"description":952,"link":953},"The intelligent orchestration platform for DevSecOps",{"text":954,"config":955},"Explore our Platform",{"href":956,"dataGaName":947,"dataGaLocation":928},"/platform/",{"title":76,"description":958,"link":959},"Agentic AI for the entire software lifecycle",{"text":960,"config":961},"Meet GitLab Duo",{"href":962,"dataGaName":963,"dataGaLocation":928},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":965,"description":966,"link":967},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":968,"config":969},"Learn more",{"href":970,"dataGaName":971,"dataGaLocation":928},"/why-gitlab/","why gitlab",{"text":973,"left":909,"config":974,"menu":976},"Product",{"dataNavLevelOne":975},"solutions",{"type":977,"link":978,"columns":982,"feature":1051},"lists",{"text":979,"config":980},"View all Solutions",{"href":981,"dataGaName":975,"dataGaLocation":928},"/solutions/",[983,1007,1030],{"title":984,"description":985,"link":986,"items":991},"Automation","CI/CD and automation to accelerate deployment",{"config":987},{"icon":988,"href":989,"dataGaName":990,"dataGaLocation":928},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[992,996,999,1003],{"text":993,"config":994},"CI/CD",{"href":995,"dataGaLocation":928,"dataGaName":993},"/solutions/continuous-integration/",{"text":76,"config":997},{"href":962,"dataGaLocation":928,"dataGaName":998},"gitlab duo agent platform - product menu",{"text":1000,"config":1001},"Source Code Management",{"href":1002,"dataGaLocation":928,"dataGaName":1000},"/solutions/source-code-management/",{"text":1004,"config":1005},"Automated Software Delivery",{"href":989,"dataGaLocation":928,"dataGaName":1006},"Automated software delivery",{"title":1008,"description":1009,"link":1010,"items":1015},"Security","Deliver code faster without compromising security",{"config":1011},{"href":1012,"dataGaName":1013,"dataGaLocation":928,"icon":1014},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1016,1020,1025],{"text":1017,"config":1018},"Application Security Testing",{"href":1012,"dataGaName":1019,"dataGaLocation":928},"Application security testing",{"text":1021,"config":1022},"Software Supply Chain Security",{"href":1023,"dataGaLocation":928,"dataGaName":1024},"/solutions/supply-chain/","Software supply chain security",{"text":1026,"config":1027},"Software Compliance",{"href":1028,"dataGaName":1029,"dataGaLocation":928},"/solutions/software-compliance/","software compliance",{"title":1031,"link":1032,"items":1037},"Measurement",{"config":1033},{"icon":1034,"href":1035,"dataGaName":1036,"dataGaLocation":928},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[1038,1042,1046],{"text":1039,"config":1040},"Visibility & Measurement",{"href":1035,"dataGaLocation":928,"dataGaName":1041},"Visibility and Measurement",{"text":1043,"config":1044},"Value Stream Management",{"href":1045,"dataGaLocation":928,"dataGaName":1043},"/solutions/value-stream-management/",{"text":1047,"config":1048},"Analytics & Insights",{"href":1049,"dataGaLocation":928,"dataGaName":1050},"/solutions/analytics-and-insights/","Analytics and insights",{"title":1052,"type":977,"items":1053},"GitLab for",[1054,1060,1066],{"text":1055,"config":1056},"Enterprise",{"icon":1057,"href":1058,"dataGaLocation":928,"dataGaName":1059},"Building","/enterprise/","enterprise",{"text":1061,"config":1062},"Small Business",{"icon":1063,"href":1064,"dataGaLocation":928,"dataGaName":1065},"Work","/small-business/","small business",{"text":1067,"config":1068},"Public Sector",{"icon":1069,"href":1070,"dataGaLocation":928,"dataGaName":1071},"Organization","/solutions/public-sector/","public sector",{"text":1073,"config":1074},"Pricing",{"href":1075,"dataGaName":1076,"dataGaLocation":928,"dataNavLevelOne":1076},"/pricing/","pricing",{"text":1078,"config":1079,"menu":1081},"Resources",{"dataNavLevelOne":1080},"resources",{"type":977,"link":1082,"columns":1086,"feature":1180},{"text":1083,"config":1084},"View all resources",{"href":1085,"dataGaName":1080,"dataGaLocation":928},"/resources/",[1087,1120,1147],{"title":1088,"items":1089},"Getting started",[1090,1095,1100,1105,1110,1115],{"text":1091,"config":1092},"Install",{"href":1093,"dataGaName":1094,"dataGaLocation":928},"/install/","install",{"text":1096,"config":1097},"Quick start guides",{"href":1098,"dataGaName":1099,"dataGaLocation":928},"/get-started/","quick setup checklists",{"text":1101,"config":1102},"Learn",{"href":1103,"dataGaLocation":928,"dataGaName":1104},"https://university.gitlab.com/","learn",{"text":1106,"config":1107},"Product documentation",{"href":1108,"dataGaName":1109,"dataGaLocation":928},"https://docs.gitlab.com/","product documentation",{"text":1111,"config":1112},"Best practice videos",{"href":1113,"dataGaName":1114,"dataGaLocation":928},"/getting-started-videos/","best practice videos",{"text":1116,"config":1117},"Integrations",{"href":1118,"dataGaName":1119,"dataGaLocation":928},"/integrations/","integrations",{"title":1121,"items":1122},"Discover",[1123,1128,1133,1138,1142],{"text":1124,"config":1125},"Customer success stories",{"href":1126,"dataGaName":1127,"dataGaLocation":928},"/customers/","customer success stories",{"text":1129,"config":1130},"Blog",{"href":1131,"dataGaName":1132,"dataGaLocation":928},"/blog/","blog",{"text":1134,"config":1135},"Demo Hub",{"href":1136,"dataGaName":1137,"dataGaLocation":928},"/demo-hub/","demo hub",{"text":1139,"config":1140},"The Source",{"href":1141,"dataGaName":1132,"dataGaLocation":928},"/the-source/",{"text":1143,"config":1144},"Remote",{"href":1145,"dataGaName":1146,"dataGaLocation":928},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1148,"items":1149},"Connect",[1150,1155,1160,1165,1170,1175],{"text":1151,"config":1152},"GitLab Services",{"href":1153,"dataGaName":1154,"dataGaLocation":928},"/services/","services",{"text":1156,"config":1157},"Contribute",{"href":1158,"dataGaName":1159,"dataGaLocation":928},"https://contributors.gitlab.com","contribute",{"text":1161,"config":1162},"Community",{"href":1163,"dataGaName":1164,"dataGaLocation":928},"/community/","community",{"text":1166,"config":1167},"Forum",{"href":1168,"dataGaName":1169,"dataGaLocation":928},"https://forum.gitlab.com/","forum",{"text":1171,"config":1172},"Events",{"href":1173,"dataGaName":1174,"dataGaLocation":928},"/events/","events",{"text":1176,"config":1177},"Partners",{"href":1178,"dataGaName":1179,"dataGaLocation":928},"/partners/","partners",{"config":1181,"title":1184,"text":1185,"link":1186},{"background":1182,"textColor":1183},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":1187,"config":1188},"Read the latest",{"href":1189,"dataGaName":1190,"dataGaLocation":928},"/whats-new/","whats new",{"text":1192,"config":1193,"menu":1195},"Company",{"dataNavLevelOne":1194},"company",{"type":977,"columns":1196},[1197],{"items":1198},[1199,1204,1210,1212,1217,1222,1227,1232,1237,1242],{"text":1200,"config":1201},"About",{"href":1202,"dataGaName":1203,"dataGaLocation":928},"/company/","about",{"text":1205,"config":1206,"footerGa":1209},"Jobs",{"href":1207,"dataGaName":1208,"dataGaLocation":928},"/jobs/","jobs",{"dataGaName":1208},{"text":1171,"config":1211},{"href":1173,"dataGaName":1174,"dataGaLocation":928},{"text":1213,"config":1214},"Leadership",{"href":1215,"dataGaName":1216,"dataGaLocation":928},"/company/team/e-group/","leadership",{"text":1218,"config":1219},"Handbook",{"href":1220,"dataGaName":1221,"dataGaLocation":928},"https://handbook.gitlab.com/","handbook",{"text":1223,"config":1224},"Investor relations",{"href":1225,"dataGaName":1226,"dataGaLocation":928},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1228,"config":1229},"Trust Center",{"href":1230,"dataGaName":1231,"dataGaLocation":928},"/security/","trust center",{"text":1233,"config":1234},"AI Transparency Center",{"href":1235,"dataGaName":1236,"dataGaLocation":928},"/ai-transparency-center/","ai transparency center",{"text":1238,"config":1239},"Newsletter",{"href":1240,"dataGaName":1241,"dataGaLocation":928},"/company/contact/#contact-forms","newsletter",{"text":1243,"config":1244},"Press",{"href":1245,"dataGaName":1246,"dataGaLocation":928},"/press/","press",{"text":1248,"config":1249,"menu":1250},"Contact us",{"dataNavLevelOne":1194},{"type":977,"columns":1251},[1252],{"items":1253},[1254,1259,1264],{"text":1255,"config":1256},"Talk to sales",{"href":1257,"dataGaName":1258,"dataGaLocation":928},"/sales/","talk to sales",{"text":1260,"config":1261},"Support portal",{"href":1262,"dataGaName":1263,"dataGaLocation":928},"https://support.gitlab.com/hc/en-us","support portal",{"text":1265,"config":1266},"Customer portal",{"href":1267,"dataGaName":1268,"dataGaLocation":928},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1270,"login":1271,"suggestions":1278},"Close",{"text":1272,"link":1273},"To search repositories and projects, login to",{"text":1274,"config":1275},"gitlab.com",{"href":942,"dataGaName":1276,"dataGaLocation":1277},"search login","search",{"text":1279,"default":1280},"Suggestions",[1281,1283,1287,1289,1293,1297],{"text":76,"config":1282},{"href":962,"dataGaName":76,"dataGaLocation":1277},{"text":1284,"config":1285},"Code Suggestions (AI)",{"href":1286,"dataGaName":1284,"dataGaLocation":1277},"/solutions/code-suggestions/",{"text":993,"config":1288},{"href":995,"dataGaName":993,"dataGaLocation":1277},{"text":1290,"config":1291},"GitLab on AWS",{"href":1292,"dataGaName":1290,"dataGaLocation":1277},"/partners/technology-partners/aws/",{"text":1294,"config":1295},"GitLab on Google Cloud",{"href":1296,"dataGaName":1294,"dataGaLocation":1277},"/partners/technology-partners/google-cloud-platform/",{"text":1298,"config":1299},"Why GitLab?",{"href":970,"dataGaName":1298,"dataGaLocation":1277},{"freeTrial":1301,"mobileIcon":1306,"desktopIcon":1311,"secondaryButton":1314},{"text":1302,"config":1303},"Start free trial",{"href":1304,"dataGaName":933,"dataGaLocation":1305},"https://gitlab.com/-/trials/new/","nav",{"altText":1307,"config":1308},"Gitlab Icon",{"src":1309,"dataGaName":1310,"dataGaLocation":1305},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1307,"config":1312},{"src":1313,"dataGaName":1310,"dataGaLocation":1305},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1315,"config":1316},"Get Started",{"href":1317,"dataGaName":1318,"dataGaLocation":1305},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":1320,"mobileIcon":1324,"desktopIcon":1326},{"text":1321,"config":1322},"Learn more about GitLab Duo",{"href":962,"dataGaName":1323,"dataGaLocation":1305},"gitlab duo",{"altText":1307,"config":1325},{"src":1309,"dataGaName":1310,"dataGaLocation":1305},{"altText":1307,"config":1327},{"src":1313,"dataGaName":1310,"dataGaLocation":1305},{"button":1329,"mobileIcon":1334,"desktopIcon":1336},{"text":1330,"config":1331},"/switch",{"href":1332,"dataGaName":1333,"dataGaLocation":1305},"#contact","switch",{"altText":1307,"config":1335},{"src":1309,"dataGaName":1310,"dataGaLocation":1305},{"altText":1307,"config":1337},{"src":1338,"dataGaName":1310,"dataGaLocation":1305},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1340,"mobileIcon":1345,"desktopIcon":1347},{"text":1341,"config":1342},"Back to pricing",{"href":1075,"dataGaName":1343,"dataGaLocation":1305,"icon":1344},"back to pricing","GoBack",{"altText":1307,"config":1346},{"src":1309,"dataGaName":1310,"dataGaLocation":1305},{"altText":1307,"config":1348},{"src":1313,"dataGaName":1310,"dataGaLocation":1305},{"title":1350,"titleMobile":1351,"button":1352,"config":1357},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":968,"config":1353},{"href":1354,"dataGaName":1355,"dataGaLocation":1356},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":1358,"disabled":906},"release",{"data":1360},{"text":1361,"source":1362,"edit":1368,"contribute":1373,"config":1378,"items":1383,"minimal":1593},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":1363,"config":1364},"View page source",{"href":1365,"dataGaName":1366,"dataGaLocation":1367},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1369,"config":1370},"Edit this page",{"href":1371,"dataGaName":1372,"dataGaLocation":1367},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1374,"config":1375},"Please contribute",{"href":1376,"dataGaName":1377,"dataGaLocation":1367},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1379,"facebook":1380,"youtube":1381,"linkedin":1382},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1384,1431,1485,1529,1561],{"title":1073,"links":1385,"subMenu":1400},[1386,1390,1395],{"text":1387,"config":1388},"View plans",{"href":1075,"dataGaName":1389,"dataGaLocation":1367},"view plans",{"text":1391,"config":1392},"Why Premium?",{"href":1393,"dataGaName":1394,"dataGaLocation":1367},"/pricing/premium/","why premium",{"text":1396,"config":1397},"Why Ultimate?",{"href":1398,"dataGaName":1399,"dataGaLocation":1367},"/pricing/ultimate/","why ultimate",[1401],{"title":1402,"links":1403},"Contact Us",[1404,1407,1409,1411,1416,1421,1426],{"text":1405,"config":1406},"Contact sales",{"href":1257,"dataGaName":938,"dataGaLocation":1367},{"text":1260,"config":1408},{"href":1262,"dataGaName":1263,"dataGaLocation":1367},{"text":1265,"config":1410},{"href":1267,"dataGaName":1268,"dataGaLocation":1367},{"text":1412,"config":1413},"Status",{"href":1414,"dataGaName":1415,"dataGaLocation":1367},"https://status.gitlab.com/","status",{"text":1417,"config":1418},"Terms of use",{"href":1419,"dataGaName":1420,"dataGaLocation":1367},"/terms/","terms of use",{"text":1422,"config":1423},"Privacy statement",{"href":1424,"dataGaName":1425,"dataGaLocation":1367},"/privacy/","privacy statement",{"text":1427,"config":1428},"Cookie preferences",{"dataGaName":1429,"dataGaLocation":1367,"id":1430,"isOneTrustButton":909},"cookie preferences","ot-sdk-btn",{"title":973,"links":1432,"subMenu":1441},[1433,1437],{"text":1434,"config":1435},"DevSecOps platform",{"href":956,"dataGaName":1436,"dataGaLocation":1367},"devsecops platform",{"text":1438,"config":1439},"AI-Assisted Development",{"href":962,"dataGaName":1440,"dataGaLocation":1367},"ai-assisted development",[1442],{"title":1443,"links":1444},"Topics",[1445,1450,1455,1460,1465,1470,1475,1480],{"text":1446,"config":1447},"CICD",{"href":1448,"dataGaName":1449,"dataGaLocation":1367},"/topics/ci-cd/","cicd",{"text":1451,"config":1452},"GitOps",{"href":1453,"dataGaName":1454,"dataGaLocation":1367},"/topics/gitops/","gitops",{"text":1456,"config":1457},"DevOps",{"href":1458,"dataGaName":1459,"dataGaLocation":1367},"/topics/devops/","devops",{"text":1461,"config":1462},"Version Control",{"href":1463,"dataGaName":1464,"dataGaLocation":1367},"/topics/version-control/","version control",{"text":1466,"config":1467},"DevSecOps",{"href":1468,"dataGaName":1469,"dataGaLocation":1367},"/topics/devsecops/","devsecops",{"text":1471,"config":1472},"Cloud Native",{"href":1473,"dataGaName":1474,"dataGaLocation":1367},"/topics/cloud-native/","cloud native",{"text":1476,"config":1477},"AI for Coding",{"href":1478,"dataGaName":1479,"dataGaLocation":1367},"/topics/devops/ai-for-coding/","ai for coding",{"text":1481,"config":1482},"Agentic AI",{"href":1483,"dataGaName":1484,"dataGaLocation":1367},"/topics/agentic-ai/","agentic ai",{"title":1486,"links":1487},"Solutions",[1488,1490,1492,1497,1501,1504,1508,1511,1513,1516,1519,1524],{"text":1017,"config":1489},{"href":1012,"dataGaName":1017,"dataGaLocation":1367},{"text":1006,"config":1491},{"href":989,"dataGaName":990,"dataGaLocation":1367},{"text":1493,"config":1494},"Agile development",{"href":1495,"dataGaName":1496,"dataGaLocation":1367},"/solutions/agile-delivery/","agile delivery",{"text":1498,"config":1499},"SCM",{"href":1002,"dataGaName":1500,"dataGaLocation":1367},"source code management",{"text":1446,"config":1502},{"href":995,"dataGaName":1503,"dataGaLocation":1367},"continuous integration & delivery",{"text":1505,"config":1506},"Value stream management",{"href":1045,"dataGaName":1507,"dataGaLocation":1367},"value stream management",{"text":1451,"config":1509},{"href":1510,"dataGaName":1454,"dataGaLocation":1367},"/solutions/gitops/",{"text":1055,"config":1512},{"href":1058,"dataGaName":1059,"dataGaLocation":1367},{"text":1514,"config":1515},"Small business",{"href":1064,"dataGaName":1065,"dataGaLocation":1367},{"text":1517,"config":1518},"Public sector",{"href":1070,"dataGaName":1071,"dataGaLocation":1367},{"text":1520,"config":1521},"Education",{"href":1522,"dataGaName":1523,"dataGaLocation":1367},"/solutions/education/","education",{"text":1525,"config":1526},"Financial services",{"href":1527,"dataGaName":1528,"dataGaLocation":1367},"/solutions/finance/","financial services",{"title":1078,"links":1530},[1531,1533,1535,1537,1540,1542,1545,1547,1549,1551,1553,1555,1557,1559],{"text":1091,"config":1532},{"href":1093,"dataGaName":1094,"dataGaLocation":1367},{"text":1096,"config":1534},{"href":1098,"dataGaName":1099,"dataGaLocation":1367},{"text":1101,"config":1536},{"href":1103,"dataGaName":1104,"dataGaLocation":1367},{"text":1106,"config":1538},{"href":1108,"dataGaName":1539,"dataGaLocation":1367},"docs",{"text":1129,"config":1541},{"href":1131,"dataGaName":1132,"dataGaLocation":1367},{"text":1543,"config":1544},"What's new",{"href":1189,"dataGaName":1190,"dataGaLocation":1367},{"text":1124,"config":1546},{"href":1126,"dataGaName":1127,"dataGaLocation":1367},{"text":1143,"config":1548},{"href":1145,"dataGaName":1146,"dataGaLocation":1367},{"text":1151,"config":1550},{"href":1153,"dataGaName":1154,"dataGaLocation":1367},{"text":1156,"config":1552},{"href":1158,"dataGaName":1159,"dataGaLocation":1367},{"text":1161,"config":1554},{"href":1163,"dataGaName":1164,"dataGaLocation":1367},{"text":1166,"config":1556},{"href":1168,"dataGaName":1169,"dataGaLocation":1367},{"text":1171,"config":1558},{"href":1173,"dataGaName":1174,"dataGaLocation":1367},{"text":1176,"config":1560},{"href":1178,"dataGaName":1179,"dataGaLocation":1367},{"title":1192,"links":1562},[1563,1565,1567,1569,1571,1573,1577,1582,1584,1586,1588],{"text":1200,"config":1564},{"href":1202,"dataGaName":1194,"dataGaLocation":1367},{"text":1205,"config":1566},{"href":1207,"dataGaName":1208,"dataGaLocation":1367},{"text":1213,"config":1568},{"href":1215,"dataGaName":1216,"dataGaLocation":1367},{"text":1218,"config":1570},{"href":1220,"dataGaName":1221,"dataGaLocation":1367},{"text":1223,"config":1572},{"href":1225,"dataGaName":1226,"dataGaLocation":1367},{"text":1574,"config":1575},"Sustainability",{"href":1576,"dataGaName":1574,"dataGaLocation":1367},"/sustainability/",{"text":1578,"config":1579},"Diversity, inclusion and belonging (DIB)",{"href":1580,"dataGaName":1581,"dataGaLocation":1367},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1228,"config":1583},{"href":1230,"dataGaName":1231,"dataGaLocation":1367},{"text":1238,"config":1585},{"href":1240,"dataGaName":1241,"dataGaLocation":1367},{"text":1243,"config":1587},{"href":1245,"dataGaName":1246,"dataGaLocation":1367},{"text":1589,"config":1590},"Modern Slavery Transparency Statement",{"href":1591,"dataGaName":1592,"dataGaLocation":1367},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1594},[1595,1598,1601],{"text":1596,"config":1597},"Terms",{"href":1419,"dataGaName":1420,"dataGaLocation":1367},{"text":1599,"config":1600},"Cookies",{"dataGaName":1429,"dataGaLocation":1367,"id":1430,"isOneTrustButton":909},{"text":1602,"config":1603},"Privacy",{"href":1424,"dataGaName":1425,"dataGaLocation":1367},[1605],{"id":1606,"title":7,"body":905,"config":1607,"content":1609,"description":905,"extension":1613,"meta":1614,"navigation":909,"path":1615,"seo":1616,"stem":1617,"__hash__":1618},"blogAuthors/en-us/blog/authors/itzik-gan-baruch.yml",{"template":1608},"BlogAuthor",{"name":7,"config":1610},{"headshot":1611,"ctfId":1612},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658921/Blog/Author%20Headshots/iganbaruch-headshot.jpg","iganbaruch","yml",{},"/en-us/blog/authors/itzik-gan-baruch",{},"en-us/blog/authors/itzik-gan-baruch","bz9VMiTQ1ixvnoxUFk0jiUcnLG3oQsymgXNCqyRqfsk",[1620,1626,1634],{"title":1621,"description":1622,"heroImage":907,"category":901,"date":1623,"authors":1624,"slug":1625,"externalUrl":905},"How I built a demo generator with GitLab Duo Agent Platform","Demos haven't always looked like this. Looking back over my career, here's how they have evolved. Follow the tutorial to build your own demo and agent.","2026-08-13",[7],"agentic-click-through-demo",{"title":1627,"description":1628,"heroImage":1629,"category":901,"date":1630,"authors":1631,"slug":1633,"externalUrl":905},"How to govern agentic AI, MCPs, and AI code assistants","AI agents can write, push, and deploy without human review at each step. Learn a practical framework for controlling access, permissions, and audit trails.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785337625/ifzlc2hyzaxhzmjgyymh.png","2026-07-31",[1632],"Julie Griffin","govern-agentic-ai-mcps-code-assistants",{"title":1635,"description":1636,"heroImage":1637,"category":901,"date":1638,"authors":1639,"slug":1641,"externalUrl":905},"Claude Opus 5 on GitLab: Reasoning built for the hard tasks","Anthropic’s Claude Opus 5 is now available on GitLab Duo Agent Platform, delivering deeper reasoning without sacrificing speed.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-07-27",[1640],"Brittany Lutz","claude-opus-5-on-gitlab-duo-agent-platform",{"promotions":1643},[1644,1657,1668,1680],{"id":1645,"categories":1646,"header":1647,"text":1648,"button":1649,"image":1654},"ai-modernization",[901],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1650,"config":1651},"Get your AI maturity score",{"href":1652,"dataGaName":1653,"dataGaLocation":1132},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1655},{"src":1656},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1658,"categories":1659,"header":1660,"text":1648,"button":1661,"image":1665},"devops-modernization",[917,1469],"Are you just managing tools or shipping innovation?",{"text":1662,"config":1663},"Get your DevOps maturity score",{"href":1664,"dataGaName":1653,"dataGaLocation":1132},"/assessments/devops-modernization-assessment/",{"config":1666},{"src":1667},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1669,"categories":1670,"header":1672,"text":1648,"button":1673,"image":1677},"security-modernization",[1671],"security","Are you trading speed for security?",{"text":1674,"config":1675},"Get your security maturity score",{"href":1676,"dataGaName":1653,"dataGaLocation":1132},"/assessments/security-modernization-assessment/",{"config":1678},{"src":1679},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1681,"paths":1682,"header":1685,"text":1686,"button":1687,"image":1692},"github-azure-migration",[1683,1684],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":1688,"config":1689},"See how GitLab compares to GitHub",{"href":1690,"dataGaName":1691,"dataGaLocation":1132},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1693},{"src":1667},{"header":1695,"blurb":1696,"button":1697,"secondaryButton":1702},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1698,"config":1699},"Get your free trial",{"href":1700,"dataGaName":933,"dataGaLocation":1701},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":1405,"config":1703},{"href":1257,"dataGaName":938,"dataGaLocation":1701},1786803766671]