Adobe App Builder (full name: Adobe Developer App Builder) is Adobe's serverless platform for building apps that extend Adobe Commerce from outside the Commerce codebase. Instead of adding PHP modules that run inside Magento, you write small services that run on Adobe I/O Runtime and talk to Commerce through its APIs, events and webhooks. Use it for integrations, background processing and admin tools that you want to keep out of the core application. Keep using classic in-process modules where you need to change how Commerce itself renders or behaves.
This guide explains what App Builder is, how it connects to Commerce, how it compares with in-process extensions, and which jobs it fits well and poorly.
What Adobe App Builder actually is
App Builder is a framework plus hosting. It gives developers a project structure, a CLI, authentication through the Adobe Developer Console, and a place to run code: Adobe I/O Runtime, a serverless platform where your logic runs as "actions" (functions that start when called and stop when done). App Builder apps can also include a browser front end, for example a screen inside the Commerce Admin.
Adobe calls this approach out-of-process extensibility. Your code runs in its own process, on its own infrastructure, with its own release cycle. Commerce does not load it, so it cannot break a page render or block an upgrade in the same way a faulty PHP module can.
Adobe's Commerce extensibility documentation is direct about its preference: it recommends the out-of-process method where possible because it is easier to maintain, and it points new Commerce apps toward App Management, which handles installing, configuring, updating and removing apps. You can read the overview on Adobe's Commerce extensibility pages.
How App Builder connects to Adobe Commerce
An App Builder app is only useful if it can see what happens in the store and act on it. Adobe provides several connection points:
- Events (asynchronous). Adobe I/O Events for Adobe Commerce sends notifications when something happens, such as an order being placed or a product being saved. Your App Builder action receives the event and does its work in the background. The shopper never waits for it.
- Webhooks (synchronous). Commerce calls your external service in real time and waits for the answer before finishing the action. Adobe's webhook documentation lists uses such as calculating totals, computing taxes, processing payments and checking stock before a cart change. A webhook can approve the action, stop it with an error, or change the payload.
- REST and GraphQL APIs. Your app reads and writes Commerce data through the standard web APIs. See our Magento GraphQL vs REST guide for which to use where.
- Admin UI SDK. Lets an App Builder app add menus, pages and grid actions to the Commerce Admin, so staff use your tool without leaving the back office.
- Out-of-process extensibility (OOPE) modules. Commerce-side modules that let external services extend behavior without changing core code. Adobe says these are included by default on Adobe Commerce as a Cloud Service; on cloud infrastructure and on-premises you install them per Adobe's instructions.
- API Mesh. A related Adobe service that combines several APIs into one GraphQL endpoint. It lives in the App Builder family and is covered in our API Mesh for Adobe Commerce guide.
The rule of thumb from Adobe's own webhook docs is useful: create a webhook only when synchronous communication is critical. If the store can carry on and catch up later, use events.
In-process vs out-of-process: the comparison
Most Commerce teams will run both models for years. The question is which one fits each piece of custom work. This table compares them on the points that matter in practice.
| Factor | In-process (PHP module) | Out-of-process (App Builder) |
|---|---|---|
| Where code runs | Inside Commerce, same PHP process and server | On Adobe I/O Runtime or another external service |
| Language | PHP, plus layout XML, templates and JavaScript | JavaScript/Node.js actions are the norm on I/O Runtime |
| Access to internals | Full: plugins, observers, preferences, layout, database | Only what APIs, events, webhooks and the Admin UI SDK expose |
| Upgrade impact | Must be tested and often patched for each Commerce upgrade | Decoupled; mainly affected by API or event contract changes |
| Failure isolation | A fatal error can break pages or checkout | Failures stay in the app; events can be retried |
| Latency | No network hop | Network call per interaction; matters for synchronous webhooks |
| Scaling | Scales with the Commerce servers | Scales independently of the store |
| Hosting and access | Your Commerce hosting | Adobe-hosted; requires App Builder access under your Adobe agreement |
| Best suited to | Storefront rendering, core behavior changes, deep data model changes | Integrations, background jobs, admin tools, isolated business rules |
If you are still deciding how to change core behavior in PHP, our explainer on Magento plugins vs observers covers the in-process side in detail.
Use-case fit list
Adobe's own guidance names third-party integrations (CRM, marketing automation), intensive processing (data analysis, image processing) and microservices (search, recommendations) as ideal out-of-process candidates, and lists checkout customization, new payment gateways and product display logic as typical in-process work. Here is a more detailed fit list based on how those jobs behave.
Strong fit for App Builder
- ERP, CRM and OMS integrations. Order export, customer sync, shipment updates. Events trigger the work; the app handles retries and mapping. Our Magento ERP integration guide covers the data flows.
- Marketing and analytics feeds. Sending order or customer events to email, loyalty or data platforms.
- Heavy processing. Image transformation, catalog enrichment, AI calls for product content, report generation.
- Admin tools. Custom approval screens, data dashboards or bulk actions added through the Admin UI SDK.
- Isolated business rules called in real time. Shipping rate calculation, payment validation or stock checks through webhooks, where the rule lives in another system anyway.
- Logic shared across channels. Code that a mobile app, marketplace connector and the store all need.
Poor fit (keep in-process)
- Storefront templates and layout. Adobe says not to build new blocks and components for native Luma or Base templates out-of-process.
- Deep changes to core models. Altering how prices, quotes or indexers work internally usually needs PHP plugins.
- Very latency-sensitive paths. Logic that would run on every product listing or every cart update, where a network round trip adds up.
- Anything the APIs and events do not expose. If there is no event or webhook for the moment you need, out-of-process code cannot see it.
Hybrid (both together)
- A thin PHP module adds an attribute or an event; App Builder does the heavy work.
- A real-time webhook validates something at checkout, while an asynchronous event handles the follow-up sync.
- Cases where API coverage is incomplete, which Adobe explicitly lists as a hybrid scenario.
Where App Builder fits by deployment type
How App Builder feels depends on how you run Commerce:
- Adobe Commerce as a Cloud Service (SaaS). Out-of-process is the main way to customize. You cannot install arbitrary PHP modules, so App Builder, webhooks, events and API Mesh carry most custom logic. Our explainer on Adobe Commerce as a Cloud Service covers what changes.
- Adobe Commerce on cloud infrastructure or on-premises (PaaS). You can use both models. App Builder is a choice per feature, not a requirement.
- Magento Open Source. App Builder and Adobe's Commerce eventing tools are aimed at Adobe Commerce customers. Check what your licence includes before planning around them; Open Source stores usually rely on PHP modules and their own middleware instead.
Access and quotas for App Builder depend on your Adobe agreement. Confirm entitlement with your Adobe account team before you design an architecture that depends on it.
How an App Builder project usually runs
- Map the trigger. Decide which Commerce event, webhook or schedule starts each flow, and whether the shopper must wait for it.
- Check API coverage. Confirm the data you need is available through REST, GraphQL or event payloads. Gaps here decide whether you need a hybrid approach.
- Start from a starter kit. Adobe publishes starter kits (for example for back-office integrations and checkout) with scaffolding and examples. They speed up structure but do not replace your own design.
- Design for failure. Plan retries, idempotency (handling the same event twice safely), logging and alerts. Out-of-process code fails quietly if nobody watches it.
- Secure the connection. Use the authentication Adobe documents for Commerce APIs and Developer Console credentials. Keep secrets out of code.
- Deploy through App Management and promote across stage and production like any other release.
Common mistakes
- Moving everything out of process. A storefront tweak rebuilt as a webhook adds latency and complexity for no gain.
- Using webhooks where events would do. Every synchronous call is a dependency in the shopper's path. If the external system is slow, checkout is slow.
- No monitoring. Serverless actions do not show errors in the Commerce Admin by default. Add alerting from day one.
- Ignoring data volumes. Bulk catalog or stock updates may be better handled by the asynchronous bulk REST endpoints than by one call per item.
FAQ
Does App Builder replace Magento extensions?
No. It replaces some of them. Integrations and back-office logic move well; storefront and core behavior changes usually stay as PHP modules, at least on PaaS.
Is App Builder only for Adobe Commerce as a Cloud Service?
No. Adobe documents it for cloud infrastructure and on-premises Adobe Commerce too, with OOPE modules installed separately. On the Cloud Service it is simply more central, because in-process customization is limited.
What language do App Builder apps use?
Actions on I/O Runtime are typically written in JavaScript for Node.js, and admin screens use React-based front ends. Your Commerce PHP skills still matter for the Commerce side of any hybrid design.
Next steps
If you are planning new custom features, start by listing each one and placing it in the fit list above. Mistri builds both in-process modules and App Builder apps; our Magento extension development page explains how we scope that choice, and our headless Adobe Commerce services cover App Builder and API Mesh in decoupled builds.
Sources
Adobe Developer: Commerce extensibility overview; Adobe Developer: Extensibility in Adobe Commerce (in-process vs out-of-process use cases); Adobe Developer: Adobe Commerce webhooks; Adobe Developer: Out-of-process extensibility modules. Checked November 2026.


