[{"data":1,"prerenderedAt":1017},["ShallowReactive",2],{"/blog/multi-step-software-delivery-with-agentic-flows":3,"navigation-en-us":231,"banner-en-us":659,"footer-en-us":669,"blog-post-authors-en-us-Ozer Dondurmacioglu":914,"blog-related-posts-en-us-multi-step-software-delivery-with-agentic-flows":930,"blog-promotions-en-us":955,"next-steps-en-us":1007},{"id":4,"title":5,"authors":6,"body":8,"category":211,"date":212,"description":213,"extension":214,"externalUrl":215,"faq":215,"featured":216,"heroImage":217,"meta":218,"navigation":219,"path":220,"seo":221,"slug":223,"stem":224,"tags":225,"template":229,"updatedDate":215,"__hash__":230},"blogPosts/en-us/blog/multi-step-software-delivery-with-agentic-flows.md","Turn multi-step software delivery into agentic flows you can trust",[7],"Ozer Dondurmacioglu",{"type":9,"value":10,"toc":203},"minimark",[11,15,35,44,47,52,55,58,62,99,104,113,117,121,139,145,156,160,163,175,189],[12,13,14],"p",{},"Knowing what to do next in software development is rarely the hard part. Doing it again in the exact same steps — implement an issue, fix a pipeline, review a merge request — is. Chat that only provides answers still leaves every handoff to you. Homegrown scripts don’t inherit changes in access controls, new triggers, or updated review gates. In both cases, the multi-step paths teams rely on continue to stay stuck as runbooks in someone’s head.",[12,16,17,23,24,29,30,34],{},[18,19,22],"a",{"href":20,"rel":21},"https://docs.gitlab.com/releases/19/gitlab-19-2-released/",[],"GitLab 19.2"," closes that gap as ",[18,25,28],{"href":26,"rel":27},"https://docs.gitlab.com/user/duo_agent_platform/flows/custom/",[],"Custom Flows"," reach general availability: AI-powered workflows you define once, trigger from native GitLab events, and run in CI/CD pipeline. A self-healing pipeline pattern like ",[31,32,33],"em",{},"analyze failed test → generate fix → commit → notify team"," becomes something the platform can run end to end.",[12,36,37,38,43],{},"In addition, ",[18,39,42],{"href":40,"rel":41},"https://docs.gitlab.com/releases/19/gitlab-19-2-released/#start-foundational-flows-from-agentic-chat",[],"Foundational Flows"," no longer start only from a button, mention, or assignment. Now, when your request in GitLab Duo Agentic Chat matches specialist work — implement a change, review a merge request, fix a failed pipeline — Duo recommends the flow, you approve the handoff, and you follow it from the conversation.",[12,45,46],{},"As a result, agentic software delivery gets past single-turn chat. Teams encode the sequences they already trust, kick them off from events or chat, and keep humans on approval instead of on every intermediate step.",[48,49,51],"h2",{"id":50},"why-multi-step-software-delivery-stays-manual","Why multi-step software delivery stays manual",[12,53,54],{},"Agentic demos favor single turns. Real delivery work is a chain: gather context, change code, open a merge request, wait on CI, and respond to review. Without flows, every link in that chain is a person clicking, pasting, or remembering tribal steps.",[12,56,57],{},"Building those chains used to feel provisional while custom flows within GitLab Duo Agent Platform were still maturing. Teams delayed encoding the paths they already trust, such as self-healing pipelines, “implement this issue,” and event-driven follow-ups, because production readiness and event coverage weren’t there yet.",[48,59,61],{"id":60},"what-agentic-flows-change-for-engineering-teams","What agentic flows change for engineering teams",[63,64,65,73,79],"ul",{},[66,67,68,72],"li",{},[69,70,71],"strong",{},"Automate the sequences you already trust."," Custom flows run multi-step tasks across projects, triggered by GitLab events you already work with: mentions, assignments, pipelines, merge request lifecycle, work item changes, and more. They run under composite identity, so access stays bounded and actions stay attributable.",[66,74,75,78],{},[69,76,77],{},"Start specialist work from chat."," Ask Agentic Chat to use the Developer Flow to implement work, the Code Review Flow to review a merge request, or Fix CI/CD Pipeline Flow to diagnose and repair a failed pipeline. Approve the handoff, then keep working while progress shows inline.",[66,80,81,84,85,90,91,94,95,98],{},[69,82,83],{},"Keep automatic review intentional."," In GitLab 19.2, exclusion rules let you skip auto-review for bot-authored or branch-pattern merge requests you don’t want burning credits. ",[18,86,89],{"href":87,"rel":88},"https://docs.gitlab.com/user/duo_agent_platform/customize/review_instructions/",[],"Custom review instructions"," shape what review looks for, so you’re not only choosing ",[31,92,93],{},"which"," merge requests get reviewed, but ",[31,96,97],{},"how",".",[12,100,101],{},[69,102,103],{},"See Duo agentic flows in action:",[105,106],"iframe",{"src":107,"frameBorder":108,"allow":109,"referrerPolicy":110,"style":111,"title":112},"https://player.vimeo.com/video/1210303097?badge=0&autopause=0&player_id=0&app_id=58479","0","autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share","strict-origin-when-cross-origin","position:absolute;top:0;left:0;width:100%;height:100%;","19.2 Custom Flows Reach GA Status",[114,115],"script",{"src":116},"https://player.vimeo.com/api/player.js",[48,118,120],{"id":119},"how-do-they-work","How do they work?",[12,122,123,126,127,132,133,138],{},[69,124,125],{},"Custom flows."," Create one from a project or the ",[18,128,131],{"href":129,"rel":130},"https://docs.gitlab.com/user/duo_agent_platform/ai_catalog/",[],"AI Catalog",", choose visibility, enable it where you need it, and attach a ",[18,134,137],{"href":135,"rel":136},"https://docs.gitlab.com/user/duo_agent_platform/triggers/",[],"trigger"," so the right GitLab events start it. You can add human-in-the-loop checkpoints at sensitive steps. In 19.2, custom flows also pick up a \"work item status changed\" trigger and bulk enablement for public flows across up to 100 projects. Looking ahead, a Flow Creation Agent is on the roadmap so teams can describe a flow in plain language and get a runnable definition, without hand-writing the full schema first.",[12,140,141,144],{},[69,142,143],{},"Foundational Flows in Agentic Chat."," When your request matches specialist work, it can be handed to a foundational flow, you approve before anything runs, and you stay in the conversation while it works. That’s the difference from chat that only answers: The multi-step part leaves your hands without leaving GitLab.",[12,146,147,150,151,155],{},[69,148,149],{},"Updated Automation for Code Review Flow."," Exclusion rules keep bot-driven or out-of-scope merge requests from burning code review cycles you didn’t mean to spend. And, ",[18,152,154],{"href":87,"rel":153},[],"custom review instructions"," shape what “good” looks like for your team, so that expanding automation doesn’t mean reviewing everything the same way.",[48,157,159],{"id":158},"start-encoding-the-paths-you-already-run","Start encoding the paths you already run",[12,161,162],{},"Custom Flows are now generally available, and Foundational Flows can now start from Agentic Chat which routes your request to the right specialist flow as you describe what you need — translating the agentic software delivery sequences your team already trusts to predictable automation, beyond tribal knowledge.",[12,164,165,166,169,170,174],{},"Ready to learn more? Start by reviewing our documentation for ",[18,167,28],{"href":26,"rel":168},[]," and ",[18,171,42],{"href":172,"rel":173},"https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/",[],". One thing to plan for: Event-driven flows consume credits based on the work they do. Try them on a few projects before you turn them loose across a large group.",[12,176,177,178,183,184,98],{},"Similar to other capabilities of Duo Agent Platform, you can get access to agentic flows with a ",[18,179,182],{"href":180,"rel":181},"https://about.gitlab.com/gitlab-duo-agent-platform/",[],"free trial of GitLab Duo Agent Platform",". On the Free tier, you can ",[18,185,188],{"href":186,"rel":187},"https://docs.gitlab.com/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom",[],"sign up in a few simple steps",[12,190,191,192,197,198,98],{},"Already on GitLab Premium or Ultimate? Start by ",[18,193,196],{"href":194,"rel":195},"https://docs.gitlab.com/user/duo_agent_platform/turn_on_off/",[],"turning on Duo Agent Platform"," and use the ",[18,199,202],{"href":200,"rel":201},"https://docs.gitlab.com/subscriptions/gitlab_credits/#included-credits/",[],"GitLab Credits included with your subscription",{"title":204,"searchDepth":205,"depth":205,"links":206},"",2,[207,208,209,210],{"id":50,"depth":205,"text":51},{"id":60,"depth":205,"text":61},{"id":119,"depth":205,"text":120},{"id":158,"depth":205,"text":159},"ai","2026-07-16","GitLab Duo Agent Platform's Custom Flows are now generally available.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png",{},true,"/en-us/blog/multi-step-software-delivery-with-agentic-flows",{"config":222,"title":5,"description":213},{"noIndex":216},"multi-step-software-delivery-with-agentic-flows","en-us/blog/multi-step-software-delivery-with-agentic-flows",[226,227,228],"product","AI","features","BlogPost","Y5IxBg7laFUAkZxKs2BWroXo9x5Ju0JHNt6GcEdsmBc",{"logo":232,"freeTrial":237,"sales":242,"login":247,"items":252,"search":579,"minimal":610,"duo":629,"switchNav":638,"pricingDeployment":649},{"config":233},{"href":234,"dataGaName":235,"dataGaLocation":236},"/","gitlab logo","header",{"text":238,"config":239},"Get free trial",{"href":240,"dataGaName":241,"dataGaLocation":236},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":243,"config":244},"Request a demo",{"href":245,"dataGaName":246,"dataGaLocation":236},"/sales/?contact-topic=request-demo","sales",{"text":248,"config":249},"Sign in",{"href":250,"dataGaName":251,"dataGaLocation":236},"https://gitlab.com/users/sign_in/","sign in",[253,282,382,387,501,557],{"text":254,"config":255,"menu":257},"Platform",{"dataNavLevelOne":256},"platform",{"type":258,"columns":259},"cards",[260,266,274],{"title":254,"description":261,"link":262},"The intelligent orchestration platform for DevSecOps",{"text":263,"config":264},"Explore our Platform",{"href":265,"dataGaName":256,"dataGaLocation":236},"/platform/",{"title":267,"description":268,"link":269},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":270,"config":271},"Meet GitLab Duo",{"href":272,"dataGaName":273,"dataGaLocation":236},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":275,"description":276,"link":277},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":278,"config":279},"Learn more",{"href":280,"dataGaName":281,"dataGaLocation":236},"/why-gitlab/","why gitlab",{"text":283,"left":219,"config":284,"menu":286},"Product",{"dataNavLevelOne":285},"solutions",{"type":287,"link":288,"columns":292,"feature":361},"lists",{"text":289,"config":290},"View all Solutions",{"href":291,"dataGaName":285,"dataGaLocation":236},"/solutions/",[293,317,340],{"title":294,"description":295,"link":296,"items":301},"Automation","CI/CD and automation to accelerate deployment",{"config":297},{"icon":298,"href":299,"dataGaName":300,"dataGaLocation":236},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[302,306,309,313],{"text":303,"config":304},"CI/CD",{"href":305,"dataGaLocation":236,"dataGaName":303},"/solutions/continuous-integration/",{"text":267,"config":307},{"href":272,"dataGaLocation":236,"dataGaName":308},"gitlab duo agent platform - product menu",{"text":310,"config":311},"Source Code Management",{"href":312,"dataGaLocation":236,"dataGaName":310},"/solutions/source-code-management/",{"text":314,"config":315},"Automated Software Delivery",{"href":299,"dataGaLocation":236,"dataGaName":316},"Automated software delivery",{"title":318,"description":319,"link":320,"items":325},"Security","Deliver code faster without compromising security",{"config":321},{"href":322,"dataGaName":323,"dataGaLocation":236,"icon":324},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[326,330,335],{"text":327,"config":328},"Application Security Testing",{"href":322,"dataGaName":329,"dataGaLocation":236},"Application security testing",{"text":331,"config":332},"Software Supply Chain Security",{"href":333,"dataGaLocation":236,"dataGaName":334},"/solutions/supply-chain/","Software supply chain security",{"text":336,"config":337},"Software Compliance",{"href":338,"dataGaName":339,"dataGaLocation":236},"/solutions/software-compliance/","software compliance",{"title":341,"link":342,"items":347},"Measurement",{"config":343},{"icon":344,"href":345,"dataGaName":346,"dataGaLocation":236},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[348,352,356],{"text":349,"config":350},"Visibility & Measurement",{"href":345,"dataGaLocation":236,"dataGaName":351},"Visibility and Measurement",{"text":353,"config":354},"Value Stream Management",{"href":355,"dataGaLocation":236,"dataGaName":353},"/solutions/value-stream-management/",{"text":357,"config":358},"Analytics & Insights",{"href":359,"dataGaLocation":236,"dataGaName":360},"/solutions/analytics-and-insights/","Analytics and insights",{"title":362,"type":287,"items":363},"GitLab for",[364,370,376],{"text":365,"config":366},"Enterprise",{"icon":367,"href":368,"dataGaLocation":236,"dataGaName":369},"Building","/enterprise/","enterprise",{"text":371,"config":372},"Small Business",{"icon":373,"href":374,"dataGaLocation":236,"dataGaName":375},"Work","/small-business/","small business",{"text":377,"config":378},"Public Sector",{"icon":379,"href":380,"dataGaLocation":236,"dataGaName":381},"Organization","/solutions/public-sector/","public sector",{"text":383,"config":384},"Pricing",{"href":385,"dataGaName":386,"dataGaLocation":236,"dataNavLevelOne":386},"/pricing/","pricing",{"text":388,"config":389,"menu":391},"Resources",{"dataNavLevelOne":390},"resources",{"type":287,"link":392,"columns":396,"feature":490},{"text":393,"config":394},"View all resources",{"href":395,"dataGaName":390,"dataGaLocation":236},"/resources/",[397,430,457],{"title":398,"items":399},"Getting started",[400,405,410,415,420,425],{"text":401,"config":402},"Install",{"href":403,"dataGaName":404,"dataGaLocation":236},"/install/","install",{"text":406,"config":407},"Quick start guides",{"href":408,"dataGaName":409,"dataGaLocation":236},"/get-started/","quick setup checklists",{"text":411,"config":412},"Learn",{"href":413,"dataGaLocation":236,"dataGaName":414},"https://university.gitlab.com/","learn",{"text":416,"config":417},"Product documentation",{"href":418,"dataGaName":419,"dataGaLocation":236},"https://docs.gitlab.com/","product documentation",{"text":421,"config":422},"Best practice videos",{"href":423,"dataGaName":424,"dataGaLocation":236},"/getting-started-videos/","best practice videos",{"text":426,"config":427},"Integrations",{"href":428,"dataGaName":429,"dataGaLocation":236},"/integrations/","integrations",{"title":431,"items":432},"Discover",[433,438,443,448,452],{"text":434,"config":435},"Customer success stories",{"href":436,"dataGaName":437,"dataGaLocation":236},"/customers/","customer success stories",{"text":439,"config":440},"Blog",{"href":441,"dataGaName":442,"dataGaLocation":236},"/blog/","blog",{"text":444,"config":445},"Demo Hub",{"href":446,"dataGaName":447,"dataGaLocation":236},"/demo-hub/","demo hub",{"text":449,"config":450},"The Source",{"href":451,"dataGaName":442,"dataGaLocation":236},"/the-source/",{"text":453,"config":454},"Remote",{"href":455,"dataGaName":456,"dataGaLocation":236},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":458,"items":459},"Connect",[460,465,470,475,480,485],{"text":461,"config":462},"GitLab Services",{"href":463,"dataGaName":464,"dataGaLocation":236},"/services/","services",{"text":466,"config":467},"Contribute",{"href":468,"dataGaName":469,"dataGaLocation":236},"https://contributors.gitlab.com","contribute",{"text":471,"config":472},"Community",{"href":473,"dataGaName":474,"dataGaLocation":236},"/community/","community",{"text":476,"config":477},"Forum",{"href":478,"dataGaName":479,"dataGaLocation":236},"https://forum.gitlab.com/","forum",{"text":481,"config":482},"Events",{"href":483,"dataGaName":484,"dataGaLocation":236},"/events/","events",{"text":486,"config":487},"Partners",{"href":488,"dataGaName":489,"dataGaLocation":236},"/partners/","partners",{"config":491,"title":494,"text":495,"link":496},{"background":492,"textColor":493},"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":497,"config":498},"Read the latest",{"href":499,"dataGaName":500,"dataGaLocation":236},"/whats-new/","whats new",{"text":502,"config":503,"menu":505},"Company",{"dataNavLevelOne":504},"company",{"type":287,"columns":506},[507],{"items":508},[509,514,520,522,527,532,537,542,547,552],{"text":510,"config":511},"About",{"href":512,"dataGaName":513,"dataGaLocation":236},"/company/","about",{"text":515,"config":516,"footerGa":519},"Jobs",{"href":517,"dataGaName":518,"dataGaLocation":236},"/jobs/","jobs",{"dataGaName":518},{"text":481,"config":521},{"href":483,"dataGaName":484,"dataGaLocation":236},{"text":523,"config":524},"Leadership",{"href":525,"dataGaName":526,"dataGaLocation":236},"/company/team/e-group/","leadership",{"text":528,"config":529},"Handbook",{"href":530,"dataGaName":531,"dataGaLocation":236},"https://handbook.gitlab.com/","handbook",{"text":533,"config":534},"Investor relations",{"href":535,"dataGaName":536,"dataGaLocation":236},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":538,"config":539},"Trust Center",{"href":540,"dataGaName":541,"dataGaLocation":236},"/security/","trust center",{"text":543,"config":544},"AI Transparency Center",{"href":545,"dataGaName":546,"dataGaLocation":236},"/ai-transparency-center/","ai transparency center",{"text":548,"config":549},"Newsletter",{"href":550,"dataGaName":551,"dataGaLocation":236},"/company/contact/#contact-forms","newsletter",{"text":553,"config":554},"Press",{"href":555,"dataGaName":556,"dataGaLocation":236},"/press/","press",{"text":558,"config":559,"menu":560},"Contact us",{"dataNavLevelOne":504},{"type":287,"columns":561},[562],{"items":563},[564,569,574],{"text":565,"config":566},"Talk to sales",{"href":567,"dataGaName":568,"dataGaLocation":236},"/sales/","talk to sales",{"text":570,"config":571},"Support portal",{"href":572,"dataGaName":573,"dataGaLocation":236},"https://support.gitlab.com/hc/en-us","support portal",{"text":575,"config":576},"Customer portal",{"href":577,"dataGaName":578,"dataGaLocation":236},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":580,"login":581,"suggestions":588},"Close",{"text":582,"link":583},"To search repositories and projects, login to",{"text":584,"config":585},"gitlab.com",{"href":250,"dataGaName":586,"dataGaLocation":587},"search login","search",{"text":589,"default":590},"Suggestions",[591,593,597,599,603,607],{"text":267,"config":592},{"href":272,"dataGaName":267,"dataGaLocation":587},{"text":594,"config":595},"Code Suggestions (AI)",{"href":596,"dataGaName":594,"dataGaLocation":587},"/solutions/code-suggestions/",{"text":303,"config":598},{"href":305,"dataGaName":303,"dataGaLocation":587},{"text":600,"config":601},"GitLab on AWS",{"href":602,"dataGaName":600,"dataGaLocation":587},"/partners/technology-partners/aws/",{"text":604,"config":605},"GitLab on Google Cloud",{"href":606,"dataGaName":604,"dataGaLocation":587},"/partners/technology-partners/google-cloud-platform/",{"text":608,"config":609},"Why GitLab?",{"href":280,"dataGaName":608,"dataGaLocation":587},{"freeTrial":611,"mobileIcon":616,"desktopIcon":621,"secondaryButton":624},{"text":612,"config":613},"Start free trial",{"href":614,"dataGaName":241,"dataGaLocation":615},"https://gitlab.com/-/trials/new/","nav",{"altText":617,"config":618},"Gitlab Icon",{"src":619,"dataGaName":620,"dataGaLocation":615},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":617,"config":622},{"src":623,"dataGaName":620,"dataGaLocation":615},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":625,"config":626},"Get Started",{"href":627,"dataGaName":628,"dataGaLocation":615},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":630,"mobileIcon":634,"desktopIcon":636},{"text":631,"config":632},"Learn more about GitLab Duo",{"href":272,"dataGaName":633,"dataGaLocation":615},"gitlab duo",{"altText":617,"config":635},{"src":619,"dataGaName":620,"dataGaLocation":615},{"altText":617,"config":637},{"src":623,"dataGaName":620,"dataGaLocation":615},{"button":639,"mobileIcon":644,"desktopIcon":646},{"text":640,"config":641},"/switch",{"href":642,"dataGaName":643,"dataGaLocation":615},"#contact","switch",{"altText":617,"config":645},{"src":619,"dataGaName":620,"dataGaLocation":615},{"altText":617,"config":647},{"src":648,"dataGaName":620,"dataGaLocation":615},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":650,"mobileIcon":655,"desktopIcon":657},{"text":651,"config":652},"Back to pricing",{"href":385,"dataGaName":653,"dataGaLocation":615,"icon":654},"back to pricing","GoBack",{"altText":617,"config":656},{"src":619,"dataGaName":620,"dataGaLocation":615},{"altText":617,"config":658},{"src":623,"dataGaName":620,"dataGaLocation":615},{"title":660,"titleMobile":661,"button":662,"config":667},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":278,"config":663},{"href":664,"dataGaName":665,"dataGaLocation":666},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":668,"disabled":216},"release",{"data":670},{"text":671,"source":672,"edit":678,"contribute":683,"config":688,"items":693,"minimal":903},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":673,"config":674},"View page source",{"href":675,"dataGaName":676,"dataGaLocation":677},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":679,"config":680},"Edit this page",{"href":681,"dataGaName":682,"dataGaLocation":677},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":684,"config":685},"Please contribute",{"href":686,"dataGaName":687,"dataGaLocation":677},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":689,"facebook":690,"youtube":691,"linkedin":692},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[694,741,795,839,871],{"title":383,"links":695,"subMenu":710},[696,700,705],{"text":697,"config":698},"View plans",{"href":385,"dataGaName":699,"dataGaLocation":677},"view plans",{"text":701,"config":702},"Why Premium?",{"href":703,"dataGaName":704,"dataGaLocation":677},"/pricing/premium/","why premium",{"text":706,"config":707},"Why Ultimate?",{"href":708,"dataGaName":709,"dataGaLocation":677},"/pricing/ultimate/","why ultimate",[711],{"title":712,"links":713},"Contact Us",[714,717,719,721,726,731,736],{"text":715,"config":716},"Contact sales",{"href":567,"dataGaName":246,"dataGaLocation":677},{"text":570,"config":718},{"href":572,"dataGaName":573,"dataGaLocation":677},{"text":575,"config":720},{"href":577,"dataGaName":578,"dataGaLocation":677},{"text":722,"config":723},"Status",{"href":724,"dataGaName":725,"dataGaLocation":677},"https://status.gitlab.com/","status",{"text":727,"config":728},"Terms of use",{"href":729,"dataGaName":730,"dataGaLocation":677},"/terms/","terms of use",{"text":732,"config":733},"Privacy statement",{"href":734,"dataGaName":735,"dataGaLocation":677},"/privacy/","privacy statement",{"text":737,"config":738},"Cookie preferences",{"dataGaName":739,"dataGaLocation":677,"id":740,"isOneTrustButton":219},"cookie preferences","ot-sdk-btn",{"title":283,"links":742,"subMenu":751},[743,747],{"text":744,"config":745},"DevSecOps platform",{"href":265,"dataGaName":746,"dataGaLocation":677},"devsecops platform",{"text":748,"config":749},"AI-Assisted Development",{"href":272,"dataGaName":750,"dataGaLocation":677},"ai-assisted development",[752],{"title":753,"links":754},"Topics",[755,760,765,770,775,780,785,790],{"text":756,"config":757},"CICD",{"href":758,"dataGaName":759,"dataGaLocation":677},"/topics/ci-cd/","cicd",{"text":761,"config":762},"GitOps",{"href":763,"dataGaName":764,"dataGaLocation":677},"/topics/gitops/","gitops",{"text":766,"config":767},"DevOps",{"href":768,"dataGaName":769,"dataGaLocation":677},"/topics/devops/","devops",{"text":771,"config":772},"Version Control",{"href":773,"dataGaName":774,"dataGaLocation":677},"/topics/version-control/","version control",{"text":776,"config":777},"DevSecOps",{"href":778,"dataGaName":779,"dataGaLocation":677},"/topics/devsecops/","devsecops",{"text":781,"config":782},"Cloud Native",{"href":783,"dataGaName":784,"dataGaLocation":677},"/topics/cloud-native/","cloud native",{"text":786,"config":787},"AI for Coding",{"href":788,"dataGaName":789,"dataGaLocation":677},"/topics/devops/ai-for-coding/","ai for coding",{"text":791,"config":792},"Agentic AI",{"href":793,"dataGaName":794,"dataGaLocation":677},"/topics/agentic-ai/","agentic ai",{"title":796,"links":797},"Solutions",[798,800,802,807,811,814,818,821,823,826,829,834],{"text":327,"config":799},{"href":322,"dataGaName":327,"dataGaLocation":677},{"text":316,"config":801},{"href":299,"dataGaName":300,"dataGaLocation":677},{"text":803,"config":804},"Agile development",{"href":805,"dataGaName":806,"dataGaLocation":677},"/solutions/agile-delivery/","agile delivery",{"text":808,"config":809},"SCM",{"href":312,"dataGaName":810,"dataGaLocation":677},"source code management",{"text":756,"config":812},{"href":305,"dataGaName":813,"dataGaLocation":677},"continuous integration & delivery",{"text":815,"config":816},"Value stream management",{"href":355,"dataGaName":817,"dataGaLocation":677},"value stream management",{"text":761,"config":819},{"href":820,"dataGaName":764,"dataGaLocation":677},"/solutions/gitops/",{"text":365,"config":822},{"href":368,"dataGaName":369,"dataGaLocation":677},{"text":824,"config":825},"Small business",{"href":374,"dataGaName":375,"dataGaLocation":677},{"text":827,"config":828},"Public sector",{"href":380,"dataGaName":381,"dataGaLocation":677},{"text":830,"config":831},"Education",{"href":832,"dataGaName":833,"dataGaLocation":677},"/solutions/education/","education",{"text":835,"config":836},"Financial services",{"href":837,"dataGaName":838,"dataGaLocation":677},"/solutions/finance/","financial services",{"title":388,"links":840},[841,843,845,847,850,852,855,857,859,861,863,865,867,869],{"text":401,"config":842},{"href":403,"dataGaName":404,"dataGaLocation":677},{"text":406,"config":844},{"href":408,"dataGaName":409,"dataGaLocation":677},{"text":411,"config":846},{"href":413,"dataGaName":414,"dataGaLocation":677},{"text":416,"config":848},{"href":418,"dataGaName":849,"dataGaLocation":677},"docs",{"text":439,"config":851},{"href":441,"dataGaName":442,"dataGaLocation":677},{"text":853,"config":854},"What's new",{"href":499,"dataGaName":500,"dataGaLocation":677},{"text":434,"config":856},{"href":436,"dataGaName":437,"dataGaLocation":677},{"text":453,"config":858},{"href":455,"dataGaName":456,"dataGaLocation":677},{"text":461,"config":860},{"href":463,"dataGaName":464,"dataGaLocation":677},{"text":466,"config":862},{"href":468,"dataGaName":469,"dataGaLocation":677},{"text":471,"config":864},{"href":473,"dataGaName":474,"dataGaLocation":677},{"text":476,"config":866},{"href":478,"dataGaName":479,"dataGaLocation":677},{"text":481,"config":868},{"href":483,"dataGaName":484,"dataGaLocation":677},{"text":486,"config":870},{"href":488,"dataGaName":489,"dataGaLocation":677},{"title":502,"links":872},[873,875,877,879,881,883,887,892,894,896,898],{"text":510,"config":874},{"href":512,"dataGaName":504,"dataGaLocation":677},{"text":515,"config":876},{"href":517,"dataGaName":518,"dataGaLocation":677},{"text":523,"config":878},{"href":525,"dataGaName":526,"dataGaLocation":677},{"text":528,"config":880},{"href":530,"dataGaName":531,"dataGaLocation":677},{"text":533,"config":882},{"href":535,"dataGaName":536,"dataGaLocation":677},{"text":884,"config":885},"Sustainability",{"href":886,"dataGaName":884,"dataGaLocation":677},"/sustainability/",{"text":888,"config":889},"Diversity, inclusion and belonging (DIB)",{"href":890,"dataGaName":891,"dataGaLocation":677},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":538,"config":893},{"href":540,"dataGaName":541,"dataGaLocation":677},{"text":548,"config":895},{"href":550,"dataGaName":551,"dataGaLocation":677},{"text":553,"config":897},{"href":555,"dataGaName":556,"dataGaLocation":677},{"text":899,"config":900},"Modern Slavery Transparency Statement",{"href":901,"dataGaName":902,"dataGaLocation":677},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":904},[905,908,911],{"text":906,"config":907},"Terms",{"href":729,"dataGaName":730,"dataGaLocation":677},{"text":909,"config":910},"Cookies",{"dataGaName":739,"dataGaLocation":677,"id":740,"isOneTrustButton":219},{"text":912,"config":913},"Privacy",{"href":734,"dataGaName":735,"dataGaLocation":677},[915],{"id":916,"title":7,"body":215,"config":917,"content":919,"description":215,"extension":924,"meta":925,"navigation":219,"path":926,"seo":927,"stem":928,"__hash__":929},"blogAuthors/en-us/blog/authors/ozer-dondurmacioglu.yml",{"template":918},"BlogAuthor",{"name":7,"config":920},{"headshot":921,"socialProof":922},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1784210286/n8ji1r6znabeygwdjgfo.jpg",{"gitlabHandle":923},"ozerdo","yml",{},"/en-us/blog/authors/ozer-dondurmacioglu",{},"en-us/blog/authors/ozer-dondurmacioglu","B6W_Lw7jpk4DE9NOHQ0NA9KowaAWRKKtvALJhzXy6yA",[931,939,947],{"title":932,"description":933,"heroImage":934,"category":211,"date":935,"authors":936,"slug":938,"externalUrl":215},"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.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-08-13",[937],"Itzik Gan Baruch","agentic-click-through-demo",{"title":940,"description":941,"heroImage":942,"category":211,"date":943,"authors":944,"slug":946,"externalUrl":215},"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",[945],"Julie Griffin","govern-agentic-ai-mcps-code-assistants",{"title":948,"description":949,"heroImage":950,"category":211,"date":951,"authors":952,"slug":954,"externalUrl":215},"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",[953],"Brittany Lutz","claude-opus-5-on-gitlab-duo-agent-platform",{"promotions":956},[957,970,981,993],{"id":958,"categories":959,"header":960,"text":961,"button":962,"image":967},"ai-modernization",[211],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":963,"config":964},"Get your AI maturity score",{"href":965,"dataGaName":966,"dataGaLocation":442},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":968},{"src":969},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":971,"categories":972,"header":973,"text":961,"button":974,"image":978},"devops-modernization",[226,779],"Are you just managing tools or shipping innovation?",{"text":975,"config":976},"Get your DevOps maturity score",{"href":977,"dataGaName":966,"dataGaLocation":442},"/assessments/devops-modernization-assessment/",{"config":979},{"src":980},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":982,"categories":983,"header":985,"text":961,"button":986,"image":990},"security-modernization",[984],"security","Are you trading speed for security?",{"text":987,"config":988},"Get your security maturity score",{"href":989,"dataGaName":966,"dataGaLocation":442},"/assessments/security-modernization-assessment/",{"config":991},{"src":992},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":994,"paths":995,"header":998,"text":999,"button":1000,"image":1005},"github-azure-migration",[996,997],"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":1001,"config":1002},"See how GitLab compares to GitHub",{"href":1003,"dataGaName":1004,"dataGaLocation":442},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1006},{"src":980},{"header":1008,"blurb":1009,"button":1010,"secondaryButton":1015},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1011,"config":1012},"Get your free trial",{"href":1013,"dataGaName":241,"dataGaLocation":1014},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":715,"config":1016},{"href":567,"dataGaName":246,"dataGaLocation":1014},1786734957570]