Shopify
ConnectedInstalledCommerce · Shopify Inc. · v2.0.0 · manifest schema 1.0
The storefront connector, and the third with a full runtime. A company in the portfolio that sells something reaches its catalogue, orders, customers and inventory through here, and completed workflows can publish products, adjust stock or fulfil an order. It is the first hop in the brief's canonical fan-out chain, and the ordering is derived from its category rather than written into the topic. It authenticates as an OAuth app because it acts on a merchant's behalf rather than as the platform — which is also why the app type, and the resources one connection may touch, are the settings that matter most on it.
- Last sync
- 2h ago
- Health
- 88/100
- Rate ceiling
- 120/min
- Webhooks
- supported
Add to the estate and begin the authentication handshake. Every operation is a state transition inside AI-EOS — no external service is contacted.
Provider Runtime
37/37 servedImplements all thirty-seven capabilities the Shopify manifest declares across products, collections, orders, customers, inventory, locations, discounts, draft orders, gift cards, fulfilment, shipping, markets, metafields, files, online-store content, themes, apps and analytics; validates the seven configuration fields the commerce category defines; enforces the operator's resource narrowing per operation; counts what the store holds; and declares the topics, workflow actions, graph entities, insights, metrics and agent archetypes this connector offers the rest of the platform. Operations are described rather than performed — the request shape, the returned figures and the topics raised are the ones a real implementation has.
- Publish product
catalogue.writeMakes a product visible on a sales channel, from a completed workflow or an agent.
Reads:storeDomaincurrencyRaises:shopify.product.updated - Read orders
order.readIngests orders with their line items, financial status and fulfilment state.
Reads:storeDomaincurrencytimezoneRaises: nothing - Synchronise inventory
inventory.syncReconciles stock levels in both directions and reports what diverged.
Reads:storeDomainsyncFrequencyretryLimitRaises:shopify.sync.completedshopify.inventory.changed - Read customers
customer.readPulls customer records, their addresses and their order counts for department boards.
Reads:storeDomainenabledResourcesRaises: nothing - Read products
product.readLists products in scope with their variants, options and published state.
Reads:storeDomainenabledResourcesRaises: nothing - Write product
product.writeCreates or amends a product, its variants, its options and its pricing.
Reads:storeDomaincurrencyRaises:shopify.product.createdshopify.product.updated - Archive product
product.archiveRetires a product from sale while keeping every order that referenced it readable.
Reads:storeDomainRaises:shopify.product.updated - Read collections
collection.readManual and automated collections, and the rules that populate the automated ones.
Reads:storeDomainenabledResourcesRaises: nothing - Write collection
collection.writeCreates a manual or rule-driven collection, or moves a product into one.
Reads:storeDomainRaises: nothing - Write order
order.writeAmends an order, attaches a note or applies a tag before it ships.
Reads:storeDomaincurrencyRaises: nothing - Cancel order
order.cancelCancels an order, stating separately whether stock returns and whether money does.
Reads:storeDomaincurrencyRaises:shopify.order.cancelledshopify.inventory.changed - Write customer
customer.writeCreates or amends a customer record, its addresses and its marketing consent.
Reads:storeDomainRaises:shopify.customer.created - Tag customer
customer.tagApplies or removes segmentation tags without touching identity or consent.
Reads:storeDomainRaises: nothing - Read inventory
inventory.readStock levels per variant per location, as a point-in-time read.
Reads:storeDomainenabledResourcesRaises: nothing - Adjust inventory
inventory.adjustMoves one variant's stock at one location by a stated delta.
Reads:storeDomainRaises:shopify.inventory.changed - Read locations
location.readWarehouses, retail stores and pickup points that stock is held against.
Reads:storeDomainenabledResourcesRaises: nothing - Read discounts
discount.readPrice rules, their generated codes and how often each has been redeemed.
Reads:storeDomainenabledResourcesRaises: nothing - Write discount
discount.writeCreates a price rule or issues a code against one, from a campaign or a pricing agent.
Reads:storeDomaincurrencyRaises:shopify.discount.created - Read gift cards
giftcard.readIssued gift cards and their outstanding balances — an obligation, not revenue.
Reads:storeDomaincurrencyRaises: nothing - Issue gift card
giftcard.writeIssues or disables a gift card. The balance is an obligation, and is reported as one.
Reads:storeDomaincurrencyRaises: nothing - Read draft orders
draftorder.readQuotes and invoices not yet paid, for wholesale and assisted selling.
Reads:storeDomainenabledResourcesRaises: nothing - Write draft order
draftorder.writeBuilds a quote for wholesale or assisted selling, which becomes an order only when paid.
Reads:storeDomaincurrencyRaises: nothing - Read fulfilments
fulfilment.readShipments, their tracking numbers and their current delivery state.
Reads:storeDomainenabledResourcesRaises: nothing - Fulfil order
fulfilment.writeFulfils line items from a named location and attaches carrier tracking.
Reads:storeDomainRaises:shopify.order.fulfilledshopify.inventory.changed - Read shipping
shipping.readShipping zones, their rates and the profiles products are assigned to.
Reads:storeDomainenabledResourcesRaises: nothing - Read markets
market.readRegional markets, the currencies they price in and their catalogue overrides.
Reads:storeDomaincurrencyRaises: nothing - Read metafields
metafield.readCustom structured data attached to products, orders, customers or the shop itself.
Reads:storeDomainenabledResourcesRaises: nothing - Write metafield
metafield.writeWrites custom structured data onto a store resource. Where enrichment lands.
Reads:storeDomainRaises: nothing - Read store files
asset.readProduct imagery and theme assets held in the store's own file store.
Reads:storeDomainenabledResourcesRaises: nothing - Write store file
asset.writeUploads product imagery or replaces a theme asset in the store's own file store.
Reads:storeDomainRaises: nothing - Read pages
page.readOnline store pages, their handles and whether each is published.
Reads:storeDomainenabledResourcesRaises: nothing - Write page
page.writePublishes or amends an online store page.
Reads:storeDomainRaises: nothing - Read blog articles
blog.readBlogs, their articles and the tags each carries, for content auditing.
Reads:storeDomainenabledResourcesRaises: nothing - Write blog article
blog.writePublishes an article from generated or human-approved copy.
Reads:storeDomainRaises: nothing - Read themes
theme.readInstalled themes, which one is published and how its templates are structured.
Reads:storeDomainenabledResourcesRaises: nothing - Read installed apps
app.readThird-party apps installed on the store and the access scopes each holds.
Reads:storeDomainenabledResourcesRaises: nothing - Read analytics
analytics.readSessions, conversion and revenue reports the platform computes for the store.
Reads:storeDomaincurrencytimezoneRaises: nothing
- Store domainblocking
No store domain is set. Every operation resolves its endpoint from this field, so nothing can be dispatched until one is supplied.
- App typeadvisory
Installed as a Public OAuth app.
- Reporting currencyadvisory
No reporting currency is set. Monetary figures are reported with the currency stated as unset rather than assumed, because a figure formatted in the wrong currency looks correct and misstates every revenue number downstream of it.
- Store timezoneadvisory
Orders and revenue are attributed against the trading day in UTC.
- Sync frequencyadvisory
Reconciles every 15 minutes.
- Retry limitadvisory
An operation is attempted 3 times before it lands in the error queue.
- Enabled resourcesadvisory
No narrowing. Every resource the grant covers is reachable — narrow it here rather than in each caller.
- Credentialadvisory
The connection holds a credential the runtime would attach at dispatch.
A blocking failure stops the runtime dispatching and costs health points. The plugin states the fact; the Health Monitor prices it, alongside every other penalty.
- appType
- oauth Provider default — the operator has set no value.
- timezone
- UTC Provider default — the operator has set no value.
- syncFrequency
- 15m Provider default — the operator has set no value.
- retryLimit
- 3 Provider default — the operator has set no value.
Operator values over provider defaults. A blank field takes the default, which is declared by the plugin and printed here rather than hidden inside an operation.
Inventory
derivedWhat this connection holds on the far side, counted by the connector's own runtime — the Hub does not know what a repository is and does not learn. Figures are derived from the configured scope, not measured; narrowing the selection narrows them.
Platform Surface
declaredWhat this connector offers the other modules. Every line is a declaration — nothing below is projected, charted or executed yet. Each consuming module builds against the declaration when it is ready to, which is what lets a connector extend six modules without any of them naming it.
Inbound deliveries and outbound operations both raise these onto the internal bus. The Hub is the emitter — an external platform cannot reach the bus, which is what stops it raising arbitrary internal events.
- Product Created
shopify.product.createdA product entered the catalogue, by an agent through the gateway or by a merchant in the admin.
- Product Updated
shopify.product.updatedA product's content, pricing or published state changed. Every downstream channel holding a copy is now stale.
- Order Created
shopify.order.createdAn order was placed. Not yet money — see order.paid, which is the one revenue should follow.
- Order Paid
shopify.order.paidPayment settled. This is the topic a revenue figure is entitled to move on, and the reason it is separate from order.created.
- Order Fulfilled
shopify.order.fulfilledLine items shipped from a location, with tracking attached. Commits stock that was previously only reserved.
- Order Cancelled
shopify.order.cancelledAn order was cancelled. Whether stock returned and whether money returned are separate facts carried on the call.
- Inventory Changed
shopify.inventory.changedA stock level moved at a named location. Raised by adjustments, fulfilments and restocking cancellations alike.
- Customer Created
shopify.customer.createdA customer record was created. The root a lifetime-value figure eventually hangs from.
- Discount Created
shopify.discount.createdA price rule or code was created. The margin consequence is the Decision Engine's to notice, not this connector's.
- Webhook Received
shopify.webhook.receivedAn inbound delivery arrived and verified. Raised before it is interpreted, so an unrecognised payload is still visible.
- Sync Completed
shopify.sync.completedA reconciliation run finished. Always true of a run, unlike inventory.changed, which is true only when something moved.
Routed by the event bus alongside the platform's own topics. See the fan-out chains.
What a future workflow step can request. Several share one capability — the capability is what the gateway routes on, the action is what an operator building a workflow recognises.
- Create Product
product.writeCreates a product with its variants and pricing, from a completed workflow or an agent's proposal.
- Update Product
product.writeAmends an existing product. Same capability as create, different payload — see the note above this list.
- Archive Product
product.archiveRetires a product from sale while keeping every order that referenced it readable.
- Publish Product
catalogue.writeMakes a product visible on a sales channel. Resolves to the capability the manifest shipped with, which Company Management is already bound to.
- Generate Product Content
product.writeFiles generated copy onto a product. The generation itself is completion.create on an AI connector — a step wanting both asks the gateway twice.
- Adjust Inventory
inventory.adjustMoves one variant's stock at one location by a stated delta, with a reason recorded.
- Create Discount
discount.writeCreates a price rule or issues a code, from a marketing campaign or a pricing decision.
- Create Customer
customer.writeCreates a customer record with its addresses and marketing consent.
- Update Customer
customer.writeAmends an existing customer record. Identity and consent both live behind this capability.
- Tag Customer
customer.tagApplies segmentation tags without holding the ability to edit identity or consent. The split is the point.
- Create Draft Order
draftorder.writeBuilds a quote for wholesale or assisted selling. Becomes an order only when it is paid.
- Fulfil Order
fulfilment.writeFulfils line items from a named location and attaches carrier tracking.
- Cancel Order
order.cancelCancels an order. The restock and refund decisions are carried on the step rather than assumed by it.
Node kinds this connector would project. External entities enter the graph on exactly the terms internal ones do — the graph owns neither, and no database change is implied by any of it.
- Productroot node
product.readA root, not a child of a store — the same product line spans stores on a multi-store estate and would otherwise be duplicated per one.
- Collectionchild of product
collection.readHangs off products because a collection is a grouping of them. An empty collection is still a node — that it is empty is the finding.
- Orderroot node
order.readA root. An order references a customer and products but belongs to neither — it is the event that connects them.
- Customerroot node
customer.readA root, and a person-shaped one. The graph already holds two other person roots from other connectors; reconciling the three is its decision.
- Inventory Levelchild of product
inventory.readA quantity at a location for a variant. Modelled as a node rather than an edge property because it has its own history and its own location.
- Locationroot node
location.readA root. Warehouses and retail stores outlive the stock held in them and are referenced by fulfilments as well as inventory.
- Discountroot node
discount.readA root. A price rule applies across products and orders rather than belonging to either.
- Supplierchild of location
location.readDECLARED WITH A CAVEAT. Shopify has no supplier noun and no capability here can source one truthfully; this projects from locations, which stand in for stock origin on most merchants. A real supplier graph needs an ERP connector, not this one.
Advisory reads this connector's data would support. The Decision Engine sees one instant and stores no history, so each insight states whether it is instantaneous or needs a series.
- Inventory Risk
inventory.read · location.read · product.readInstantaneous. Stock concentrated in one location, or held against products with no recent orders, is a risk visible in a single snapshot.
- Low Stock Alert
inventory.read · product.readInstantaneous. A level below its threshold is a fact about now. What it is NOT is a reorder point, which needs the sales rate below.
- Sales Trend
order.read · analytics.readNeeds a series. Orders this cycle is meaningless without the cycles before it, and this module holds none of them yet.
- Product Performance
product.read · order.read · analytics.readNeeds a series. Ranking products by revenue is instantaneous; deciding one is UNDERPERFORMING is a comparison against its own past.
- Customer Lifetime Value
customer.read · order.readInstantaneous, narrowly. Historical spend per customer is carried on the customer record itself, so this reads a total rather than reconstructing one.
- Pricing Opportunity
product.read · discount.read · market.readInstantaneous. A product discounted below margin, or priced identically across markets with very different costs, is visible in one read.
- Abandoned Cart Insight
draftorder.read · customer.read · analytics.readNeeds a series. A single snapshot cannot tell an abandoned cart from one still being filled — only elapsed time distinguishes them.
- Revenue Forecast
order.read · analytics.read · market.readNeeds a series, and more of one than the others. A forecast is the shape this module is furthest from — it requires stored history and a model, not a rule.
Figures this connector would publish to the Intelligence Center. Each names the capability that supplies it, so a metric cannot be charted for a grant that does not cover the read behind it.
- Revenuecurrency
order.readSettled order value in the reporting currency. Follows order.paid rather than order.created — an unpaid order is not revenue.
- Ordersorders
order.readOrder count in the window. The denominator most of the other figures here divide by.
- Conversion Rate% of sessions
analytics.readSessions that became orders. The only figure here the platform computes rather than the connector counting it.
- Average Order Valuecurrency
order.readRevenue over orders. Reported alongside both rather than instead of either, because the average moves for two very different reasons.
- Top Productsproducts
product.readThe products carrying the revenue. A count of how many make up the bulk of it, which is a concentration risk as much as a success measure.
- Inventory Valuecurrency
inventory.readStock at cost. CAPITAL, not revenue — it belongs beside the revenue figure and must never be added to it.
- Customer Growthcustomers
customer.readNew customer records in the window. The leading indicator the revenue figure lags.
- Repeat Customers% of customers
customer.readCustomers with more than one order. Paired with growth deliberately — acquisition without retention is a figure that flatters.
- Refund Rate% of orders
order.readOrders refunded or cancelled with money returned. The correction every other revenue figure here needs applied to it.
- Store Healthscore
analytics.readA composite of the above. Distinct from the connector's own health score, which measures whether the Hub can reach the store — not whether the store is trading well.
Shapes of agent this connector was built for, and the capabilities each requests. Never a connector key — an agent that could name a connector could import one, and the Fleet's isolation would be a convention rather than a structure.
- Product Manager
product.read · product.write · product.archive · catalogue.write · collection.read · collection.write · metafield.writeOwns the catalogue end to end — creates, amends, groups, publishes and retires. The heaviest consumer of the catalogue write capabilities.
- Inventory Manager
inventory.read · inventory.adjust · inventory.sync · location.read · product.readReconciles stock and corrects it. Holds no catalogue write — moving stock and changing what a product IS are different jobs.
- Pricing Agent
product.read · product.write · discount.read · discount.write · market.read · analytics.readSets prices and promotions against market and performance data. Cannot issue gift cards — an obligation is not a price.
- Marketing Agent
discount.write · giftcard.write · customer.read · analytics.read · page.write · blog.writeRuns campaigns: codes, gift cards, landing pages and posts. Reads customers to segment, and cannot write one.
- SEO Agent
product.read · product.write · collection.read · metafield.read · metafield.write · page.write · blog.write · theme.readOptimises titles, descriptions, handles and structured data. Reads the theme to understand template structure; cannot change it.
- Customer Success Agent
customer.read · customer.write · customer.tag · order.read · draftorder.readHandles enquiries and segments the base. Deliberately holds no order.cancel — a refund is the Order Manager's, behind a review gate.
- Order Manager
order.read · order.write · order.cancel · fulfilment.read · fulfilment.write · shipping.read · draftorder.writeThe only archetype that may cancel an order or move money back. Everything with a monetary consequence is concentrated here on purpose.
- Analytics Agent
analytics.read · order.read · product.read · customer.readFour reads and no writes at all. An archetype whose job is to observe should not be able to change what it observes.
- Content Agent
product.write · asset.read · asset.write · page.read · page.write · blog.read · blog.write · metafield.writeWrites copy and imagery across products, pages and articles. Holds no order or customer capability — copy is not a reason to reach a customer record.
- Store Operations Agent
app.read · theme.read · location.read · market.read · shipping.read · giftcard.readAudits the store's configuration — installed apps and their scopes, themes, locations, markets and shipping. Read-only by construction.
Archetypes, not roster entries. The Agent Fleet's own registry is unchanged by this connector existing.
Health
88/10088/100 — No store domain is set. Every operation resolves its endpoint from this field, so nothing can be dispatched until one is supplied.
- −12Provider configurationNo store domain is set. Every operation resolves its endpoint from this field, so nothing can be dispatched until one is supplied.
Authentication
Authenticated- Method
- OAuth 2.0
- Credential
oauth_····9230- Last verified
- 2d ago
- Principal
- AI-EOS Platform · Shopify Inc.
- Expires
- 423h
- Scopes held
- 28/28
read_productswrite_productsread_orderswrite_ordersread_inventorywrite_inventoryread_customerswrite_customersread_draft_orderswrite_draft_ordersread_fulfillmentswrite_fulfillmentsread_discountswrite_discountsread_gift_cardswrite_gift_cardsread_locationsread_shippingread_marketsread_metaobjectswrite_metaobjectsread_fileswrite_filesread_contentwrite_contentread_themesread_appsread_analytics
- Personal Access Token8760h
A long-lived token minted by a named human and scoped by them. Acts as that person, not as the platform.
- API Keyno expiry
A long-lived key pasted once. No redirect, no refresh, no expiry.
Prepared, not selectable yet. The Auth Manager derives this connector's state from the method currently in force; switching would be a lifecycle operation, and the handshake below would be rebuilt from the new method's row with no code changing.
- 1.InitiateThe Hub prepares a OAuth 2.0 request for Shopify Inc..
- 2.Supply client idexternalProvided on Shopify Inc.'s authorisation screen, not in AI-EOS.
- 3.Supply client secretexternalProvided on Shopify Inc.'s authorisation screen, not in AI-EOS.
- 4.Supply redirect uriexternalProvided on Shopify Inc.'s authorisation screen, not in AI-EOS.
- 5.Supply scope grantexternalProvided on Shopify Inc.'s authorisation screen, not in AI-EOS.
- 6.VerifyThe Hub performs one authenticated read to confirm the grant, then records the reference.
Nothing is contacted. The Hub stores no credential material — only a masked reference, the granted scopes and an expiry. There is no field on the auth record a secret could go in, which is a stronger guarantee than a policy of not putting one there.
Capabilities37
- Publish products
catalogue.writeCreate or update a listing from a completed workflow.
- Read orders
order.readIngest order volume for the Intelligence Center.
- Synchronise inventory
inventory.syncReconcile stock levels in both directions.
- Read customers
customer.readPull customer records for department boards.
- Read products
product.readProducts, variants, options and their published state.
- Write products
product.writeCreate or amend a product, its variants and its pricing.
- Archive products
product.archiveRetire a product without deleting its order history. Deliberately not a delete.
- Read collections
collection.readManual and automated collections, and the rules behind them.
- Write collections
collection.writeCreate a collection or move a product into one.
- Write orders
order.writeAmend an order, add a note or apply a tag before it ships.
- Cancel orders
order.cancelCancel an order and state the restock and refund intent. Separate from order.write because it is irreversible.
- Write customers
customer.writeCreate or amend a customer record and its addresses.
- Tag customers
customer.tagApply or remove segmentation tags. Split from customer.write so an agent may segment without editing identity.
- Read inventory
inventory.readStock levels per variant per location, as a point-in-time read.
- Adjust inventory
inventory.adjustMove a stock level at one location by a stated delta.
- Read locations
location.readWarehouses, stores and pickup points stock is held against.
- Read discounts
discount.readPrice rules, codes and their redemption counts.
- Write discounts
discount.writeCreate a price rule or issue a code from a campaign.
- Read gift cards
giftcard.readIssued gift cards and their outstanding balances — a liability, not revenue.
- Issue gift cards
giftcard.writeIssue or disable a gift card as a service recovery or a campaign.
- Read draft orders
draftorder.readQuotes and invoices not yet paid, for wholesale and assisted selling.
- Write draft orders
draftorder.writeBuild a quote an agent can send for payment.
- Read fulfilments
fulfilment.readShipments, tracking numbers and their delivery state.
- Write fulfilments
fulfilment.writeFulfil line items from a location and attach tracking.
- Read shipping
shipping.readShipping zones, rates and the profiles products belong to.
- Read markets
market.readRegional markets, their currencies and their pricing rules.
- Read metafields
metafield.readCustom structured data attached to any store resource.
- Write metafields
metafield.writeWrite custom structured data, which is where enrichment lands.
- Read store files
asset.readProduct imagery and theme assets. Named asset, never file — file.write belongs to the document estate.
- Write store files
asset.writeUpload product imagery or replace a theme asset.
- Read pages
page.readOnline store pages and their published state.
- Write pages
page.writePublish or amend an online store page.
- Read blog articles
blog.readBlogs, articles and their tags, for content auditing.
- Write blog articles
blog.writePublish an article from generated or approved copy.
- Read themes
theme.readInstalled themes, which is published and how it is structured.
- Read installed apps
app.readThird-party apps installed on the store and the scopes they hold.
- Read analytics
analytics.readSessions, conversion and revenue reports the platform computes.
Modules request capabilities, never connectors. A capability offered by two connectors gives the requesting module a fallback it does not have to know about.
Usage · 24h
Event Subscriptions3
- Workflow Completed
workflow.completedA workflow reached its final stage with every gate cleared.
Raised by workflows · see the fan-out chain
- Company Created
company.createdA new autonomous company workspace was generated.
Raised by companies · see the fan-out chain
- Report Generated
report.generatedThe analytics layer produced a consolidated read.
Raised by intelligence · see the fan-out chain
Publisher
First party- Name
- AI-EOS
- Publisher ID
- aeos
- Platform vendor
- Shopify Inc.
- Support
- operations@ai-eos.internal
Published by the platform itself. These manifests ship with the build rather than being fetched.
Shopify Inc. owns the platform this plugin reaches. AI-EOS authored the manifest.
Version and changelog
Up to date- Installed
- 2.0.0
- Published
- 2.0.0
- Minimum platform
- 1.0.0
- Compatibility
- Compatible
- Manifest schema
- 1.0
- First published
- 13 months ago
Requires platform 1.0.0 or newer. This build is 1.0.0.
- 2.0.0major · 6 weeks ago
- Added a provider runtime covering order reads, inventory writes and fulfilment.
- Multi-instance support: one connection per storefront.
- Inventory derivation now refuses rather than guesses when a variant is untracked.
- 1.2.0minor · 8 months ago
- Subscribed to report.generated so trading reports reach the storefront.
- 1.0.0major · 13 months ago
- First release. OAuth and order read.
Permissions and scopes
viewer+AI-EOS permissions are what this plugin may do insidethe platform, resolved against the API Gateway’s own table. Scopes are what the external platform is asked to allow. They are different systems and neither substitutes for the other.
- company:read4 roles
Companies, departments, executives and the knowledge graph projection.
- workflow:read4 roles
Workflows, stages, tasks and approval gates.
- analytics:read4 roles
Enterprise Intelligence read models and the Decision Engine's outputs.
- read_products
- write_products
- read_orders
- write_orders
- read_inventory
- write_inventory
- read_customers
- write_customers
- read_draft_orders
- write_draft_orders
- read_fulfillments
- write_fulfillments
- read_discounts
- write_discounts
- read_gift_cards
- write_gift_cards
- read_locations
- read_shipping
- read_markets
- read_metaobjects
- write_metaobjects
- read_files
- write_files
- read_content
- write_content
- read_themes
- read_apps
- read_analytics
Dependencies0
Declares no dependencies. It can be installed against an empty estate.
Whether each is satisfied is resolved against the live estate at install time, not here.
Security
- Authentication
- OAuth 2.0
- Credential storage
- Never stored
- External scopes
- 28
- AI-EOS permissions
- 3
- Minimum role
- viewer
- Inbound deliveries
- Signature verified
- Tenant isolation
- Installation state is tenant-scoped
A plugin is a data literal. Nothing in the marketplace executes plugin code, and a plugin cannot bypass the Authentication Manager, the Integration Hub, the API Gateway or a permission check, because it has no code path — the host performs every transition.
The credential is referenced by a masked hint (oauth_····9230) and nothing else. The auth state type has no field a credential fits in, so the guarantee is enforced by the type checker rather than by convention.
Privacy
- Data leaving AI-EOS
- 18 capabilities
- Data entering AI-EOS
- 20 capabilities
- Modules served
- 7
- Event topics received
- 3
Direction is declared per capability, so what this plugin can send and what it can receive are both enumerable rather than a matter of trust. It reaches only the modules listed above, and only through capabilities the Integration Hub resolves.
Documentation2
Webhook Manager1
1 active/api/integrations/shopify/eventsactive8,903 in · 0% failed · 3h agoForwards shopify.product.created, shopify.product.updated, shopify.order.created
Logs3
- Sync2h agoSynchronisation completed — 238,464 records reconciled in 24h.
- Gateway29m ago39,744 gateway calls in 24h at 291ms mean latency.
- Registry4d agoConnector v2.0.0 installed against manifest schema 1.0.
Roadmap
- Order volume as a first-class Intelligence Center metric
- Storefront API operations once a customer-facing surface needs them
- Shopify Functions for discount and shipping logic the platform owns
- Bulk operations for catalogues past the point a paged read is honest
- Per-company storefront scoping rather than one shared store
What this connector would gain next. Mirrors the Future Integrations list every module carries in the Navigator registry.