---
title: "Academy App"
canonical_url: "https://academy.laioutr.com/en/apps/connect-magento-2"
locale: en
meta:
  "og:title": "Academy App"
---

[Go to home](https://academy.laioutr.com/en)

- [Apps](https://academy.laioutr.com/en/bereiche/apps)

- [Commerce platforms](https://academy.laioutr.com/en/leitfaeden/commerce-platforms)

- [Connect Magento 2](https://academy.laioutr.com/en/apps/connect-magento-2)

In preparation

# Connect Magento 2

The app for Magento 2 and Adobe Commerce connects the store to Laioutr through the GraphQL API. It supplies categories, menu, products, variants with stock and tier prices, and adds items to the cart.

## Before you start

<dl>

<dt>Plan</dt>
<dd>Any Laioutr plan plus a Magento 2 or Adobe Commerce instance</dd>

<dt>Role</dt>
<dd>Developer role on the environment</dd>

<dt>Duration</dt>
<dd>10 min</dd></dl>

### Prerequisites

- Reachable GraphQL API at /graphql
- Integration or admin token with catalogue and cart permissions

Last reviewed on October 15, 2026

Connects Magento 2 and Adobe Commerce through the GraphQL API: categories with SEO data and menu, products by URL key, product lists with filters and sorting, variants with stock and tier prices, adding items to the cart, images in matching sizes.

[Developer documentation](https://docs.laioutr.com/apps/app-docs/adobe-commerce)

## How it works

1. Make the GraphQL API reachable at /graphqlWhere: Magento server · Role: Magento developer · Duration: 10 min
2. Create an integration with catalogue and cart permissionsWhere: Magento admin · Role: Shop admin · Duration: 10 min
3. Install the app from the catalogueWhere: Laioutr Cockpit, Apps · Role: Developer · Duration: 2 min
4. Enter, test and save values under ConfigurationWhere: Laioutr Cockpit, Configuration · Role: Developer · Duration: 5 min
5. Deploy the environment and check data in StudioWhere: Laioutr Cockpit and Studio · Role: Developer, content manager · Duration: 10 min

## Configuration

| Field | Purpose | Where to find it | Required | Per environment |
| --- | --- | --- | --- | --- |
| `baseURL` | Base URL of the instance without trailing slash; the GraphQL endpoint is built from it. | Store address, for example https://shop.example.com. | Yes | Yes |
| `consumerKey` | OAuth consumer key of the integration. | Magento admin, integration. | Yes | Yes |
| `consumerSecret` | OAuth consumer secret of the integration. | Magento admin, integration. | Yes | Yes |
| `accessToken` | Bearer token for all GraphQL requests, with catalogue and cart permissions. | Magento admin, integration or admin token. | Yes | Yes |
| `accessTokenSecret` | OAuth access token secret of the integration. | Magento admin, integration. | Yes | Yes |
| `imagesConfig` | Image sizes for small images and thumbnails, optionally with size probing. | Project decision, default 1000 x 1000 and 600 x 600. | No | Yes |

## Common errors

<dl>

<dt>Pages report CATEGORY_NOT_FOUND or PRODUCT_NOT_FOUND.</dt>
<dd>**Cause:** No category or product exists for the URL key.</dd>
<dd>**Fix:** Check the URL key in the Magento admin and correct the link.</dd>

<dt>Items cannot be added to the cart.</dt>
<dd>**Cause:** The access token lacks cart permissions.</dd>
<dd>**Fix:** Extend the integration permissions and enter the token again.</dd>

<dt>Product images look blurry or badly cropped.</dt>
<dd>**Cause:** The image sizes in imagesConfig do not match the images in the store.</dd>
<dd>**Fix:** Adjust the sizes or enable size probing.</dd>

<dt>New credentials have no effect on the storefront.</dt>
<dd>**Cause:** Saved settings only apply from the next deployment of the environment.</dd>
<dd>**Fix:** Rebuild the environment with Deploy.</dd></dl>

Magento 2 and Adobe Commerce share the same GraphQL API. The **Adobe Commerce** app uses it to connect the store as the commerce backend of Laioutr and maps the data through Orchestr into the unified data model.

The app reads categories with description, image and SEO data and builds the menu from them. Products come by their URL key, product lists per category with filters, sorting and pagination. For configurable products it supplies variants with stock, options and tier prices. Items reach the cart through the app, which creates the cart automatically when needed. In Studio, categories are offered as templates for menus and product lists.

Images arrive from the store in several sizes, and image delivery picks the matching one. Teams moving from an existing Magento frontend keep Magento as the leading system for catalogue and orders while Laioutr takes over the frontend.

## Step by step

1. 1 ### Step 1: Check the GraphQL API

   Make sure the store GraphQL API is reachable at the base URL with the path `/graphql`.
2. 2 ### Step 2: Create an integration

   Create an integration with catalogue and cart permissions in the Magento admin and note its credentials: consumer key, consumer secret, access token and access token secret.
3. 3 ### Step 3: Install the app

   In Cockpit under **Apps**, add the Adobe Commerce app to the project with **Install** in the **Ecommerce** tab.
4. 4 ### Step 4: Enter and test the values

   Open **Configuration** in the environment menu, enter the values, check them with **Test connection** and store them with **Save settings**.
5. 5 ### Step 5: Deploy and check

   Rebuild the environment with **Deploy**, then check in Studio that products and categories appear in the preview.

## Check the result

The connection test reports success, the menu shows the Magento categories, the product detail page shows variants with stock, and a test item can be added to the cart.

## Frequently asked questions

Does the app cover Magento Open Source and Adobe Commerce?

Yes. Both editions use the same GraphQL API; the app is listed as Adobe Commerce in the catalogue.

Are multiple store views supported?

Yes. Through the store code, the app routes requests to the right store. The development team sets this up.

What does PRODUCT\_NOT\_FOUND mean?

No product exists for the requested URL key. Check the URL key in the Magento admin. The same applies to categories with CATEGORY\_NOT\_FOUND.

## Related

- [Find, install and configure apps](https://academy.laioutr.com/en/artikel/find-install-and-configure-apps)6 min

  Apps are listed in the Cockpit catalogue under Apps, installed per environment and set up under Configuration. The storefront uses them from the next deployment onwards.
- [Enter credentials and test the connection](https://academy.laioutr.com/en/artikel/enter-credentials-and-test-the-connection)5 min

  App credentials are entered per environment under Configuration, checked with Test connection and stored with Save settings. They take effect with the next deployment.
- [Check live data in Studio](https://academy.laioutr.com/en/artikel/check-live-data-in-studio)5 min

  The Studio preview shows real data from connected apps. On dynamic pages such as the product detail page, the Preview Data field selects which product the preview shows.
- [Set up product listings with filters and sorting](https://academy.laioutr.com/en/artikel/set-up-product-listings-with-filters-and-sorting)6 min

  A product listing is built in Studio from the Product Listing Grid, the Filter Bar and the sort selector; products, filters and sort options come from the connected commerce app through Orchestr. Which filters appear depends on what the backend provides.

## [Commerce platforms](https://academy.laioutr.com/en/leitfaeden/commerce-platforms)

Search this guide

1. [Connect Shopify](https://academy.laioutr.com/en/apps/connect-shopify)10 min
2. [Connect Shopware with the checkout plugin](https://academy.laioutr.com/en/apps/connect-shopware-with-the-checkout-plugin)12 min
3. [Connect VTEX](https://academy.laioutr.com/en/apps/connect-vtex)8 min
4. [Connect Sylius](https://academy.laioutr.com/en/apps/connect-sylius)8 min
5. [Connect JTL-Wawi](https://academy.laioutr.com/en/apps/connect-jtl-wawi)8 min
6. [Connect B2B Sellers for Shopware](https://academy.laioutr.com/en/apps/connect-b2b-sellers-for-shopware)8 min
7. [Connect Magento 2](https://academy.laioutr.com/en/apps/connect-magento-2)10 min In preparation

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://academy.laioutr.com/#website",
      "@type": "WebSite",
      "inLanguage": "en",
      "name": "Default",
      "url": "https://academy.laioutr.com/",
      "translationOfWork": {
        "@id": "https://academy.laioutr.com/#website"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#webpage",
      "name": "Academy App",
      "url": "https://academy.laioutr.com/en/apps/connect-magento-2",
      "@type": [
        "WebPage",
        "FAQPage"
      ],
      "breadcrumb": {
        "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#breadcrumb"
      },
      "isPartOf": {
        "@id": "https://academy.laioutr.com/#website"
      },
      "mainEntity": [
        {
          "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#/schema/question/1"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#/schema/question/2"
        },
        {
          "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#/schema/question/3"
        }
      ],
      "potentialAction": [
        {
          "@type": "ReadAction",
          "target": [
            "https://academy.laioutr.com/en/apps/connect-magento-2"
          ]
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#breadcrumb",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "name": "Home",
          "item": "https://academy.laioutr.com/en",
          "position": 1
        },
        {
          "@type": "ListItem",
          "name": "Apps",
          "item": "https://academy.laioutr.com/en/bereiche/apps",
          "position": 2
        },
        {
          "@type": "ListItem",
          "name": "Commerce platforms",
          "item": "https://academy.laioutr.com/en/leitfaeden/commerce-platforms",
          "position": 3
        },
        {
          "@type": "ListItem",
          "name": "Connect Magento 2",
          "item": "https://academy.laioutr.com/en/apps/connect-magento-2",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#/schema/question/1",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Does the app cover Magento Open Source and Adobe Commerce?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>Yes. Both editions use the same GraphQL API; the app is listed as Adobe Commerce in the catalogue.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#/schema/question/2",
      "@type": "Question",
      "inLanguage": "en",
      "name": "Are multiple store views supported?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>Yes. Through the store code, the app routes requests to the right store. The development team sets this up.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/en/apps/connect-magento-2#/schema/question/3",
      "@type": "Question",
      "inLanguage": "en",
      "name": "What does PRODUCT_NOT_FOUND mean?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>No product exists for the requested URL key. Check the URL key in the Magento admin. The same applies to categories with CATEGORY_NOT_FOUND.</p>"
      }
    }
  ]
}
```
