{"id":194342,"date":"2020-08-11T09:10:38","date_gmt":"2020-08-11T15:10:38","guid":{"rendered":"http:\/\/developer.salesforce.com\/blogs\/?p=194342"},"modified":"2025-11-05T02:20:05","modified_gmt":"2025-11-05T09:20:05","slug":"new-salesforce-apex-circleci-orb","status":"publish","type":"post","link":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb","title":{"rendered":"New Salesforce Apex CircleCI Orb"},"content":{"rendered":"<h2>Plus updates to the CLI orb so you can setup CI faster<\/h2>\n<p>Last December we <a href=\"https:\/\/developer.salesforce.com\/blogs\/2019\/12\/announcing-circleci-orbs-for-salesforce.html\">announced<\/a> our first collaboration with CircleCI in the form of a new orb for setting up your automated CI using the Salesforce CLI. Over the last 6 months we\u2019ve continued working with CircleCI and today we\u2019re announcing a new orb focused on setting up an org for Apex testing.<\/p>\n<h2>What are orbs?<\/h2>\n<p>Orbs are reusable chunks of configuration that you can call as part of your DevOps pipeline and workflow. CircleCI maintains a registry of these sharable packages of configuration that they\u2019ve built along with their partners and other individuals. This way, anyone using CircleCI can drop these repeatable configuration orbs into their CI\/CD pipelines with ease.<\/p>\n<p>We\u2019ve been working with CircleCI to create orbs that are specific to Salesforce Development so that instead of each team starting from scratch writing their own configuration, teams can easily use best practices and repeatable code, with these Salesforce Orbs.<\/p>\n<p>Our first orb [<a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-sfdx\">salesforce-sfdx<\/a>] focused on setting up the CLI and getting your CI ready for automated testing. The second orb [<a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-apex\">salesforce-apex<\/a>] focuses on getting your changes into a testing org and running your Apex tests.<\/p>\n<p>&nbsp;<\/p>\n<p>\n\t\t\t  <span class=\"postimagessection_specify alignnone size-full wp-image-194348\" >\n\t\t\t    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20200810155110\/scratch-e1597099876507.png\" class=\"postimages\" width=\"800\" height=\"347\" alt=\"\" \/>\n\t\t\t  <\/span>\n\t\t\t<\/p>\n<h2>The salesforce-apex Orb<\/h2>\n<p>The <a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-apex\">new Apex orb<\/a> is focused on testing your Apex code. It utilizes common commands and workflows for testing Apex. This includes:<\/p>\n<ul>\n<li>Setting up a Scratch org for testing<\/li>\n<li>Deploying your metadata to your test Sandbox<\/li>\n<li>Running your Apex tests in your org<\/li>\n<\/ul>\n<p>The orb is a sequel to the original CLI orb and picks up where that one left off.<\/p>\n<p>We know that many of our users have more complex setups. What\u2019s great about this orb is it allows you to use each command set alone. This means if you need to insert more complicated org setup or testing into your CI process, you can call individual sections of the orb and insert your extra steps in between. For teams with more straight forward Salesforce projects, you\u2019ll be able to use an out-of-the-box job that creates, tests, and deletes a scratch org all in one go.<\/p>\n<p>&nbsp;<\/p>\n<p>\n\t\t\t  <span class=\"postimagessection_specify alignnone size-full wp-image-194349\" >\n\t\t\t    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20200810155130\/orb-quick-e1597099896608.png\" class=\"postimages\" width=\"800\" height=\"474\" alt=\"\" \/>\n\t\t\t  <\/span>\n\t\t\t<\/p>\n<h2><\/h2>\n<h2>Salesforce CLI orb updates<\/h2>\n<p>Our first orb did a little bit of everything. We noticed that it was mostly used for setting up your CI process with the Salesforce CLI and creating Scratch orgs, so we streamlined it to focus on those two themes. Now the <a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-sfdx\">salesforce-sfdx orb<\/a> is focused on installing the CLI, authenticating to your devhub, and creating a scratch org (if scratch orgs are part of your testing process). Each of these actions can be used on its own from the orb or together.<\/p>\n<p>The orb used to also include the deployment of metadata into the scratch org, but we\u2019ve moved that to the Apex orb in an attempt to streamline the orgs and not include repeated behavior. Orbs can be used together in a single .yml file, so we felt it was better to split the orbs up by category.<\/p>\n<h2>Conclusion<\/h2>\n<p>To learn more about how to use these orbs, please see <a href=\"https:\/\/circleci.com\/blog\/salesforce-apex-orb\/\">CircleCI\u2019s blog post<\/a> on the new Apex orb and the Salesforce CLI orb. We continue to try to bring our development community more access to modern CI\/CD best practices and hope to make it easier for anyone developing on Salesforce to take advantage of automated testing. We will continue to work with CircleCI to bring more configuration&#8230; please let us know on Twitter or in the Trailblazer Community if there are other Orbs you\u2019d like to see!<\/p>\n<h3>About the Author<\/h3>\n<p>Claire Bianchi, Director, Product Management<\/p>\n<p>Claire Bianchi is the Product Manager for the Salesforce CLIs and New Code Builder (Pilot). She joined Salesforce in June 2018 and has been working on improving developer tooling and experience ever since. Prior to this role she was at Atlassian as the Product Manager of the Bitbucket Ecosystem and Front End teams. She is currently focused on bringing modern development and devops best practices to all Salesforce developers regardless of skill level or experience.<br \/>\nTrailhead: <a href=\"https:\/\/trailhead.salesforce.com\/en\/me\/005500000085ap7AAA\">https:\/\/trailhead.salesforce.com\/en\/me\/005500000085ap7AAA<\/a><br \/>\nLinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/clairebianchi\/\">https:\/\/www.linkedin.com\/in\/clairebianchi\/<\/a><br \/>\nTwitter: <a href=\"https:\/\/twitter.com\/ClaireSFDX\"><b>@ClaireSFDX<\/b><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Plus updates to the CLI orb so you can setup CI faster Last December we announced our first collaboration with CircleCI in the form of a new orb for setting up your automated CI using the Salesforce CLI. Over the last 6 months we\u2019ve continued working with CircleCI and today we\u2019re announcing a new orb [&hellip;]<\/p>\n","protected":false},"author":3512,"featured_media":196413,"comment_status":"open","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2489,3698,2528,2764],"tags":[1050,2670],"coauthors":[2688],"class_list":["post-194342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-apex","category-integration-apis","category-new-developments","tag-apex","tag-circleci"],"podcast_audio":{"audio_url":"","duration":""},"featured_image":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png?w=1260","related_posts":[{"post":{"ID":204712,"post_author":"3616","post_date":"2025-09-17 09:45:02","post_date_gmt":"2025-09-17 15:45:02","post_content":"Calling all Salesforce Developers! It\u2019s time to experience the largest and most trusted AI event in the world: <a href=\"https:\/\/www.salesforce.com\/dreamforce\/\">Dreamforce 2025<\/a>. Get ready to unlock unprecedented success with the power of trusted AI, real-time data, and CRM.\r\n\r\nWe know you\u2019re eagerly counting down the days until the event, happening on October 14\u201316, and this guide will help you plan your perfect three-day experience.\r\n\r\nAcross Trailblazer Forest, developer track sessions, 115+ community-led sessions, and hands-on learning, there are more opportunities for developers than ever before. Whether you\u2019re joining us in San Francisco or on <a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\">Salesforce+<\/a>, this guide will prepare you with the must-do and must-see activities for developers at Dreamforce 2025.\r\n<h2>How to prepare for Dreamforce 2025<\/h2>\r\n<h3>Road to Dreamforce 2025 Quest<\/h3>\r\nGet ready for Dreamforce with curated resources, can\u2019t-miss sessions, and hands-on learning by diving into the <a href=\"https:\/\/trailhead.salesforce.com\/users\/teamtrailhead\/trailmixes\/quest-road-to-dreamforce-2025\">Road to Dreamforce Quest<\/a> on Trailhead. Complete the Quest before October 13, 2025 and you\u2019ll be entered for a chance to win* an Agentforce prize box (1 of 100). <i>*No purchase necessary. Void where prohibited. Country of residence and other restrictions apply. See the<span> <\/span><\/i><a href=\"https:\/\/trailhead.salesforce.com\/quests?&amp;utm_source=salesforce&amp;utm_medium=blog-360&amp;utm_campaign=trailblazer_blog&amp;utm_content=learning_sep23_dreamquest&amp;icid=SFBLOG:tbc-blog:7010M0000025ltGQAQ\"><i>Trailblazer Quests page<\/i><\/a><i><span> <\/span>for full details and restrictions.<\/i>\r\n<h2>Dreamforce keynotes for developers<\/h2>\r\nDreamforce is jam-packed with must-see sessions for developers, including two visionary keynotes and an exciting product roadmap discussion. If you\u2019re attending in person, be sure to add these sessions to your agenda, or register for the livestream on <a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\">Salesforce+<\/a>.\r\n<h3>Dreamforce 2025 Main Keynote<\/h3>\r\nJoin Salesforce CEO Marc Benioff and guests to explore what it means to become an Agentic Enterprise, where humans and agents work together to drive customer success.\r\n\r\n\ud83d\udcc5 <b>Mark your calendar: <\/b><b>Tuesday, October 14, 10:00 a.m.\u201312:00 p.m. PT<\/b>\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986479088001htfJ\">Add the Dreamforce Keynote to your agenda<\/a> or <a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\/dreamforce-main-keynote-2025\">watch on Salesforce+<\/a>\r\n<h3><b>Developer Keynote: Build Your Agentic Enterprise<\/b><\/h3>\r\n<span>Discover new developer tools to build the future of apps with AI and data. Learn how to build your Agentic Enterprise with Agentforce, Data Cloud, Slack, and the deeply unified Salesforce Platform.<\/span>\r\n\r\n\ud83d\udcc5 <b>Mark your calendar: Wednesday, October 15, 2:00 p.m.\u20132:50 p.m. PT<\/b>\r\n<span>\u2757<\/span><a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986860993001ha5R\">Add the Developer Keynote to your agenda<\/a> or <a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\/developer-keynote\">watch on Salesforce+<\/a>\r\n<h3>True to the Core at Dreamforce 2025<\/h3>\r\nJoin Salesforce Co-Founder Parker Harris for the annual True to the Core Keynote. Hear product leaders share highlights from our product roadmap and answer your questions live.\r\n\r\n\ud83d\udcc5 <b>Mark your calendar: Wednesday, October 15, 3:30 p.m.\u20134:30 p.m. PT <\/b>\r\n<b>\ud83c\udfa4 Featured speakers:<\/b> Steve Fisher, Meredith Brown, Kat Holmes, Parker Harris, Srini Tallapragada, Alice Steinglass, Khush Singh\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986480753001hptr\">Add True to the Core to your agenda<\/a> or <a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\/true-to-the-core-_-dreamforce-2025\">watch on Salesforce+<\/a>\r\n<h2>Get hands-on in Trailblazer Forest \ud83c\udf32<\/h2>\r\nAfter you pick up your Dreamforce conference badge in Moscone West, head to Trailblazer Forest, the home for developers, admins, architects, and IT leaders. Here, you'll find deep technical sessions, hands-on learning opportunities, and the latest product demos led by Salesforce experts.\r\n\r\nThe following are some key areas you\u2019ll want to look out for in Trailblazer Forest.\r\n<h3>Developer Grove<\/h3>\r\nDeveloper Grove is the ultimate hub for developers at Dreamforce 2025. Begin your three-day learning journey here and dive into the latest innovations in Salesforce development.\r\n\r\nStop by the Genius Bar-style demo to get hands-on with the newest developer innovations. Plus, jump into a 15-minute hands-on activity to experience Enterprise Vibe Coding and learn how to build faster with AI-powered code generation from natural language prompts.\r\n<h3>Camp Mini Hack<\/h3>\r\nCamp Mini Hack is for developers, admins, and architects who love to solve challenges. Stop by Camp Mini Hack, choose a hack, and win prizes along the way. With challenges for all skill levels, you\u2019ll dive into topics like Apex, Flow, Slack, Data Cloud, and more.\r\n\r\nAt Camp Mini Hack, you\u2019ll experience Agentforce in action. An agent will welcome you, guide you through your chosen hack, validate your solution, and unlock your prize.\r\n<h3>Camp Trailhead<\/h3>\r\nVisit Camp Trailhead to earn a new, hands-on Trailhead badge and learn more about Agentblazer status. Have fun at the photo booth, connect with fellow Agentblazers, and earn exclusive swag.\r\n<h3>Platform Park<\/h3>\r\nLearn how to build, scale, and customize AI-powered solutions through 19 expert-led, technical platform demos. Get hands-on demonstrations of Salesforce's core platform tools, and experience how to build faster and smarter with Flow Builder, AI apps, and automation.\r\n<h3>Basecamp Theater \ud83c\udfa4<\/h3>\r\nKickstart your learning journey with introductory sessions at Basecamp Theater. With seven repeating sessions, you\u2019ll explore how to harness AI with Agentforce, unify data with Data Cloud, connect Salesforce with Slack, and build on the Salesforce Platform. Dive into the latest automations, developer tools, and AI-powered features to turn ideas into impact. The full list of sessions is below.\r\n<ul>\r\n \t<li><b>Agentforce for Admins and Developers<\/b><\/li>\r\n \t<li><b>Data Cloud for Admins and Developers<\/b><\/li>\r\n \t<li><b>Create Salesforce Channels and Employee Agents<\/b><\/li>\r\n \t<li><b>Vibe Coding with Slack<\/b><\/li>\r\n \t<li><b>Introduction to the Salesforce Platform<\/b><\/li>\r\n \t<li><b>Vibe Coding on the Salesforce Platform<\/b><\/li>\r\n \t<li><b>Agentic Setup<\/b><\/li>\r\n<\/ul>\r\n<h2>Skill up with developer sessions<\/h2>\r\nDeveloper sessions are deeply technical and tell stories about business challenges, their solutions, and the results achieved that showcase customer success. Learn best practices, get deep technical knowledge, leave feeling inspired. There will be sessions for all levels across features and topics, including Salesforce Platform and developer tooling, Apex, Enterprise Vibe Coding, Lightning Web Components, and more.\r\n\r\nThe Developer Track offers a mix of 20-minute theater sessions and 45-minute breakout sessions. In theater sessions, you\u2019ll experience a concise and informative introduction to a specific topic. In breakout sessions, we'll be focusing on a specific product or solution, followed by a Q&amp;A. For a more thorough exploration of technical aspects, join our 75-minute Deep Dive sessions.\r\n\r\nTo find developer sessions in the <a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog?search=\">Dreamforce session catalog<\/a>, select \u201cRole\u201d in the left navigation and check \u201cDeveloper\u201d to see all developer sessions. Join these sessions in Developer Theater, directly next to Developer Grove in Trailblazer Forest.\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/Screenshot-2025-08-13-at-4.44.02\u202fPM.png\" alt=\"Dreamforce 2025 catalog with Developer role box checked\" width=\"990\" height=\"706\" class=\"alignnone wp-image-204784\" \/>\r\n<h3>Can\u2019t-miss technical developer sessions to add to your agenda \u270f\ufe0f<\/h3>\r\n<h3>Salesforce Platform &amp; developer tooling sessions<\/h3>\r\n<b>Advanced Apex Best Practices<\/b>\r\n<b>What to expect:<\/b> Write better Apex with advanced patterns. Learn best practices for Agentforce actions, a decision guide for Async Apex, and how to build your own frameworks for truly scalable solutions.\r\n<b>Featured speakers:<\/b> Mitch Spano, Daniel Ballinger\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986900947001hDdS\">Add this session to your agenda<\/a>\r\n\r\n<b>Build Future-Proof Apps with Apex Enterprise Patterns<\/b>\r\n<b>What to expect: <\/b>Learn how Apex Enterprise Patterns reduce technical debt, ensure scalability, and align with Salesforce best practices. This session includes live demos and real-world use cases for devs and architects.\r\n<b>Featured speakers: <\/b>Himanshoo Seth, Ashish Arora (Accenture)\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986872883001hPHA\">Add this session to your agenda<\/a>\r\n\r\n<b>Create Apps and Code Faster with Enterprise Vibe Coding<\/b>\r\n<b>What to expect:<\/b> Join our product teams and deep dive into our new MCP-powered Dev Agent, featuring Code Analyzer and ApexGuru for better code. Learn how you can create apps and code faster and better with AI.\r\n<b>Featured speakers:<\/b> Jeff Douglas, Mayuresh Verma, Michelle Lin, John Belo\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986869954001hn6p\">Add this session to your agenda<\/a>\r\n\r\n<b>Discover the Future of Salesforce Development: Roadmap &amp; Q&amp;A<\/b>\r\n<b>What to expect: <\/b>Explore new tools to enhance your developer experience. Salesforce product managers will share the roadmap for agents, MCP, and vibe coding, and answer questions in this interactive session.\r\n<b>Featured speakers: <\/b>Karishma Lalwani, Dan Fernandez, Saoud Rizwan\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1752091267237001d4sF\">Add this session to your agenda<\/a>\r\n\r\n<b>How to Design and Build Better Lightning Web Components<\/b>\r\n<b>What to expect: <\/b>Learn the LWC lifecycle from idea to built component. Learn design thinking, how to use visual mockups, tools to help build, and comprehensive testing strategies for high-quality components.\r\n<b>Featured speaker: <\/b>Dave Norris\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1752182958012001ZPzJ\">Add this session to your agenda<\/a>\r\n\r\n<b>Introduction to Lightning Web Components<\/b>\r\n<b>What to expect: <\/b>Get started with Lightning Web Components, a framework for building rich and composable user interfaces, on the Salesforce Platform and outside of it, with standard HTML, JavaScript, and CSS.\r\n<b>Featured speaker:<\/b> Satya Sekhar Chegondi\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986892131001h2s9\">Add this session to your agenda<\/a>\r\n\r\n<b>Introduction to Salesforce APIs<\/b>\r\n<b>What to expect: <\/b>Learn how Salesforce APIs power integrations and data exchange. We\u2019ll demystify different API types (REST, SOAP, etc.) and authentication methods with real-world examples.\r\n<b>Featured speaker:<\/b> Aditya Naag Topalli\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986903841001h4YA\">Add this session to your agenda<\/a>\r\n\r\n<b>Write Less. Build More. Vibe with Code Builder<\/b>\r\n<b>What to expect: <\/b>Supercharge your dev flow with vibe coding in Code Builder. Use natural language to generate code, speed up setup, and level up your skills. Write less, build more, and learn faster \u2014 that\u2019s the vibe.\r\n<b>Featured speakers: <\/b>Grisha Lyukshin, Raj Sensharma, Greg Whitworth\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986866911001hAHG\">Add this session to your agenda<\/a>\r\n<h3>Agentforce &amp; AI Sessions<\/h3>\r\n<b>AI Tools for Developers to Build Accessible Products<\/b>\r\n<b>What to expect: <\/b>Salesforce is using AI to make accessibility easier for everyone. Learn how tools like the Accessibility Agent help developers build accessible components, apps, and agents from the start.\r\n<b>Featured speakers: <\/b>Karen Herr, Megan Alfaro\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986936087001homg\">Add this session to your agenda<\/a>\r\n\r\n<b>AWS and Salesforce: Enable Seamless Agent Interoperability<\/b>\r\n<b>What to expect: <\/b>Discover how to leverage Agentforce and AWS to unlock multi-agent scenarios.\r\n<b>Featured speakers: <\/b>Pragya Anand, Ross Belmont, Bill Tarr\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748987350884001hD4s\">Add this session to your agenda<\/a>\r\n\r\n<b>Building Agentic Apps Faster with AI-Powered Developer Tools<\/b>\r\n<b>What to expect: <\/b>Learn how to quickly and effectively build and deploy AI agents on the Salesforce Platform. Hear about the future of creating agentic experiences with AI-powered low-code and pro-code tools.\r\n<b>Featured speakers: <\/b>Shannon Matthews, Rashmi Singh, Joshua Stern\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986555018001h1g0\">Add this session to your agenda<\/a>\r\n\r\n<b>Create Advanced Agent Tests with Low-Code and Pro-Code Tools<\/b>\r\n<b>What to expect: <\/b>Learn how advanced testing capabilities, like context variables, custom evaluations, and context history, can improve the quality and reliability of agent tests.\r\n<b>Featured speakers: <\/b>Ran Fu, Vivek Chawla\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986521125001hZKV\">Add this session to your agenda<\/a>\r\n\r\n<b>Create Apps and Code Faster with Enterprise Vibe Coding<\/b>\r\n<b>What to expect: <\/b>Join our product teams and deep dive into our new MCP-powered Dev Agent, featuring Code Analyzer and ApexGuru for better code. Learn how you can create apps and code faster and better with AI.\r\n<b>Featured speakers:<\/b> Jeff Douglas, Mayuresh Verma, Michelle Lin, John Belo\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986869954001hn6p\">Add this session to your agenda<\/a>\r\n\r\n<b>Get Started with Agentforce Lifecycle Management and DevOps<\/b>\r\n<b>What to expect: <\/b>Hear how IT leaders empower teams to build, test, and ship Agentforce quickly, securely, and at scale with<span> ALM. Discover best practices for products like DevOps Center, Sandboxes, and Agent Builder.<\/span>\r\n<b>Featured speakers: <\/b>Rob Power, Karen Fidelak, Rohit Mehta\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986554166001hsYP\">Add this session to your agenda<\/a>\r\n\r\n<b>Get Started with Lightning Web Components Using Agentforce<\/b>\r\n<b>What to expect: <\/b>Customize the Salesforce Platform UI with Lightning Web Components. Build and execute your first data-driven component using Agentforce for Developers \u2014 no coding experience needed.\r\n<b>Featured speakers: <\/b>Joseph Flowers, Stuart Werner, Rahul Shah\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986769246001haZG\">Add this session to your agenda<\/a>\r\n\r\n<b>Intro to Agent and Application Lifecycle Management (ALM)<\/b>\r\n<b>What to expect: <\/b>Learn Salesforce\u2019s five-stage ALM process for AI-powered agents and apps. Discover our tools to plan, build, test, deploy, and observe with governance baked in to reduce risk and accelerate innovation.\r\n<b>Featured speakers: <\/b>Diego Mogollon, Travon Jackson\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986558304001hI4C\">Add this session to your agenda<\/a>\r\n\r\n<b>Navigating Agentforce LLM Provider Options<\/b>\r\n<b>What to expect: <\/b>Learn how to use the new Agentforce model provider experience, where you can now select from OpenAI, Google Gemini, or Anthropic Sonnet for your agent use cases.\r\n<b>Featured speaker: <\/b>Darvish Shadravan\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986531293001hvvn\">Add this session to your agenda<\/a>\r\n\r\n<b>Security Best Practices with Agentforce<\/b>\r\n<b>What to expect: <\/b>Learn about the security model for internal and external facing agents, and best practices on sharing data with Agentforce.\r\n<b>Featured speaker: <\/b>Vishwa Vikas Dagala\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986893605001hOHn\">Add this session to your agenda<\/a>\r\n\r\n<b>Test Your Agents and Deploy with Confidence<\/b>\r\n<b>What to expect: <\/b>Test, analyze, and optimize performance. Explore a comprehensive testing and deployment strategy using Sandboxes, Agentforce Testing Center, Scale Test, Scale Center, and ApexGuru for scalable AI solutions.\r\n<b>Featured speakers: <\/b>Vaishnavi Nulu Reddi, Faisal Velani\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986559930001hflE\">Add this session to your agenda<\/a>\r\n<h3>Data Cloud Sessions<\/h3>\r\n<b>Bring Your Own Code: Data Cloud's Developer Superpower<\/b>\r\n<b>What to expect: <\/b>Learn how to use Data Cloud\u2019s Bring Your Own Code (BYOC) to run custom Python on your data. We\u2019ll show you how to securely deploy and execute code, unlocking new use cases.\r\n<b>Featured speaker: <\/b>Aditya Naag Topalli\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986898016001hFE8\">Add this session to your agenda<\/a>\r\n\r\n<b>How Agentforce Thrives on Data Cloud\u2019s Unified Intelligence<\/b>\r\n<b>What to expect: <\/b>Discover how Agentforce uses structured, unstructured, and segment data as dynamic knowledge to power real-time, contextual experiences across service, marketing, and commerce.\r\n<b>Featured speakers: <\/b>Matthew Lieber, Gina Nichols\r\n\u2757<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986822729001h4O8\">Add this session to your agenda<\/a>\r\n\r\n<b>Master Data Ingestion Techniques for Data Cloud<\/b>\r\n<b>What to expect: <\/b>Master data ingestion in Data Cloud with key methods, connectors, and mapping tips. Learn best practices to streamline flow, boost integration, and enable real-time, actionable insights.\r\n<b>Featured speakers: <\/b>Madhu Rokkam, Sowmith Kotha, Sandeep K\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986871416001hMZL\">Add this session to your agenda<\/a>\r\n\r\n<b>Optimize Your RAG in Data Cloud with Hybrid Search Ranking<\/b>\r\n<b>What to expect: <\/b>Hybrid Search in Data Cloud brings improved RAG to GenAI apps. Admins and developers can fine-tune and optimize RAG performance using hybrid search ranking functions to achieve elevated search results.\r\n<b>Featured speakers:<\/b> Paulo Gomes, Franny Hsiao\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986895068001h4ap\">Add this session to your agenda<\/a>\r\n\r\n<b>Process Unstructured Data with Data Cloud's Document AI<\/b>\r\n<b>What to expect:<\/b> Process unstructured data like images and invoices with Data Cloud\u2019s Document AI. Learn to configure schema, invoke the service via Apex, flows, and APIs, and integrate the results with Agentforce.\r\n<b>Featured speaker: <\/b>Akshata Sawant\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986912720001hc0s\">Add this session to your agenda<\/a>\r\n\r\n<b>Unlocking Data Cloud Clean Rooms: A Developer's Guide<\/b>\r\n<b>What to expect:<\/b> Learn to use Data Cloud clean rooms to securely share data and gain insights. We\u2019ll explore the APIs and BYOC to build powerful, privacy-first applications.\r\n<b>Featured speaker:<\/b> Satya Sekhar Chegondi\r\n\u2757\ufe0f<a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986896514001hrRg\">Add this session to your agenda<\/a>\r\n<h2>More things to look out for at Dreamforce 2025 \ud83d\udc40<\/h2>\r\n<h3><b>Dreamforce welcome reception and Hackathon Showdown \ud83c\udf89<\/b><\/h3>\r\nWe're bringing back the fun on Day 1 of Dreamforce. Join us in Trailblazer Forest from 5:00 p.m.\u20136:00 p.m. on Tuesday, October 14 for extended hours across the floor, along with light food and drinks.\r\n\r\nDuring the welcome reception, be sure to join the <a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1755715472520001xbbh\">Dreamforce Hackathon Showdown<\/a> to watch Dreamforce Hackathon finalists pitch their innovative solutions that demonstrate the future of agentic applications with Agentforce and Slack, and compete for a chance to win $100,000.\r\n<h3>The Salesforce Architects experience is back<\/h3>\r\n<span>The Salesforce Architects experience is back at Dreamforce 2025. As organizations embrace the Agentic Enterprise, Salesforce Architects are more critical than ever to ensure long-term success. Learn about the\u00a0<\/span><a target=\"_blank\" class=\"c-link\" data-stringify-link=\"https:\/\/www.salesforce.com\/blog\/architect-experience-dreamforce\/\" data-sk=\"tooltip_parent\" href=\"https:\/\/www.salesforce.com\/blog\/architect-experience-dreamforce\/\" rel=\"noopener noreferrer\">architect experience at Dreamforce.<\/a>\r\n<h3>Dreamfest \ud83c\udfb8<\/h3>\r\nPick your stage. Set your vibe. Kick things off your way at Dreamfest.\r\n\r\nRock out to one of the most iconic bands in history, Metallica, or backflip to a high-energy set from pop\u2019s rising star, Benson Boone. All to benefit <a href=\"https:\/\/www.linkedin.com\/company\/ucsfchildrens\/\">UCSF Benioff Children's Hospitals<\/a>.\r\n\r\nDreamfest will be on Wednesday, October 15 from 6:00 p.m.\u20139:30 p.m. at Chase Center. Dreamfest is included with your in-person Dreamforce registration. All you need to attend is your Dreamforce conference badge and a government-issued ID.\r\n<h3>Salesforce certifications at Dreamforce<\/h3>\r\nDreamforce 2025 full conference pass attendees have the opportunity to take one Salesforce certification exam valued at up to $200 as an experience benefit included in the conference pass. Read the <a href=\"https:\/\/trailhead.salesforce.com\/help?article=Guide-to-Certification-Exams-at-Dreamforce&amp;_ga=2.7443250.1877812644.1756224923-71272243.1753729837#dreamforce-exams\">Guide to Certification Exams at Dreamforce<\/a> for all the details and the full list of available exams.\r\n<h2>Quick Dreamforce tips \ud83d\udcdd<\/h2>\r\n<h3>Accessible Guide to Dreamforce 2025<\/h3>\r\n<span>Learn what to expect at Dreamforce this year from a <\/span><a href=\"https:\/\/www.salesforce.com\/dreamforce\/accessibility\/\">first-person explanation<\/a><span> of the event, plus find important information for attendees with accessibility needs or concerns.<\/span>\r\n<h3>Get even more Dreamforce content on Salesforce+<\/h3>\r\nCan\u2019t make it to Dreamforce in person? Select keynotes and sessions will be live-streamed on Salesforce+ during all three days of the event. There will be 72 hours of live broadcast, featuring exclusive digital content, interviews with experts, behind-the-scenes moments, and more. In addition to the live experience, 400+ on-demand episodes will be available for viewing after Dreamforce ends.\r\n\r\n<a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\">Register for Salesforce+<\/a> now to get access to all of the exclusive content.\r\n<h3><b>Explore the Salesforce Admin track<\/b><\/h3>\r\nLooking to diversify your agenda at Dreamforce? Check out all of the code and low-code sessions for <a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog?search=&amp;search.role=option_1625262044603\">Salesforce Admins<\/a>. For more information, read the <a href=\"https:\/\/admin.salesforce.com\/blog\/2025\/dreamforce-2025-for-admins\">Salesforce Admin\u2019s Guide to Dreamforce 2025<\/a>.\r\n<h2>Get ready for Dreamforce 2025 \u2705<\/h2>\r\nDreamforce 2025 will be here before you know it! Take these steps now to prepare for the big event.\r\n<ol>\r\n \t<li><a href=\"https:\/\/www.salesforce.com\/dreamforce\/\">Register to attend Dreamforce<\/a>.<\/li>\r\n \t<li>Add the <a href=\"https:\/\/reg.salesforce.com\/flow\/plus\/df25\/sessioncatalog\/page\/catalog\/session\/1748986860993001ha5R\">Developer Keynote<\/a> to your agenda.<\/li>\r\n \t<li>Prepare for the event of the year with the <a href=\"https:\/\/trailhead.salesforce.com\/users\/teamtrailhead\/trailmixes\/quest-road-to-dreamforce-2025\">Road to Dreamforce 2025 Quest<\/a>. Complete the Quest <span>by 11:59 p.m. PT on October 13, 2025 to be entered to win* an Agentforce prize box (1 of 100).<\/span><\/li>\r\n \t<li>Download the Salesforce Events app <span>in the <\/span><a href=\"https:\/\/apps.apple.com\/us\/app\/salesforce-events\/id1021413071\">App Store<\/a><span> or <\/span><a href=\"https:\/\/play.google.com\/store\/search?q=salesforce%20events&amp;c=apps&amp;hl=en_US&amp;gl=US\">Google Play Store<\/a> to keep track of everything on your agenda in one easy-to-access place.<\/li>\r\n \t<li>Connect with your peers in the <a href=\"https:\/\/trailhead.salesforce.com\/trailblazer-community\/groups\/0F93A000000DJbJSAW\">Salesforce Developers Trailblazer Community Group<\/a>.<\/li>\r\n \t<li>If you\u2019re not attending Dreamforce in person, be sure to<a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2024\"> <\/a><a href=\"https:\/\/www.salesforce.com\/plus\/experience\/dreamforce_2025\">register for the Salesforce+<\/a> experience.<\/li>\r\n \t<li>Follow<span> Salesforce Developers <\/span>on <a href=\"https:\/\/x.com\/SalesforceDevs\">X<\/a> and <a href=\"https:\/\/www.linkedin.com\/showcase\/salesforcedevs\/\">LinkedIn<\/a> for more updates.<\/li>\r\n<\/ol>\r\n<h2>About the author<\/h2>\r\n<span><b>Kaitlin Benz<\/b> is the Developer Marketing Communications Lead at Salesforce. She\u2019s most passionate about storytelling, podcasts, and vegan food. Find her on <\/span><a href=\"https:\/\/www.linkedin.com\/in\/kaitlinbenz\/\">LinkedIn<\/a><span>. <\/span>","post_title":"The Developer\u2019s Guide to Dreamforce 2025","post_excerpt":"Get ready for Dreamforce 2025, whether you\u2019re joining in San Francisco or on Salesforce+.","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"developers-guide-dreamforce-2025","to_ping":"","pinged":"","post_modified":"2025-11-05 02:11:15","post_modified_gmt":"2025-11-05 09:11:15","post_content_filtered":"","post_parent":0,"guid":"https:\/\/developer.salesforce.com\/blogs\/?p=204712","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw","featured_image":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20250916121407\/BlogFeaturedImage-Dev_1200x630-1.png?w=1200","link":"https:\/\/developer.salesforce.com\/blogs\/2025\/09\/developers-guide-dreamforce-2025","podcast_audio":{"audio_url":"","duration":""},"authors":[{"name":"Kaitlin Benz","image_src":"https:\/\/secure.gravatar.com\/avatar\/6f7b4b730cf059e9c36e78e74c7622455d467842a7666ab1f946369621fe0726?s=24&d=mm&r=g"}]}},{"post":{"ID":204715,"post_author":"3557","post_date":"2025-09-08 09:00:51","post_date_gmt":"2025-09-08 15:00:51","post_content":"<span style=\"font-weight: 400\">The <\/span><a href=\"https:\/\/admin.salesforce.com\/blog\/2025\/admin-winter-26-release-dates-countdown\"><span style=\"font-weight: 400\">Winter \u201926 release<\/span><\/a><span style=\"font-weight: 400\"> is rolling out to your sandbox and production environments starting in September and continuing through October 2025. Get ready, because this release is packed with product updates, quality of life improvements, and new features to enhance your development experience. In this post, we\u2019ll take a look at the highlights for developers across Lightning Web Components (LWC), Apex, Agentforce, Data Cloud, Salesforce Platform developer tools, and APIs.<\/span>\r\n<h2><span style=\"font-weight: 400\">LWC updates in the Winter \u201926 Release<\/span><\/h2>\r\n<span style=\"font-weight: 400\">Part of the Winter \u201926 release focuses on improving the developer experience with LWC. You can now reuse your existing components in external applications, use LWC for local actions in screen flows, and give third-party scripts new ways to navigate security restrictions with Lightning Web Security (LWS) Trusted Mode.<\/span>\r\n<h3><span style=\"font-weight: 400\">Lightning Out 2.0<\/span><\/h3>\r\n<span style=\"font-weight: 400\">With <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/lightning-out-intro.html\"><span style=\"font-weight: 400\">Lightning Out 2.0<\/span><\/a><span style=\"font-weight: 400\">, you can embed custom LWCs in external applications. This new feature is <\/span><b>built on Lightning Web Runtime (LWR)<\/b><span style=\"font-weight: 400\"> and is not an extension of the legacy <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/lightning-out.html\"><span style=\"font-weight: 400\">Lightning Out (Beta)<\/span><\/a><span style=\"font-weight: 400\">. Going forward, we recommend using Lightning Out 2.0 instead of Lightning Out (Beta).<\/span>\r\n\r\n<span style=\"font-weight: 400\">You can prepare your components for external apps from the Setup screen as shown in the below screenshot. Under \u201cApps,\u201d there's now a new menu option for creating and managing Lightning Out 2.0 apps.<\/span>\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/image3-1777x1000.png\" alt=\"Setup UI for managing Lightning Out 2.0 apps\" width=\"983\" height=\"553\" class=\"alignnone wp-image-204726\" \/>\r\n\r\n<span style=\"font-weight: 400\">Once the Lightning 2.0 apps are saved, the user interface displays a script that you can copy and use in your external app. You will need to implement OAuth 2.0 authentication and use the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=xcloud.frontdoor_singleaccess.htm&amp;type=5\"><span style=\"font-weight: 400\">UI Bridge API<\/span><\/a><span style=\"font-weight: 400\"> for secure authentication with Salesforce. Look for more information on this in the coming weeks.<\/span>\r\n\r\n<span style=\"font-weight: 400\">You can also <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/lightning-out-component-properties.html\"><span style=\"font-weight: 400\">override the styles<\/span><\/a><span style=\"font-weight: 400\">, properties of the embedded LWC component, and communicate between the LWC component and the external app using <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/lightning-out-events.html\"><span style=\"font-weight: 400\">app events<\/span><\/a><span style=\"font-weight: 400\">.<\/span>\r\n\r\n<h3><span>LWC components for local actions in screen flows<\/span><\/h3>\r\n<span>You can now use LWC as <\/span><b><span>local actions<\/span><\/b><span> in screen flows, a capability that was previously <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.lightning.meta\/lightning\/components_config_for_flow_actions.htm\"><u><span>exclusive to Aura components<\/span><\/u><\/a><span>.<\/span>\r\n\r\n<span>Local actions run directly in the browser (client-side), which allows them to access browser features and functionality using JavaScript. Because they perform an action without rendering a visible UI in the flow, components used for local actions should have a blank HTML template.<\/span>\r\n\r\n<span>To make your LWC available as a local action, add the <\/span><code>lightning_FlowAction<\/code> target to its <code>.js-meta.xml<\/code> configuration file, as shown in the example below.\r\n<pre language=\"xml\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;LightningComponentBundle xmlns=\"http:\/\/soap.sforce.com\/2006\/04\/metadata\"&gt;\r\n   &lt;apiVersion&gt;65.0&lt;\/apiVersion&gt;\r\n   &lt;isExposed&gt;true&lt;\/isExposed&gt;\r\n   &lt;targets&gt;\r\n       &lt;target&gt;lightning__FlowAction&lt;\/target&gt;\r\n   &lt;\/targets&gt;\r\n   &lt;targetConfigs&gt;\r\n       &lt;targetConfig targets=\"lightning__FlowAction\"&gt;\r\n           &lt;property name=\"toastTitle\" type=\"String\" label=\"Toast title\" \/&gt;\r\n           &lt;property name=\"toastMessage\" type=\"String\" label=\"Toast message\" \/&gt;\r\n       &lt;\/targetConfig&gt;\r\n   &lt;\/targetConfigs&gt;\r\n&lt;\/LightningComponentBundle&gt;\r\n<\/pre>\r\nNotice that the above code uses two properties declared in the <code>targetConfigs<\/code> tag to pass data from the flow to the component. The <code>invoke<\/code> API-decorated method is used to trigger the action.\r\n<pre language=\"javascript\">import { api, LightningElement } from \"lwc\";\r\nimport { ShowToastEvent } from \"lightning\/platformShowToastEvent\";\r\n\r\nexport default class ShowToastExampleComponent extends LightningElement {\r\n  @api toastTitle;\r\n  @api toastMessage;\r\n\r\n  @api invoke() {\r\n    this.dispatchEvent(\r\n      new ShowToastEvent({\r\n        title: this.toastTitle,\r\n        message: this.toastMessage,\r\n      })\r\n    );\r\n  }\r\n}\r\n<\/pre>\r\n<span style=\"font-weight: 400\">In the above code, the local action is used in a Screen flow to display a toast message with a dynamic title and message.<\/span>\r\n<h3><span style=\"font-weight: 400\">Preview a single LWC by using Local Dev (Beta)<\/span><\/h3>\r\nYou can now preview a single component using <a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/get-started-test-components.html\"><u>Local Dev<\/u><\/a> (Beta). The single component preview now supports <span>access to platform modules, such as Lightning Data Service wire adapters, <\/span><code>@salesforce<\/code><span> scoped modules, and Apex controllers.<\/span>\r\n<h3><span style=\"font-weight: 400\">Salesforce Lightning Design Systems (SLDS) 2.0<\/span><\/h3>\r\n<span style=\"font-weight: 400\">SLDS 2.0 is now generally available. With SLDS 2.0, we are introducing <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_slds_dark_mode.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">dark mode<\/span><\/a><span style=\"font-weight: 400\"> for custom themes. This feature is in Beta and is limited to the Starter edition for now. We have <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_slds_updates.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">updated<\/span><\/a><span style=\"font-weight: 400\"> component designs, styling hooks, and utilities.<\/span>\r\n\r\n<span style=\"font-weight: 400\">To ease the transition to SLDS 2.0, we have improved the <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/slds-linter\/overview\"><span style=\"font-weight: 400\">SLDS linter<\/span><\/a><span style=\"font-weight: 400\"> with additional validation rules and quick fixes.<\/span>\r\n\r\n<span style=\"font-weight: 400\">If you are still using Visualforce, when you update your org to SLDS 2.0, your Visualforce can also adapt to the new styles. To learn more about this, check out the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_slds_visualforce.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">documentation<\/span><\/a><span style=\"font-weight: 400\">.<\/span>\r\n<h3><span style=\"font-weight: 400\">GraphQL LWC module<\/span><\/h3>\r\n<span style=\"font-weight: 400\">A new LWC module, <code>lightning\/graphql<\/code>, is now available for working with the <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_api_graphql.htm&amp;release=258&amp;type=5\"><u>GraphQL API<\/u><\/a>. It supersedes the <code>lightning\/uiGraphQLApi<\/code> module and introduces powerful new features. We recommend using this new module for all GraphQL operations in LWC.<\/span>\r\n\r\n<span>One of the key new features is the support for <\/span><b><span>optional fields<\/span><\/b><span>. This makes your queries more resilient by preventing them from failing due to field-level access restrictions. When you mark a field as optional, the query will succeed even if the user doesn't have permission to see it. Instead of throwing an error, the API response simply omits the inaccessible field and any of its sub-fields.<\/span>\r\n\r\n<span>For example, imagine a query for a user's <\/span><code>Id<\/code><span> and <\/span><code>EmployeeNumber<\/code><span>. If <\/span><code>EmployeeNumber<\/code><span> is marked as optional and the current user can't access it, the query will still successfully return the <\/span><code>Id<\/code>.\r\n\r\n&nbsp;\r\n<pre language=\"javascript\">query optional {\r\n  uiapi {\r\n    query {\r\n      User {\r\n        edges {\r\n          node {\r\n            Id\r\n            EmployeeNumber @optional {\r\n              value\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n<\/pre>\r\n<span>The new <\/span><code>lightning\/graphql<\/code><span> module also supports <\/span><b><span>dynamic queries<\/span><\/b><span>, which let you construct parts of your query at run time. You can build a dynamic query using JavaScript string interpolation (e.g., <\/span><code>${variableName}<\/code><span>) inside the <\/span><code>gql<\/code><span> tagged template literal. The value of the variable is then resolved and inserted into the query at runtime.<\/span>\r\n\r\n<span>The example code below shows a dynamic query using <\/span><code>${this.objectName}<\/code>.\r\n<pre language=\"javascript\">import { LightningElement,wire } from 'lwc';\r\nimport { gql, graphql } from 'lightning\/graphql';\r\n\r\nexport default class DynamicGraphQLQuery extends LightningElement {\r\n  objectName = 'Account';\r\n\r\n  get resolvedQuery() {\r\n    return gql`\r\n      query {\r\n        uiapi {\r\n          query {\r\n            ${this.objectName} {\r\n              edges {\r\n                node {\r\n                  Id\r\n                  Name\r\n                }\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    `;\r\n  }\r\n\r\n  @wire(graphql, { query: '$resolvedQuery', variables: {} })\r\n  result;\r\n\r\n  get data() {\r\n    return this.result?.data ? JSON.stringify(this.result.data, null, 2) : '';\r\n  }\r\n}\r\n<\/pre>\r\n<h3><span style=\"font-weight: 400\">Miscellaneous Lightning components updates<\/span><\/h3>\r\n<span style=\"font-weight: 400\">In addition to these important LWC updates, there are several other changes to Lightning components:<\/span>\r\n<ul>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Additional <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_lwc_ts_support_bc.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">TypeScript type definitions<\/span><\/a><span style=\"font-weight: 400\"> are now available for various base components.<\/span><\/li>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Omniscripts and Flexcards can now be reused within <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_os_component_lib_fc_os_ps.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">LWC components<\/span><\/a><span style=\"font-weight: 400\">. This includes event support for communication between Omniscripts and LWC.<\/span><\/li>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Aura performance has been improved thanks to component <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_aura_actions_dynamic_boxcar.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">dynamic boxcar optimization<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/li>\r\n<\/ul>\r\n<h2><span style=\"font-weight: 400\">Apex updates in the Winter \u201926 release<\/span><\/h2>\r\n<span style=\"font-weight: 400\">Apex is also getting several quality of life improvements for the Winter \u201926 release.\u00a0<\/span>\r\n<h3><span style=\"font-weight: 400\">Test Discovery and Test Runner APIs<\/span><\/h3>\r\n<span style=\"font-weight: 400\">Salesforce is unifying the testing experience for <\/span><b>Apex<\/b><span style=\"font-weight: 400\"> and <\/span><b>flows<\/b><span style=\"font-weight: 400\"> with the new <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_api_tooling_unified_testing.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">Test Discovery and Test Runner APIs<\/span><\/a><span style=\"font-weight: 400\">. This update streamlines your development process by allowing you to retrieve and execute both Apex and flow tests from a single, centralized location, helping you build more reliable applications.<\/span>\r\n\r\n<span style=\"font-weight: 400\">You can access this unified framework from the Setup menu by navigating to the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_apex_unified_testing.htm&amp;type=5&amp;release=258\"><span style=\"font-weight: 400\">Application Test Execution<\/span><\/a><span style=\"font-weight: 400\"> page.<\/span>\r\n<h3><span style=\"font-weight: 400\">Upload and download binary files with External Services<\/span><\/h3>\r\n<b>External Services<\/b><span style=\"font-weight: 400\"> can now handle <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_ext_services_binary_file_support.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">binary file<\/span><\/a><span style=\"font-weight: 400\"> uploads and downloads for files up to 16 MB. This enhancement allows both Apex and flows to integrate directly with third-party services that use OpenAPI 3.0 for file transfers.<\/span>\r\n\r\nFor example, the following OpenAPI 3.0 specification defines an action for uploading a document to Amazon S3 using a <code>PUT<\/code> operation.\r\n<pre>openapi: 3.0.3\r\ninfo:\r\n  title: S3 file Upload\r\n  version: 1.0.0\r\nservers:\r\n  - url: https:\/\/s3.amazonaws.com\r\npaths:\r\n  \/{bucket}\/{key}:\r\n    parameters:\r\n      - name: bucket\r\n        in: path\r\n        required: true\r\n        schema: { type: string }\r\n        description: S3 bucket name\r\n      - name: key\r\n        in: path\r\n        required: true\r\n        schema: { type: string }\r\n        description: Object key (URL-encode if it contains '\/')\r\n    put:\r\n      summary: Upload a binary object\r\n      requestBody:\r\n        required: true\r\n        content:\r\n          application\/octet-stream:\r\n            schema:\r\n              type: string\r\n              format: binary\r\n      responses:\r\n        '200':\r\n          description: Uploaded\r\ncomponents:\r\n  securitySchemes:\r\n    awsSigV4:\r\n      type: apiKey\r\n      in: header\r\n      name: Authorization\r\nsecurity:\r\n  - awsSigV4: []\r\n<\/pre>\r\nYou can use <code>contentDocumentId<\/code> as the input to the body parameter instead of the entire binary blob, saving heap.\r\n<h3><span>Miscellaneous Apex updates<\/span><\/h3>\r\n<span>In addition to these important updates, there are a couple of interesting changes to Apex:<\/span>\r\n<ul>\r\n \t<li><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_apex_apexdoc.htm&amp;release=258&amp;type=5\"><u>ApexDoc<\/u><\/a> is the new, <span>standardized way to add comments to your code. This format makes it easy for humans, documentation generators, and AI agents to understand your Apex codebase.<\/span><\/li>\r\n \t<li><span>In API version 65.0 and later, <\/span><code>abstract<\/code><span> and <\/span><code>override<\/code><span> methods require a <\/span><code>protected<\/code>, <span> <\/span><code>public<\/code>,<span> or <\/span><code>global<\/code><span> access modifier. If you try to declare an <\/span><code>abstract<\/code><span> or <\/span><code>override<\/code><span> method without one of the allowed access modifiers, you get a compilation error.<\/span><\/li>\r\n<\/ul>\r\n<h2><span style=\"font-weight: 400\">Agentforce monthly updates<\/span><\/h2>\r\n<span style=\"font-weight: 400\">Agentforce enables you to customize pre-built agents, or create and deploy new agents, that work seamlessly across Salesforce apps, Slack, third-party platforms, and other apps. We're adding some important developer features in the upcoming monthly releases.<\/span>\r\n\r\n<span style=\"font-weight: 400\">As a reminder, Salesforce releases Agentforce updates frequently, so keep an eye on the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_features_released_monthly.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">monthly release section<\/span><\/a><span style=\"font-weight: 400\"> of the Winter \u201926 release notes for the latest information.<\/span> <span style=\"font-weight: 400\">You can also find features that went out before September in the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_einstein_platform.htm&amp;release=256&amp;type=5\"><span style=\"font-weight: 400\">monthly release section<\/span><\/a><span style=\"font-weight: 400\"> of the Summer <\/span><a href=\"https:\/\/admin.salesforce.com\/blog\/2025\/admin-summer-25-release-dates-countdown\"><span style=\"font-weight: 400\">\u2019<\/span><\/a><span style=\"font-weight: 400\">25 release notes.<\/span>\r\n<h3><span style=\"font-weight: 400\">Agentforce DX<\/span><\/h3>\r\n<span style=\"font-weight: 400\">Create and test agents directly in a Salesforce DX project with Agentforce DX\u2019s pro-code tools, such as the Salesforce CLI and the Salesforce VS Code extensions.<\/span>\r\n\r\n<span style=\"font-weight: 400\">To work with Agentforce DX in VS Code or Code Builder, you\u2019ll need to install the <\/span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=salesforce.salesforcedx-vscode-agents\"><span style=\"font-weight: 400\">Agentforce DX VS Code extension<\/span><\/a><span style=\"font-weight: 400\"> manually as this extension is not included in the Salesforce Extension Pack at the time of writing.<\/span>\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/image8.png\" alt=\"Agent Preview screen in VS Code \" width=\"500\" height=\"767\" class=\"alignnone size-full wp-image-204728\" \/>\r\n\r\n<span style=\"font-weight: 400\">Here are some Agentforce DX enhancements that were recently shipped:<\/span>\r\n<ul>\r\n \t<li><span>You can now enable Apex debug logging when you use the <\/span><code>agent preview<\/code><span> CLI command. When conversing with an agent, specify the new <\/span><code>--apex-debug<\/code><span> flag. With this new flag, when any conversation message executes Apex code, a new Apex debug log file is written to the specified output directory along with the transcript and response JSON files. <\/span><\/li>\r\n \t<li><span>When testing an agent where an utterance invokes an action, the test results can now include generated data details about the invoked action in JSON format. These details include any Apex classes or flows that were invoked, any Salesforce objects that were touched, and so on. Use the JSON structure of this information to build the test case JSONPath expression when using <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/einstein\/genai\/guide\/testing-api-custom-evaluation-criteria.html\"><u>custom evaluations<\/u><\/a><span>.<\/span><\/li>\r\n \t<li><span>You can activate and deactivate agents from the CLI using the new <\/span><code>agent activate<\/code><span> and <\/span><code>agent deactivate<\/code> <span>commands<\/span><span>.<\/span><\/li>\r\n<\/ul>\r\n<span style=\"font-weight: 400\">Check out the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_tools_afdx_enhancements.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">release notes<\/span><\/a><span style=\"font-weight: 400\"> to learn more.<\/span>\r\n<h3><span style=\"font-weight: 400\">Dedicated setup UI for managing Lightning types in Agentforce<\/span><\/h3>\r\n<span style=\"font-weight: 400\">In the last release, we provided the ability to bring structured user interfaces to Employee Agents using <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/einstein\/genai\/guide\/lightning-types-standard.html\"><span style=\"font-weight: 400\">standard<\/span><\/a><span style=\"font-weight: 400\"> and <\/span><a href=\"https:\/\/developer.salesforce.com\/blogs\/2025\/07\/enhance-the-agent-ui-with-custom-lwcs-and-lightning-types\"><span style=\"font-weight: 400\">custom<\/span><\/a><span style=\"font-weight: 400\"> Lightning types. The October release will bring a new user interface to easily manage custom Lightning types. Check out the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_einstein_clt.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">release notes<\/span><\/a><span style=\"font-weight: 400\"> to learn more.<\/span>\r\n<h3><span style=\"font-weight: 400\">Agent actions for AuraEnabled Apex (Beta)<\/span><\/h3>\r\n<span style=\"font-weight: 400\">Apex <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.apexcode.meta\/apexcode\/apex_classes_annotation_AuraEnabled.htm\"><span style=\"font-weight: 400\">AuraEnabled<\/span><\/a><span style=\"font-weight: 400\"> controller methods can now be <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/einstein\/genai\/guide\/agent-auraenabled.html\"><span style=\"font-weight: 400\">made available as agent actions<\/span><\/a><span style=\"font-weight: 400\"> by following these steps:<\/span>\r\n<ol>\r\n \t<li>Install the <a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/einstein-for-devs\/guide\/einstein-overview.html\"><u>Agentforce for Developers VS Code extension<\/u><\/a> (this is part of the Salesforce Extension Pack, so you may already have it installed).<\/li>\r\n \t<li>Generate OpenAPI documents for the Apex classes that have <code>@AuraEnabled<\/code> annotated methods.<\/li>\r\n \t<li>Deploy these Apex classes. When you do so, the OpenAPI documents and their metadata are added to the API catalog and the methods become available as agent actions.<\/li>\r\n<\/ol>\r\n<h3><span style=\"font-weight: 400\">Structured outputs from custom agent actions in flows<\/span><\/h3>\r\n<span style=\"font-weight: 400\">With structured output, custom agent actions can now return specific fields that use data types, including objects and Apex types in flows. To learn more about this, check out the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_automate_flow_use_structured_output_with_custom_agent_actions.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">documentation<\/span><\/a><span style=\"font-weight: 400\">.<\/span>\r\n<h2><span style=\"font-weight: 400\">Data Cloud monthly updates<\/span><\/h2>\r\n<span style=\"font-weight: 400\">Like Agentforce, Data Cloud gets updates on a monthly basis, so please keep an eye on the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_cdp_data_cloud_features_released_by_month.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">monthly release notes<\/span><\/a><span style=\"font-weight: 400\"> section for Data Cloud to learn more. If you missed features released in previous months, check out the monthly <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_cdp_data_cloud_features_released_by_month.htm&amp;release=256&amp;type=5\"><span style=\"font-weight: 400\">release notes<\/span><\/a><span style=\"font-weight: 400\"> section for the Summer '25 release.<\/span>\r\n<h3><span style=\"font-weight: 400\">Document AI<\/span><\/h3>\r\n<span style=\"font-weight: 400\">Use Document AI in Data Cloud to create schemas and extract data from unstructured documents like invoices, resumes, and lab reports. You can use AI to automatically extract a schema from a source object. Alternatively, use the document schema builder to manually create a schema from a source object or build one from scratch. To learn more about Document AI, check this <\/span><a href=\"https:\/\/developer.salesforce.com\/blogs\/2025\/08\/process-unstructured-data-with-document-ai\"><span style=\"font-weight: 400\">developer blog post<\/span><\/a><span style=\"font-weight: 400\">.<\/span>\r\n<h3><span style=\"font-weight: 400\">Miscellaneous updates<\/span><\/h3>\r\n<ul>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Data Cloud now supports federated authentication for zero copy connectors with <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_cdp_2025_summer_idp_for_bigquery.htm&amp;release=256&amp;type=5\"><span style=\"font-weight: 400\">Google BigQuery<\/span><\/a><span style=\"font-weight: 400\">, <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_cdp_summer_2025_idp_for_databricks.htm&amp;release=256&amp;type=5\"><span style=\"font-weight: 400\">Databricks<\/span><\/a><span style=\"font-weight: 400\">, and <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_cdp_summer_2025_idp_for_snowflake.htm&amp;release=256&amp;type=5\"><span style=\"font-weight: 400\">Snowflake<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/li>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">You can ingest content from your website for Retrieval Augment Generation (RAG) directly from Data Cloud through the Web Content (Crawler) connector. Check out this <\/span><a href=\"https:\/\/developer.salesforce.com\/blogs\/2025\/08\/agentify-your-website-content-data-cloud-web-content-crawler-connector\"><span style=\"font-weight: 400\">developer blog post<\/span><\/a><span style=\"font-weight: 400\"> to learn how to implement it.<\/span><\/li>\r\n<\/ul>\r\n<h2><span style=\"font-weight: 400\">Salesforce Platform development tool updates<\/span><\/h2>\r\n<h3><span style=\"font-weight: 400\">Salesforce CLI<\/span><\/h3>\r\n<b>Run Flow tests<\/b>: You can run Flow tests directly from the Salesforce CLI. Below is an example command that runs tests for the <code>Flow1<\/code> and <code>Flow2<\/code> flows.\r\n<pre language=\"sh\">sf flow run test --target-org my-scratch --class-names Flow1 --class-names Flow2\r\n<\/pre>\r\n<span style=\"font-weight: 400\">This feature, along with the Test Discovery and Test Runner APIs that we covered earlier, opens the door to easily integrating flow tests in CI workflows.<\/span>\r\n\r\n<b>Manage package upgrades from the CLI<\/b>\r\n\r\n<span style=\"font-weight: 400\">Packaging push upgrades can now be managed with these new Salesforce CLI commands:<\/span>\r\n<ul>\r\n \t<li><code><span>package push-upgrade schedule<\/span><\/code><span>:<\/span><span> S<\/span><span>chedule a push upgrade for an unlocked or second-generation managed package<\/span><\/li>\r\n \t<li><code><span>package push-upgrade abort<\/span><\/code><span>:<\/span><span> <\/span><span>Cancel a push upgrade request<\/span><\/li>\r\n \t<li><code><span>package push-upgrade list<\/span><\/code><span>:<\/span><span> Dis<\/span><span>play the status of all push upgrade requests for a specific package<\/span><\/li>\r\n \t<li><code><span>package push-upgrade report<\/span><\/code><span>:<\/span><span> D<\/span><span>isplay detailed information for a specific push upgrade request<\/span><\/li>\r\n<\/ul>\r\n<b><span>Safely move source code<\/span><\/b>\r\n<span>Source mobility allows you to move source files inside your local Salesforce DX project without source-tracking and thinking that you\u2019ve deleted and then recreated a metadata component. To opt out of this behavior, set the <\/span><code><span>SF_DISABLE_SOURCE_MOBILITY<\/span><\/code><span> environment variable to <\/span><code><span>true<\/span><\/code><span> (the<\/span><span> value is <\/span><code><span>false<\/span><\/code><span> by default).<\/span>\r\n\r\n<b><span>Display package dependency<\/span><\/b>\r\n<span>You can now display the dependency graph for an unlocked or 2GP managed package version with the new <\/span><code>package version displaydependencies<\/code><span> CLI command.<\/span>\r\n<h3><span style=\"font-weight: 400\">Code Builder<\/span><\/h3>\r\n<span style=\"font-weight: 400\">Code Builder now <\/span><a href=\"https:\/\/developer.salesforce.com\/blogs\/2025\/07\/enhance-developer-productivity-with-seamless-code-builder-access-in-sandboxes\"><span style=\"font-weight: 400\">supports sandboxes<\/span><\/a><span style=\"font-weight: 400\">, and we have also improved Code Builder startup time.<\/span>\r\n<h3><span style=\"font-weight: 400\">Agentforce for Developers<\/span><\/h3>\r\n<span style=\"font-weight: 400\">The default Dev Assistant model is GPT-4o mini. We are also supporting multiple models <\/span><a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/einstein-for-devs\/guide\/einstein-overview.html#model-usage-and-choice-limits\"><span style=\"font-weight: 400\">across selected<\/span><\/a><span style=\"font-weight: 400\"> features.<\/span>\r\n<h3><span style=\"font-weight: 400\">Scale Test<\/span><\/h3>\r\n<span style=\"font-weight: 400\">The Winter \u201926 release adds new powerful tools to Scale Test for performance validation. The new <\/span><b>Scale Test for LDV Partners<\/b><span style=\"font-weight: 400\"> service delivers a cost-effective, production-grade environment with 500GB of storage for formal certifications. A new <\/span><b>Agentforce Metrics dashboard<\/b><span style=\"font-weight: 400\"> provides insights into agent usage, latency, and errors to help teams plan more realistic tests. Pilot features include <\/span><b>Live Test Monitoring &amp; Debugging<\/b><span style=\"font-weight: 400\">, which lets you track runs in real time, view detailed error traces, and stop individual scripts without halting the full test. We\u2019re also piloting <\/span><b>Load Generation from GitHub scripts<\/b><span style=\"font-weight: 400\">, <\/span><b>Client-Side Monitoring dashboards<\/b><span style=\"font-weight: 400\">, and <\/span><b>Playwright as a Load Type<\/b><span style=\"font-weight: 400\"> for end-to-end UI testing. Read more in the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_scale_test.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">release notes<\/span><\/a><span style=\"font-weight: 400\">.<\/span>\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/image5-1928x1000.png\" alt=\"Test plan creation with Agentforce metrics showing usage, latency, and error data.\" width=\"983\" height=\"510\" class=\"alignnone  wp-image-204729\" \/>\r\n<h3><span style=\"font-weight: 400\">Scale Center<\/span><\/h3>\r\n<span style=\"font-weight: 400\">Scale Center expands its insights with two major additions: <\/span><b>Search Insights<\/b><span style=\"font-weight: 400\"> and <\/span><b>Database Insights<\/b><span style=\"font-weight: 400\">. Search Insights highlight entities that are never queried, queried but never clicked, or underused, helping teams to tune search for better performance. Database Insights surface inefficient SOQL queries with recommendations to improve database efficiency. All insights, including Report Insights, can now be generated <\/span><b>on demand<\/b><span style=\"font-weight: 400\"> \u2014 up to three times per week per org \u2014 so customers get visibility when they need it. Scale Center is also now integrated into the <\/span><b>Customer Success Score Portal<\/b><span style=\"font-weight: 400\">, allowing customers to jump directly into the Investigations Analysis Portal with prepopulated context for faster root-cause analysis. Explore more in the<\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_scale_center.htm&amp;release=256&amp;type=5\"> <span style=\"font-weight: 400\">release notes<\/span><\/a><span style=\"font-weight: 400\">.<\/span>\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/image7.png\" alt=\"Search Insights showing entities never queried and entities queried but never clicked.\" width=\"993\" height=\"533\" class=\"alignnone  wp-image-204730\" \/>\r\n<h3><span style=\"font-weight: 400\">ApexGuru<\/span><\/h3>\r\n<span style=\"font-weight: 400\">ApexGuru strengthens its role as the Apex go-to Apex performance monitoring tool with several key enhancements in Winter \u201926. Teams can now generate <\/span><b>On-Demand Insights<\/b><span style=\"font-weight: 400\"> \u2014 up to three reports per week \u2014 that are aligned with sprint cycles for faster triage before deployment. A new <\/span><b>Test Case Quality Insights<\/b><span style=\"font-weight: 400\"> feature scans test classes for antipatterns, filler logic, and outdated syntax to improve reliability and prevent inflated coverage in CI\/CD pipelines. <span>We\u2019ve also introduced <\/span><b><span>Platform Cache Detection for SOQL<\/span><\/b><span>, which flags repeat queries that should be cached to reduce database load. Antipattern coverage has expanded with four new rules: sorting in Apex, inefficient <\/span><code>Map<\/code><span> creation, manual list copying, and loop-based aggregation. Together, these updates deliver smarter guardrails for building scalable, performant Salesforce applications. Read more in the<\/span> <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_apexguru.htm&amp;release=258&amp;type=5\"><u>release notes<\/u><\/a><span>.<\/span><\/span>\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/image2.png\" alt=\"ApexGuru Test Case Insights showing test cases flagged for updates.\" width=\"648\" height=\"358\" class=\"alignnone size-full wp-image-204731\" \/>\r\n<h2><span style=\"font-weight: 400\">API updates<\/span><\/h2>\r\n<h3><span style=\"font-weight: 400\">Metadata API updates<\/span><\/h3>\r\nThe metadata deployment status includes two new states for metadata deployments: <code>Finalizing Deploy<\/code> and <code>Finalizing Deploy Failed<\/code>. Along with these new states, an updated cancellation behavior ensures that deployments that are in their final stages of processing can\u2019t be cancelled. This change safeguards metadata from potential corruption.\r\n\r\n<span>Also on the Deployment Settings detail page in Setup, view the number of files and total unzipped file size in bytes. Use this information to monitor the size of your deployments.<\/span>\r\n\r\n<img src=\"https:\/\/developer.salesforce.com\/blogs\/wp-content\/uploads\/2025\/09\/image6.png\" alt=\"Number of files and file size on Deployment Details screen\" width=\"993\" height=\"333\" class=\"alignnone  wp-image-204732\" \/>\r\n<h3><span style=\"font-weight: 400\">Track event publishing and consumption<\/span><\/h3>\r\n<span style=\"font-weight: 400\">The <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.rn_messaging_pe_event_studio.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">Event Studio<\/span><\/a><span style=\"font-weight: 400\"> dashboard is a new user interface where you can now track event publishing and consumption. Within this dashboard, you can understand how different events, such as platform events, event relays, and LWC, impact the publish and delivery entitlements in your Salesforce org, so that you can optimize your eventing strategy.<\/span>\r\n<h3><span style=\"font-weight: 400\">SOAP API <\/span><span style=\"font-weight: 400\">login<\/span><span style=\"font-weight: 400\">() call is being retired<\/span><\/h3>\r\nAs of Winter \u201926 (API version 65.0), SOAP <code>login()<\/code> is <b>no longer available<\/b>. It will return an HTTP status code of 500 and the exception code <code>UNSUPPORTED_API_VERSION<\/code>.\r\n\r\nYou can continue to use <code>login()<\/code> in SOAP API versions 31.0 through 64.0 until Summer \u201927 is released. At that time, <code>login()<\/code> in these SOAP API versions will be retired and unavailable, and applications using this setup will experience disruption. The requests will fail with an error message indicating that the <code>login()<\/code> endpoint has been deactivated.\r\n\r\nBefore Summer \u201927 is released, customers and partners must modify or upgrade their applications to use external client apps for authentication. Learn more with this <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=005132110&amp;type=1\"><u>knowledge article<\/u><\/a>.\r\n<h2><span style=\"font-weight: 400\">More Winter \u201926 learning resources<\/span><\/h2>\r\n<ul>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Read the <\/span><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=release-notes.salesforce_release_notes.htm&amp;release=258&amp;type=5\"><span style=\"font-weight: 400\">official release notes<\/span><\/a><\/li>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Join the <\/span><a href=\"https:\/\/trailhead.salesforce.com\/trailblazer-community\/groups\/0F93A000000DJbJSAW?tab=discussion&amp;sort=LAST_MODIFIED_DATE_DESC\"><span style=\"font-weight: 400\">Salesforce Developers Trailblazer Community group<\/span><\/a><span style=\"font-weight: 400\"> to connect with the global developer community<\/span><\/li>\r\n \t<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Join the <\/span><a href=\"https:\/\/trailhead.salesforce.com\/trailblazer-community\/groups\/0F9300000001okuCAA?tab=discussion&amp;sort=LAST_MODIFIED_DATE_DESC\"><span style=\"font-weight: 400\">Release Readiness Trailblazers Community group<\/span><\/a><span style=\"font-weight: 400\"> to stay informed about the latest product enhancements and innovations across the Salesforce ecosystem<\/span><\/li>\r\n<\/ul>\r\n<h2><span style=\"font-weight: 400\">About the authors<\/span><\/h2>\r\n<b>Mohith Shrivastava<\/b><span style=\"font-weight: 400\"> is a Principal Developer Advocate at Salesforce with 14 years of experience building enterprise-scale products on the Salesforce Platform. Mohith is currently among the lead contributors on Salesforce Stack Exchange, a developer forum where Salesforce Developers can ask questions and share knowledge. You can follow him on <\/span><a href=\"https:\/\/www.linkedin.com\/in\/mohith-shrivastava-9a36464a\/\"><span style=\"font-weight: 400\">LinkedIn<\/span><\/a><span style=\"font-weight: 400\">.<\/span><span style=\"font-weight: 400\">\u200b\u200b<\/span>\r\n\r\n<b>Philippe Ozil <\/b><span style=\"font-weight: 400\">is a Principal Developer Advocate at Salesforce, where he focuses on the Salesforce Platform. He writes technical content and speaks frequently at conferences. He is a full-stack developer and enjoys working with APIs, DevOps, robotics, and VR projects. Follow him on<\/span><a href=\"https:\/\/x.com\/PhilippeOzil\"> <span style=\"font-weight: 400\">X<\/span><\/a><span style=\"font-weight: 400\">, <\/span><a href=\"https:\/\/www.linkedin.com\/in\/philippeozil\/\"><span style=\"font-weight: 400\">LinkedIn<\/span><\/a><span style=\"font-weight: 400\">, and <\/span><a href=\"https:\/\/bsky.app\/profile\/pozil.bsky.social\"><span style=\"font-weight: 400\">Bluesky<\/span><\/a><span style=\"font-weight: 400\">, and check out his<\/span><a href=\"https:\/\/github.com\/pozil\"> <span style=\"font-weight: 400\">GitHub projects<\/span><\/a><span style=\"font-weight: 400\">.<\/span>","post_title":"The Salesforce Developer\u2019s Guide to the Winter \u201926 Release","post_excerpt":"Learn about highlights for developers in the Winter '26 release across Lightning Web Components, Apex, Salesforce Platform developer tools, APIs, and more.","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"winter26-developers","to_ping":"","pinged":"","post_modified":"2025-11-05 02:11:14","post_modified_gmt":"2025-11-05 09:11:14","post_content_filtered":"","post_parent":0,"guid":"https:\/\/developer.salesforce.com\/blogs\/?p=204715","menu_order":0,"post_type":"post","post_mime_type":"","comment_count":"0","filter":"raw","featured_image":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20250905160757\/image1.png?w=1200","link":"https:\/\/developer.salesforce.com\/blogs\/2025\/09\/winter26-developers","podcast_audio":{"audio_url":"","duration":""},"authors":[{"name":"Mohith Shrivastava","image_src":"https:\/\/secure.gravatar.com\/avatar\/6e0b4ae22883cfc39cc1442233de807a7444e2d8c6b8bfe9895ff375c59950b9?s=24&d=mm&r=g"},{"name":"Philippe Ozil","image_src":"https:\/\/secure.gravatar.com\/avatar\/eb238a03783dc59bacdcc8217c71dc99a4afe9d1fa1ec2d901f3ad6ce1fe8105?s=24&d=mm&r=g"}]}}],"unstyled_content":"<h2>Plus updates to the CLI orb so you can setup CI faster<\/h2>\n<p>Last December we <a href=\"https:\/\/developer.salesforce.com\/blogs\/2019\/12\/announcing-circleci-orbs-for-salesforce.html\">announced<\/a> our first collaboration with CircleCI in the form of a new orb for setting up your automated CI using the Salesforce CLI. Over the last 6 months we\u2019ve continued working with CircleCI and today we\u2019re announcing a new orb focused on setting up an org for Apex testing.<\/p>\n<h2>What are orbs?<\/h2>\n<p>Orbs are reusable chunks of configuration that you can call as part of your DevOps pipeline and workflow. CircleCI maintains a registry of these sharable packages of configuration that they\u2019ve built along with their partners and other individuals. This way, anyone using CircleCI can drop these repeatable configuration orbs into their CI\/CD pipelines with ease.<\/p>\n<p>We\u2019ve been working with CircleCI to create orbs that are specific to Salesforce Development so that instead of each team starting from scratch writing their own configuration, teams can easily use best practices and repeatable code, with these Salesforce Orbs.<\/p>\n<p>Our first orb [<a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-sfdx\">salesforce-sfdx<\/a>] focused on setting up the CLI and getting your CI ready for automated testing. The second orb [<a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-apex\">salesforce-apex<\/a>] focuses on getting your changes into a testing org and running your Apex tests.<\/p>\n\n<p>\n\t\t\t  <span >\n\t\t\t    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20200810155110\/scratch-e1597099876507.png\" width=\"800\" height=\"347\" alt=\"\" \/>\n\t\t\t  <\/span>\n\t\t\t<\/p>\n<h2>The salesforce-apex Orb<\/h2>\n<p>The <a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-apex\">new Apex orb<\/a> is focused on testing your Apex code. It utilizes common commands and workflows for testing Apex. This includes:<\/p>\n<ul>\n<li>Setting up a Scratch org for testing<\/li>\n<li>Deploying your metadata to your test Sandbox<\/li>\n<li>Running your Apex tests in your org<\/li>\n<\/ul>\n<p>The orb is a sequel to the original CLI orb and picks up where that one left off.<\/p>\n<p>We know that many of our users have more complex setups. What\u2019s great about this orb is it allows you to use each command set alone. This means if you need to insert more complicated org setup or testing into your CI process, you can call individual sections of the orb and insert your extra steps in between. For teams with more straight forward Salesforce projects, you\u2019ll be able to use an out-of-the-box job that creates, tests, and deletes a scratch org all in one go.<\/p>\n\n<p>\n\t\t\t  <span >\n\t\t\t    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20200810155130\/orb-quick-e1597099896608.png\" width=\"800\" height=\"474\" alt=\"\" \/>\n\t\t\t  <\/span>\n\t\t\t<\/p>\n<h2><\/h2>\n<h2>Salesforce CLI orb updates<\/h2>\n<p>Our first orb did a little bit of everything. We noticed that it was mostly used for setting up your CI process with the Salesforce CLI and creating Scratch orgs, so we streamlined it to focus on those two themes. Now the <a href=\"https:\/\/circleci.com\/orbs\/registry\/orb\/circleci\/salesforce-sfdx\">salesforce-sfdx orb<\/a> is focused on installing the CLI, authenticating to your devhub, and creating a scratch org (if scratch orgs are part of your testing process). Each of these actions can be used on its own from the orb or together.<\/p>\n<p>The orb used to also include the deployment of metadata into the scratch org, but we\u2019ve moved that to the Apex orb in an attempt to streamline the orgs and not include repeated behavior. Orbs can be used together in a single .yml file, so we felt it was better to split the orbs up by category.<\/p>\n<h2>Conclusion<\/h2>\n<p>To learn more about how to use these orbs, please see <a href=\"https:\/\/circleci.com\/blog\/salesforce-apex-orb\/\">CircleCI\u2019s blog post<\/a> on the new Apex orb and the Salesforce CLI orb. We continue to try to bring our development community more access to modern CI\/CD best practices and hope to make it easier for anyone developing on Salesforce to take advantage of automated testing. We will continue to work with CircleCI to bring more configuration&#8230; please let us know on Twitter or in the Trailblazer Community if there are other Orbs you\u2019d like to see!<\/p>\n<h3>About the Author<\/h3>\n<p>Claire Bianchi, Director, Product Management<\/p>\n<p>Claire Bianchi is the Product Manager for the Salesforce CLIs and New Code Builder (Pilot). She joined Salesforce in June 2018 and has been working on improving developer tooling and experience ever since. Prior to this role she was at Atlassian as the Product Manager of the Bitbucket Ecosystem and Front End teams. She is currently focused on bringing modern development and devops best practices to all Salesforce developers regardless of skill level or experience.<br \/>\nTrailhead: <a href=\"https:\/\/trailhead.salesforce.com\/en\/me\/005500000085ap7AAA\">https:\/\/trailhead.salesforce.com\/en\/me\/005500000085ap7AAA<\/a><br \/>\nLinkedIn: <a href=\"https:\/\/www.linkedin.com\/in\/clairebianchi\/\">https:\/\/www.linkedin.com\/in\/clairebianchi\/<\/a><br \/>\nTwitter: <a href=\"https:\/\/twitter.com\/ClaireSFDX\"><b>@ClaireSFDX<\/b><\/a><\/p>\n","acf":{"canonicalid":"","language":"english","audio_url":"https:\/\/a.sfdcstatic.com\/developer-website\/blog-audio\/194342\/194342.mp3","hash":"24a0c7bd691135a992ba92e369d1f0fa","transcription_id":"3e535de0-c40f-44f8-a846-36c1d52173e7","ready":true},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.3 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New Salesforce Apex CircleCI Orb - Salesforce Developers Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New Salesforce Apex CircleCI Orb\" \/>\n<meta property=\"og:description\" content=\"Plus updates to the CLI orb so you can setup CI faster Last December we announced our first collaboration with CircleCI in the form of a new orb for setting up your automated CI using the Salesforce CLI. Over the last 6 months we\u2019ve continued working with CircleCI and today we\u2019re announcing a new orb [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb\" \/>\n<meta property=\"og:site_name\" content=\"Salesforce Developers Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-11T15:10:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-05T09:20:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1260\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Claire Bianchi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SalesforceDevs\" \/>\n<meta name=\"twitter:site\" content=\"@SalesforceDevs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claire Bianchi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb\",\"url\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb\",\"name\":\"New Salesforce Apex CircleCI Orb - Salesforce Developers Blog\",\"isPartOf\":{\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#primaryimage\"},\"image\":{\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#primaryimage\"},\"thumbnailUrl\":\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png\",\"datePublished\":\"2020-08-11T15:10:38+00:00\",\"dateModified\":\"2025-11-05T09:20:05+00:00\",\"author\":{\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/#\/schema\/person\/22eed02ae8d11d478c7cda198b067b91\"},\"breadcrumb\":{\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#primaryimage\",\"url\":\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png\",\"contentUrl\":\"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png\",\"width\":1260,\"height\":630,\"caption\":\"Title Slide: New Salesforce Apex CircleCI Orb\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/developer.salesforce.com\/blogs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New Salesforce Apex CircleCI Orb\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/#website\",\"url\":\"https:\/\/developer.salesforce.com\/blogs\/\",\"name\":\"Salesforce Developers Blog\",\"description\":\"Elevating developer skills and connecting with the Salesforce Developers community\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/developer.salesforce.com\/blogs\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/#\/schema\/person\/22eed02ae8d11d478c7cda198b067b91\",\"name\":\"Claire Bianchi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/developer.salesforce.com\/blogs\/#\/schema\/person\/image\/06219b99773c0c9af933bb6ababa1cea\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/514f0f4866ec3e9fd4b0fbaf369c68d740e550e7b63e5872934833b300ecd904?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/514f0f4866ec3e9fd4b0fbaf369c68d740e550e7b63e5872934833b300ecd904?s=96&d=mm&r=g\",\"caption\":\"Claire Bianchi\"},\"url\":\"https:\/\/developer.salesforce.com\/blogs\/author\/claire-bianchi\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"New Salesforce Apex CircleCI Orb - Salesforce Developers Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb","og_locale":"en_US","og_type":"article","og_title":"New Salesforce Apex CircleCI Orb","og_description":"Plus updates to the CLI orb so you can setup CI faster Last December we announced our first collaboration with CircleCI in the form of a new orb for setting up your automated CI using the Salesforce CLI. Over the last 6 months we\u2019ve continued working with CircleCI and today we\u2019re announcing a new orb [&hellip;]","og_url":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb","og_site_name":"Salesforce Developers Blog","article_published_time":"2020-08-11T15:10:38+00:00","article_modified_time":"2025-11-05T09:20:05+00:00","og_image":[{"width":1260,"height":630,"url":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png","type":"image\/png"}],"author":"Claire Bianchi","twitter_card":"summary_large_image","twitter_creator":"@SalesforceDevs","twitter_site":"@SalesforceDevs","twitter_misc":{"Written by":"Claire Bianchi","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb","url":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb","name":"New Salesforce Apex CircleCI Orb - Salesforce Developers Blog","isPartOf":{"@id":"https:\/\/developer.salesforce.com\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#primaryimage"},"image":{"@id":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#primaryimage"},"thumbnailUrl":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png","datePublished":"2020-08-11T15:10:38+00:00","dateModified":"2025-11-05T09:20:05+00:00","author":{"@id":"https:\/\/developer.salesforce.com\/blogs\/#\/schema\/person\/22eed02ae8d11d478c7cda198b067b91"},"breadcrumb":{"@id":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#primaryimage","url":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png","contentUrl":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png","width":1260,"height":630,"caption":"Title Slide: New Salesforce Apex CircleCI Orb"},{"@type":"BreadcrumbList","@id":"https:\/\/developer.salesforce.com\/blogs\/2020\/08\/new-salesforce-apex-circleci-orb#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/developer.salesforce.com\/blogs"},{"@type":"ListItem","position":2,"name":"New Salesforce Apex CircleCI Orb"}]},{"@type":"WebSite","@id":"https:\/\/developer.salesforce.com\/blogs\/#website","url":"https:\/\/developer.salesforce.com\/blogs\/","name":"Salesforce Developers Blog","description":"Elevating developer skills and connecting with the Salesforce Developers community","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/developer.salesforce.com\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/developer.salesforce.com\/blogs\/#\/schema\/person\/22eed02ae8d11d478c7cda198b067b91","name":"Claire Bianchi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/developer.salesforce.com\/blogs\/#\/schema\/person\/image\/06219b99773c0c9af933bb6ababa1cea","url":"https:\/\/secure.gravatar.com\/avatar\/514f0f4866ec3e9fd4b0fbaf369c68d740e550e7b63e5872934833b300ecd904?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/514f0f4866ec3e9fd4b0fbaf369c68d740e550e7b63e5872934833b300ecd904?s=96&d=mm&r=g","caption":"Claire Bianchi"},"url":"https:\/\/developer.salesforce.com\/blogs\/author\/claire-bianchi"}]}},"jetpack_featured_media_url":"https:\/\/d259t2jj6zp7qm.cloudfront.net\/images\/20210921145913\/Bianchi_2020Aug11.png","authors":[{"name":"Claire Bianchi","image_src":"https:\/\/secure.gravatar.com\/avatar\/514f0f4866ec3e9fd4b0fbaf369c68d740e550e7b63e5872934833b300ecd904?s=24&d=mm&r=g"}],"_links":{"self":[{"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/posts\/194342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/users\/3512"}],"replies":[{"embeddable":true,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/comments?post=194342"}],"version-history":[{"count":6,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/posts\/194342\/revisions"}],"predecessor-version":[{"id":194346,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/posts\/194342\/revisions\/194346"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/media\/196413"}],"wp:attachment":[{"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/media?parent=194342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/categories?post=194342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/tags?post=194342"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/developer.salesforce.com\/blogs\/wp-json\/wp\/v2\/coauthors?post=194342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}