Magento Developers

Stop Building Storefronts. Start Orchestrating.

Goofre™ for Magento: The infrastructure to keep your clients' products visible and purchasable inside Gemini, Claude, and Copilot.

Your Magento store is not disappearing. But the storefront is. AI agents — Gemini, ChatGPT, Claude — are becoming the new product discovery layer. Goofre is the infrastructure that keeps your clients' products visible, trusted, and purchasable inside those agents. And as a Magento developer, you can own that entire layer for your clients.

The Problem: Google AI Mode Just Ate Your Storefront

If you've been watching what's happening to product discovery over the last 18 months, you already feel this. Consumers are asking Gemini "what's the best air fryer under £80" and getting a curated, ranked answer — with a "Buy" button — without ever visiting a website.

The products that appear in that answer aren't there by accident. They're there because their data is UCP-compliant — normalised into the format that Google's AI agents natively understand.

Here's the structural problem for your Magento clients: Getting UCP-compliant is becoming a platform checkbox. Shopify ships it natively. BigCommerce acquired Feedonomics for it. Adobe has a 4-phase roadmap. But staying trusted by AI agents is not a one-time event. It's an operational job:

  • Feed errors in Google Merchant Center knock products out of AI recommendations today
  • Inventory sync delays make the agent surface "out of stock" on products that are actually available
  • GTIN mismatches silently fail GMC validation, killing feed visibility
  • GSC indexing gaps mean products exist in the store but are invisible to Google AI Mode
  • Goofre is the operations layer that keeps your clients inside the AI's trust radius, every day, automatically. And Magento 2 / Adobe Commerce is one of the first platforms to get a full native adapter.

    What Goofre Actually Is (Skip the Marketing)

    Goofre is an open-source orchestration engineBSL 1.1, zero platform lock-in — that wires together the entire Google commerce stack (GMC, GA4, GSC, GBP, Google Ads) into a single, event-driven intelligence layer.

    It does not replace Magento. It does not replace Google Merchant Center. It sits between them and does three things:

    1. Normalises raw Magento data into UCP types — UCPProduct, UCPInventorySnapshot, UCPOrderEvent, UCPCartEvent — the schema that AI agents consume natively

    2. Validates that schema is conformant before it reaches GMC (catching the GTIN mismatches, stock inconsistencies, and pricing errors that cause feed disapprovals)

    3. Exposes that normalised data as callable tools to AI agents via UCP, MCP, and the A2A negotiation layer

    The result: your clients' Magento catalogues become a first-class citizen inside Gemini, Claude, and Copilot — not as scraped web pages, but as live, structured, queryable commerce data.

    The Architecture

    Goofre Open Source Architecture — four pillars: Google Commerce Stack → Goofre Core → Inference Layer → Developer Apps

    The four columns above are the entire mental model:

    Column 1 — Google Commerce Stack: GMC, GA4, Search Console, GBP. These are the silos your clients already pay for but barely use together.Column 2 — Goofre Open Source Engine: The ACO (Agentic Commerce Orchestrator) processes events from Magento and normalises them through the UCP Data Normaliser. The Intelligence API Gateway (SwitchboardOrchestrator) is the central router that everything flows through.Column 3 — Inference Layer: Gemini 1.5 Pro as the reasoning core. The Briefing Synthesiser generates structured intelligence outputs — not "here's your data", but "here's what you need to do right now."Column 4 — Developer Apps: This is where you ship value to clients. Custom dashboards, AI shopping agents, your own merchant command centre — built on top of the orchestrated data layer.

    Core Components You Need to Know

    Component
    What it does
    Why you care
    SwitchboardOrchestrator
    Central event bus. All data flows through here.
    One orchestrator.process(event) call routes everything correctly
    MagentoAdapterPlugin
    REST API sidecar for Magento 2 — reads products, MSI inventory, orders, carts, and fulfillment. HMAC-validated webhooks.
    Your native Magento entry point. Read-only — Magento stays the merchant of record
    UCP Schema v1.2
    TypeScript interfaces: UCPProduct, UCPInventorySnapshot, UCPOrderEvent, UCPCartEvent, UCPIdentityLink, UCPLocalInventoryExtension
    The output contract everything downstream consumes
    GTINEnricher
    GS1 GTIN-8/12/13/14 validation + checksum
    Invalid GTINs are the #1 cause of silent GMC feed disapprovals. Fix before sync
    PosSyncEngine
    Real-time POS/MSI inventory sync with BOPIS support
    Keeps inventory snapshots accurate for the A2A negotiation layer
    A2AListener
    Agent-to-Agent negotiation layer
    When a Gemini shopping agent queries your client's stock with constraints, this is what responds
    MCP Server
    6 callable tools exposed to Claude, Copilot, and any MCP-compatible AI
    Multi-protocol coverage — not just Google's UCP
    WebhookProcessor
    HMAC signature validation for inbound events
    Secure ingestion of Magento order/inventory webhooks

    The Magento Integration Path

    > Key constraint to understand first: Goofre never writes to Magento. It reads via REST API and translates to UCP. Magento remains the merchant of record for all commerce data.

    Step 1 — Bootstrap in 2 Minutes

    `bash

    npx create-goofre-ucp my-client-aco

    cd my-client-aco

    cp .env.example .env

    npm start

    `

    Your admin dashboard is live at http://localhost:3000/admin. It ships with a zero-dependency SQLite database, mock data, and MockPaymentGateway so you can build and test the entire Agentic Commerce pipeline locally — no live GMC account needed.

    Or deploy directly to production:

    Deploy on Railway
    Deploy with Vercel

    Step 2 — Register the Magento Adapter

    `typescript

    import { SwitchboardOrchestrator } from '@goofre/core-engine';

    import { MagentoAdapterPlugin } from '@goofre/plugins';

    const orchestrator = new SwitchboardOrchestrator();

    orchestrator.registerPlugin(new MagentoAdapterPlugin({

    baseUrl: process.env.MAGENTO_BASE_URL, // e.g. 'https://shop.client.com'

    accessToken: process.env.MAGENTO_ACCESS_TOKEN, // Magento Integration Token

    storeViewCode: 'default',

    webhookSecret: process.env.MAGENTO_WEBHOOK_SECRET, // For HMAC validation

    }));

    `

    The adapter handles:

  • Configurable products → flat variant expansion (Magento's grouped/configurable types normalised to individual UCPProduct entries)
  • MSI inventory (Multi-Source Inventory) → UCPInventorySnapshot with per-source stock levels
  • Magento ordersUCPOrderEvent with idempotency keys (AP2 conformance)
  • Cart eventsUCPCartEvent with optional identityLink for loyalty pricing passthrough
  • Step 3 — Subscribe to Normalised Outputs

    `typescript

    // Every Magento product change becomes a UCP event

    orchestrator.on('product', (product: UCPProduct) => {

    // product.ucpId: 'magento::12345'

    // product.gtin: validated GS1 checksum via GTINEnricher

    // product.price, inventory, status — all normalised

    console.log('Synced to GMC:', product.title);

    });

    orchestrator.on('inventory', (snapshot: UCPInventorySnapshot) => {

    // snapshot.localInventory — per-store BOPIS availability (RFC #375)

    // Perfect for clients with physical locations doing click & collect

    });

    orchestrator.on('order', (order: UCPOrderEvent) => {

    // order.idempotencyKey — prevents double-processing on webhook retries

    });

    `

    Step 4 — Validate GTIN Before GMC Sync

    This is the step 90% of Magento integrations skip, and it's why feeds silently fail:

    `typescript

    import { GTINEnricher } from '@goofre/core-engine';

    const enricher = new GTINEnricher();

    // Before pushing any product to GMC:

    const result = enricher.validate('0614141000036'); // GS1 checksum

    // result.valid: true | false

    // result.format: 'GTIN-13'

    'GTIN-12'
    'GTIN-8'
    'GTIN-14'

    // result.error: 'Invalid checksum'

    'Unknown format'
    null

    `

    Goofre's CI pipeline runs 26 UCP conformance tests (mirrored from the official Universal-Commerce-Protocol/conformance baseline) that catch schema errors before they reach production.

    Step 5 — Expose to AI Agents via MCP Server

    `json

    // Add to Claude Desktop / Copilot config

    {

    "mcpServers": {

    "goofre-client": {

    "command": "node",

    "args": ["./node_modules/@goofre/mcp-server/dist/index.js"],

    "env": { "GOOFRE_PLUGIN_ID": "magento" }

    }

    }

    }

    `

    This exposes 6 callable tools to any MCP-compatible AI:

    MCP Tool
    What the AI can do
    goofre_get_product
    Retrieve and normalise any Magento product by SKU
    goofre_get_inventory
    Get live stock snapshot across all MSI sources
    goofre_process_order
    Process Magento order lifecycle events
    goofre_process_cart
    Create/update cart with identity linking for loyalty
    goofre_query_local_inventory
    Per-store BOPIS / curbside pickup availability
    goofre_negotiate_commerce_intent
    Full A2A intent negotiation with constraints

    The A2A Layer: When a Gemini Agent Queries Your Client's Stock

    This is where the architecture becomes genuinely new. The A2AListener lets any upstream AI agent — a Gemini shopping agent, a procurement bot, a voice assistant — submit a high-level CommerceIntent and receive a structured response:

    `typescript

    import { A2AListener, SwitchboardOrchestrator } from '@goofre/core-engine';

    const orchestrator = new SwitchboardOrchestrator();

    const listener = new A2AListener(orchestrator, {

    defaultPluginId: 'magento',

    });

    // A Gemini Shopping Agent asks: "Is this available for pickup in Brooklyn?"

    const response = await listener.receiveIntent({

    intentId: 'gemini-query-abc-123', // idempotent — safe to retry

    intentType: 'check_inventory',

    agentId: 'gemini-shopping-agent-v2',

    payload: { productId: 'SKU-001', locationId: 'store-brooklyn' },

    constraints: {

    requirePickupAvailable: true, // BOPIS required

    requiredChannel: 'local',

    maxPrice: { amount: 80, currency: 'GBP' },

    },

    });

    // response.status: 'fulfilled'

    'partial'
    'rejected'

    // response.payload: normalised UCPInventorySnapshot

    // response.alternatives: fallback options when constraints can't be met

    // response.reason: why partial/rejected (shown to the AI, not the user)

    `What this means in practice: Your client's Magento store becomes an intelligent supplier that AI agents can negotiate with, not just scrape. A fulfilled response gets the product surfaced in AI recommendations. A partial response returns the best alternative. A rejected response includes a machine-readable reason — "no BOPIS-capable locations within range" — that the upstream AI can relay to the user.

    The Merchant PWA: What Your Client Actually Sees

    Goofre Enterprise ships with a mobile-first command centre (the Merchant PWA) — a React Progressive Web App that your client installs on their phone and uses as their live commerce intelligence dashboard.

    No GMC login. No GA4 report. One screen, one voice interface, one decision queue.

    The Dashboard — 2×2 Bento Grid

    carousel
    Goofre Merchant Dashboard — 2×2 Bento Grid: Operations, Sales, Marketing, Retention tiles with live alert counts and the Voice Orb at the bottom centre
    Sales Actions — Action cards showing signal source (Index-to-Sales Parity), ROI tag (+$450 Recovery), Show Reasoning accordion, and Approve/Dismiss buttons
    Retention Actions — Win-back trigger card: 32% LTV Uplift tag, Distribute and Archive CTAs. Voice Orb visible at bottom.
    Operations Actions — Live feed indicator (green pulse), GTIN Paradox Tier 3 resolution card with Resolve/Ignore CTAs
    Marketing Actions — Search signal expansion card, Summer Sale PMax campaign launch with +15% Impressions ROI tag

    The Four Tiles Explained

    Each tile is a department entry point — tapping it reveals that department's action queue:

    Tile
    B2C (Retail)
    B2B (Wholesale)
    Alert Colour
    Operations
    Inventory sync health, GMC feed status
    Open POs, MOQ violations
    Amber
    Sales
    Revenue gap detection, Zombie SKUs
    Tier-break opportunities, contract pricing
    Red
    Marketing
    GSC signal expansion, PMax triggers
    Distributor reorder patterns
    Indigo
    Retention
    Churn risk cohorts, win-back triggers
    KYB verification queue, Net Terms blocks
    Orange

    The tiles pull live data from reactiveSync.hydrateFromOpenSource() — Goofre's event-driven hydration engine that syncs intelligence from the OS. Alert badges on each tile are real counts, not placeholder numbers.

    The Action Card — The Core UX Pattern

    Every intelligence output in Goofre surfaces as an Action Card. This is the most important design decision in the entire PWA:

    What you see on the card:
  • SIGNAL SOURCE (top-left, small caps) — e.g. INDEX-TO-SALES PARITY or A2ALISTENER — MOQ GATE
  • ROI TAG (top-right chip) — e.g. +$450 Recovery or 32% LTV Uplift
  • Title (bold, action-oriented) — the specific thing to decide on
  • SHOW REASONING accordion — expand to see signal, theory, and decision rationale
  • Primary CTA (solid indigo button) — Approve, Distribute, Launch, Resolve
  • Secondary CTA (ghost text) — Dismiss, Archive, Draft
  • The reasoning model is explicit: every AI recommendation shows why it was generated — the data signal (GSC index parity violation, GA4 churn threshold, A2A constraint failure), the theory (which heuristic fired), and the recommended decision. Your client is never just clicking Approve on a black box.

    The Voice Orb — Six States

    The Voice Orb floats at the bottom centre of the PWA. It's the merchant's primary interaction method — tap to ask, listen to the briefing:

    `

    States:

    idle → Purple gradient, ring-4 ring-white

    listening → Scale-110, emerald ring, animated waveform bars

    processing → Loader2 spinner, processing state

    speaking → Scale-110, emerald, "Zara responding..." label above orb

    sentinel → Scale-105, amber ring, pulse-amber animation (always-on mode)

    error → Scale-105, red-500 background, error message badge

    `

    In Sentinel Mode (hold the eye icon), Goofre runs a persistent background listener — the orb pulses amber and the system proactively speaks alerts when new triage items arrive, without the merchant needing to tap.

    What "Edge Sovereign Mode" means: If the SaaS connection drops, the orb switches to a blue "sovereign" gradient and the label EDGE SOVEREIGN MODE appears. The PWA continues functioning with cached intelligence — decisions can still be made, actions still queued for sync when the connection restores.

    B2B Mode — One Config Change

    The entire PWA is dual-mode. For wholesale/manufacturer clients:

    `typescript

    // B2C retail merchant (default)

    // B2B manufacturer / wholesaler

    `

    One config change. No code forking. Every layer — dashboard tiles, action cards, voice briefings, API calls — adapts automatically. The B2B Mode badge appears in the header. Operations tile becomes "Supply Chain". Sales tile becomes "Accounts". The A2A layer enforces MOQ gates and Net Terms checks on incoming procurement intents.

    What You Can Build for Your Magento Clients

    Goofre is primitives, not a locked product. Here's the realistic build path:

    Tier 1 — Start Here (4–6 hours to deploy)

    Product Feed Health Monitor
  • Register MagentoAdapterPlugin + GTINEnricher
  • Surface GMC feed validation errors as UCPInsight events
  • Deliver as a weekly automated report to your client
  • This alone is a defensible retainer service. Most Magento merchants have no visibility into which SKUs are failing GMC validation and why.

    Tier 2 — Add Intelligence (1–2 weeks)

    Client Command Centre (Merchant PWA)
  • Deploy the Goofre Enterprise PWA for your client
  • Wire their GMC, GA4, and Magento data into the orchestration layer
  • Configure the Voice Orb with their merchant ID
  • Add their brand to the Shell component header
  • Your client stops logging into 4 Google tools. They talk to one interface that already knows what needs attention.

    Tier 3 — Build the Agentic Layer (2–4 weeks)

    Agentic Supply Chain (B2B clients)
  • Enable A2AListener with requireMOQ: true and requireNetTerms: true
  • Implement tiered pricing plugin against their ERP (SAP/NetSuite REST)
  • Their distributors' AI agents can now submit procurement intents with budget and MOQ constraints — fulfilled automatically, rejected with alternatives when constraints fail
  • `typescript

    // A distributor's procurement agent submits a bulk order intent

    const response = await listener.receiveIntent({

    intentId: 'po-abc-123',

    intentType: 'initiate_cart',

    agentId: 'procurement-bot-v1',

    businessId: 'CORP-AMAZON-001',

    payload: { productId: 'SKU-BULK', quantity: 100 },

    constraints: {

    requireMOQ: true,

    requireNetTerms: true,

    authorizedBudget: { amount: 10000, currency: 'USD' }

    }

    });

    // response.status: 'fulfilled' — volume tier pricing applied, Net 30 confirmed

    `

    The API Deprecation You Cannot Ignore

    > ⚠️ August 18, 2026 — Content API for Shopping retires. Every Magento client using legacy GMC product feeds needs a migration. Goofre's GoogleMerchantPlugin v2.0 already runs on the new Merchant API v1.

    If you're using the old Content API v2.1 endpoints, they stop working in under 4 months. Goofre's migration path: register GoogleMerchantPlugin v2.0, which handles the new Merchant API endpoint structure and authentication automatically. Google's migration guide →

    The UCP Conformance Gate

    Goofre ships with a CI-blocking conformance suite — 26 tests across 5 categories, mirrored from the official Universal-Commerce-Protocol/conformance baseline (2026-01-23):

    `bash

    npm run test:conformance # Run the UCP conformance suite locally

    npm run validate:conformance # Conformance + full test suite

    `
    Category
    What it guards
    schema_test
    Required fields, ISO 4217 currency, status enum
    idempotency_test
    idempotencyKey on orders and carts (AP2 mandate)
    fulfillment_test
    localInventory BOPIS fields, storeId/locationId consistency
    ap2_test
    idempotencyKey is top-level, not nested (AP2 mandate)
    protocol_test
    ucpId format, dual-timestamp consistency, inventory math

    If your orchestrator fails this gate, it cannot reach production. This is not optional — the CI build job blocks on conformance failures. It's what makes Goofre a trustworthy foundation for client work, not just another integration wrapper.

    The Business Model: ACO Operator Economics

    This is where the Magento developer path gets specific. Goofre turns custom integrators into Agentic Commerce Orchestrators — managing the agentic trust score for 3–5 merchants at a time, billed as a recurring retainer.

    Tier
    SaaS Pricing
    Target Client
    Starter
    Free
    ≤ 100 SKUs — small Magento stores
    Growth
    $29/mo
    ≤ 1,000 SKUs
    Pro
    $79/mo
    ≤ 5,000 SKUs — mid-market Magento
    Scale
    $149/mo
    ≤ 10,000 SKUs
    Enterprise
    Custom
    10,000+ SKUs — Adobe Commerce

    As an ACO Operator, you manage the Goofre instance for your clients and bill the retainer on top. The ACO Collective also runs a 30% recurring rev share on direct operator referrals and an 80% marketplace keep rate on proprietary adapters you build and list.

    Technical Quick Reference

    Environment Variables

    `bash

    GOOGLE_CLIENT_ID=

    GOOGLE_CLIENT_SECRET=

    GMC_MERCHANT_ID=

    MAGENTO_BASE_URL=https://shop.client.com

    MAGENTO_ACCESS_TOKEN= # Magento Integration → Access Token

    MAGENTO_WEBHOOK_SECRET= # For HMAC validation on inbound webhooks

    GA4_MEASUREMENT_ID= # Feeds behavioural signals into UCPInsight

    GOOGLE_ADS_DEVELOPER_TOKEN= # Automated campaign sync

    `

    Docker Dev Environment

    `bash

    docker compose up # Everything — mock server + core engine in watch mode

    docker compose up mock-server # Lightest — perfect for frontend dev without live GMC

    docker compose up --build # Rebuild after package changes

    `

    Package Structure

    `

    agentic_commerce_orchestrator_ACO/

    ├── packages/

    │ ├── core-engine/ # @goofre/core-engine — SwitchboardOrchestrator, A2AListener, PosSyncEngine

    │ ├── plugins/ # @goofre/plugins — MagentoAdapterPlugin, GoogleMerchantPlugin v2.0

    │ ├── mcp-server/ # @goofre/mcp-server — 6 MCP tools for Claude/Copilot/Gemini

    │ └── mock-server/ # @goofre/mock-server — zero-key local dev

    └── tests/

    ├── unit/ # 70 unit tests

    ├── integration/ # End-to-end integration tests

    └── conformance/ # 26 UCP Conformance Gate tests

    `

    What's Shipping Next (v2.x — Q3 2026)

    These are the items directly relevant to Magento developers:

  • Magento 2 source plugin (community) — expanded REST API coverage, REST order webhooks → UCPOrderEvent
  • Multi-LLM CompatibilityLLMAdapterInterface to swap Gemini for Claude or GPT-4o without changing ACO logic
  • OAuth 2.0 Identity Middleware — wiring UCPIdentityLink to Magento customer accounts for loyalty pricing passthrough
  • UCPInsight Engine — AI-powered GMC feed diagnostics with one-click fix suggestions for the most common Magento data quality issues
  • Where to Start

    1. Two-minute bootstrap: npx create-goofre-ucp my-client-aco

    2. Read the Magento adapter guide: docs/guides/magento-adapter.md

    3. Full technical README: github.com/goofre-opensource/agentic_commerce_orchestrator_ACO

    4. Talk to the team: discord.gg/goofre

    5. Apply as an ACO Operator: goofre.com/magento-developers

    Goofre is licensed under BSL 1.1. You can read, modify, and use it to orchestrate commerce for your clients. You cannot offer it as a competing managed service. On March 14, 2030, the code converts automatically to Apache 2.0.Built with ❤️ by the Goofre team — goofre.com