AEOS
--:--:--

Integration Hub

The single gateway between AI-EOS and every external platform. No module calls a service directly — each declares a capability, and the Hub resolves it to whichever connector is installed, enabled and authenticated.

78Estate
Estate: 78 out of 100

Integration Estate

5 connected2 auth broken

2 connectors cannot authenticate — reconnect to restore routing.

5
Connected
of 9 enabled
3
Available
of 12 registered
913,824
Calls 24h
0.8% failing
7
Webhooks
all delivering
12
Sync queue
jobs pending
7
Error queue
awaiting attention
1
Degraded
above error threshold
3
Failing
not routing

Connected Integrations9

API Gateway

Nominal
9
Routes
connectors routable
913,824
Calls 24h
through the gateway
697ms
Mean latency
threshold 800ms
0.8%
Error rate
degraded above 2%
4,640/min
Capacity
sum of declared ceilings
98%
Peak rate
saturates above 80%
Rate ceiling headroom2% free

Latency and error rate are volume-weighted, so a connector serving four calls a day does not move the estate mean as much as one serving forty thousand. Integration Hub · gateway.summarise().

HTTP API Gateway34

Reading
v1
Version
1 published
34
Routes
in this version
11
Permissions
role-granted keys
6
Rate classes
ceilings declared

Reading live figures from /api/v1/health…

Rate limits are counted per server process. A multi-instance deployment multiplies every published ceiling by the instance count. Satisfy the RateLimiter port with a shared store before relying on these numbers across instances.

Sync Queue12

Behind

6 further jobs queued.

Error Queue7

2 need you
  • Authentication3 attempts · 10h ago

    Stripe rejected the credential — the grant has lapsed or been withdrawn.

    Will not retry. Reconnect the connector to re-run its handshake.

  • Authentication1 attempt · 12h ago

    REST API rejected the credential — the grant has lapsed or been withdrawn.

    Will not retry. Reconnect the connector to re-run its handshake.

  • Validation5 attempts · 39m ago

    Slack rejected the payload as malformed.

    Retrying automatically. The payload was rejected. Review the connector's configuration.

  • Timeout5 attempts · 5h ago

    Email did not respond within the configured timeout.

    Retrying automatically. Retried automatically. Check the platform's status page if repeated.

  • Rate limited5 attempts · 4h ago

    Email returned 429. The gateway backed off and will retry with jitter.

    Retrying automatically. The gateway backs off automatically. Raise the ceiling if it persists.

  • Validation2 attempts · 3h ago

    Email rejected the payload as malformed.

    Retrying automatically. The payload was rejected. Review the connector's configuration.

1 further error in the queue.

Webhook Manager7

7 active
38,681
Deliveries 24h
1.7%
Failure rate
641 failed
7
Active
0 paused
2
Unverified
no signature check

2 endpoints are accepting deliveries without signature verification. The generic inbound door ships this way because its signing secret is per-sender — configure one per registered sender before treating the path as trusted.

Integration Event Bus80

14 live · 66 unrouted

Each topic is owned by the module that raises it; the Hub only routes. Order comes from connector category — commerce settles before anyone is notified, analytics records last — so a new connector takes its position automatically. The bus resolves these plans and does not execute them; that is the Task Orchestrator's job.

  • A workflow reached its final stage with every gate cleared.

    1. workflows
    2. Integration Hub
    3. Shopify
    4. Stripe
    5. GitHub
    6. Slack
    7. Google Workspace
    8. REST API
      • Stripe skippedAwaiting authentication.
      • REST API skippedAwaiting authentication.

Module Bindings14

95 unmet

A module never names a connector — it declares a capability, and the gateway resolves it from whatever is installed and healthy. That indirection is why installing a second messaging connector gives the Communication Hub a fallback without the Hub being modified.

  • Mission ControlNo external reach

    The launcher reads other modules and reaches nothing external. Listed to state that explicitly.

  • Company Management5 unmet

    A company workspace acquires a storefront, a billing entity and a revenue read through the Hub, never a Stripe client.

    Needscatalogue.writecollection.writeproduct.readpayment.readsubscription.readpayer.readpayer.writeinvoice.read
    Served byShopify
  • Executive Team6 unmet

    Approval requests and executive cadence reach humans through whichever messaging connector is healthy. The four payments reads are the operator's own position — recurring revenue, receivables, treasury and exposure — and every one of them is a read: nothing here moves money.

    Needsmessage.sendevent.writesubscription.readinvoice.readbalance.readpayout.readdispute.read
    Served bySlack
  • Department Management1 unmet

    Departments raise external work items and read their state back onto boards. Engineering gets issues; support gets customers and their order history; sales gets quotes; anything else gets the generic transport.

    Needsissue.writeissue.readmessage.sendcustomer.readorder.readdraftorder.readhttp.request
  • Agent Fleet34 unmet

    Every AI employee's reasoning resolves through an AI provider connector; the engineering archetypes additionally read and write source control and CI, the document archetypes reach Drive, Docs, Sheets, Gmail and Calendar, the commerce archetypes reach the catalogue, orders, inventory and storefront content, and the payments archetypes reach billing, subscriptions, invoices and treasury. This list is the union of what those archetypes ask for — the per-archetype breakdown is the connector's to declare, in `ProviderSurface.consumers`, and `bindingGaps()` reports anything promised there that is missing here. Eleven payments capabilities are absent on purpose, including every one that raises a charge or moves the balance. This is the binding the AI Runtime will inherit.

    Needscompletion.createrepo.readpr.readpr.writepr.reviewbranch.readbranch.writeissue.readissue.writecommit.readcode.searchlabel.readmilestone.readpipeline.readpipeline.run.readpipeline.triggerrelease.readrelease.writediscussion.readproject.readcontributor.readfile.readfile.writefile.searchfolder.readfolder.writestorage.syncpermission.readpermission.writerevision.readdoc.writesheet.readsheet.writesheet.appendslide.writecomment.readcomment.writemail.readmail.sendmail.draftcalendar.readcalendar.writedirectory.readcontact.readcontact.writemeet.writecatalogue.writeproduct.readproduct.writeproduct.archivecollection.readcollection.writeorder.readorder.writeorder.cancelcustomer.readcustomer.writecustomer.taginventory.readinventory.adjustinventory.synclocation.readdiscount.readdiscount.writegiftcard.readgiftcard.writedraftorder.readdraftorder.writefulfilment.readfulfilment.writeshipping.readmarket.readmetafield.readmetafield.writeasset.readasset.writepage.readpage.writeblog.readblog.writetheme.readapp.readanalytics.readpayer.readpayer.writepaymentmethod.readpayment.readrefund.readrefund.writepaymentlink.writecheckout.readcheckout.writeinvoice.readinvoice.writeinvoice.finaliseinvoice.sendinvoice.payinvoice.voidsubscription.readsubscription.writesubscription.cancelsubscription.pausesubscriptionitem.readsubscriptionitem.writebillingproduct.readprice.readprice.writecoupon.writepromotioncode.writedispute.readpayout.readbalance.readbalancetransaction.readconnectedaccount.readusagerecord.readusagerecord.writetax.read
  • Memory SystemServed

    The embedding coverage figure the module reports as 0 becomes real the moment an AI connector serves `embedding.create`.

    Needsembedding.createfile.readfile.writestorage.syncdoc.readfile.search
  • Communication HubServed

    The heaviest consumer. Three connectors serve `message.send`, so the Hub degrades rather than breaks when one fails. Mail is a separate ask with its own capabilities, so a chat outage cannot silently reroute correspondence.

    Needsmessage.sendmessage.receivechannel.managepresence.readmail.readmail.sendmail.draftcomment.read
  • Workflow Engine16 unmet

    The largest fan-out surface — `workflow.completed` is the topic the canonical chain in the brief describes, and commerce is its first hop. The write capabilities are what a step requests when it performs external work; the named actions an operator picks from are the connector's to declare. Four of the payments capabilities here move money, which is the set an approval gate should stand in front of.

    Needsissue.writepr.writebranch.writerelease.writepipeline.triggermessage.sendfile.writeinvoice.writeevent.writehttp.requestdoc.writeslide.writesheet.appendsheet.writestorage.syncfolder.writepermission.writemail.sendmail.draftcalendar.writemeet.writecontact.writecatalogue.writeproduct.writeproduct.archivecollection.writeinventory.adjustdiscount.writecustomer.writecustomer.tagdraftorder.writefulfilment.writeorder.cancelpage.writepayer.writepaymentmethod.attachpayment.createrefund.writepaymentlink.writecheckout.writeinvoice.finaliseinvoice.sendinvoice.paysubscription.writesubscription.cancelsubscription.pauseprice.write
  • Knowledge Graph11 unmet

    External entities are projected into the graph exactly as internal ones are — the graph owns none of them either. Each read here backs a node kind some connector declares in `ProviderSurface.entities`. FOUR connectors' worth of person-shaped roots now exist — a GitHub developer, a Workspace directory person, a Workspace contact, a Shopify shopper and a Stripe billing entity. The last two are frequently the same human and are deliberately projected as two nodes: reconciling them into one identity is the graph's decision, not any connector's, and a connector that merged them would be asserting an identity it cannot verify.

    Needscode.searchrepo.readissue.readpr.readcommit.readcontributor.readproject.readdiscussion.readhttp.pollfolder.readdoc.readsheet.readslide.readdirectory.readcalendar.readfile.searchfile.readmail.readcontact.readpermission.readmeet.readproduct.readcollection.readorder.readcustomer.readinventory.readlocation.readdiscount.readpayer.readbillingproduct.readprice.readpayment.readrefund.readinvoice.readsubscription.readdispute.readpayout.readconnectedaccount.read
  • Decision Engine11 unmet

    The AI advisor seam this module already documents resolves to `completion.create` through the Hub. The reads are what an instantaneous insight needs — engineering from source control, compliance and staleness from the document estate, and revenue, receivables and treasury from payments; anything trend-shaped waits on stored history, which nine of the thirteen payments insights say plainly that they need.

    Needscompletion.createmessage.sendrepo.readissue.readpr.readpipeline.run.readpermission.readrevision.readcomment.readdirectory.readcalendar.readfile.readmail.readproduct.readorder.readcustomer.readinventory.readlocation.readdiscount.readdraftorder.readmarket.readanalytics.readpayer.readpayment.readrefund.readinvoice.readsubscription.readsubscriptionitem.readprice.readdispute.readpayout.readbalance.readbalancetransaction.read
  • Enterprise Intelligence8 unmet

    Scheduled report delivery, which the module lists as a future integration, is a `file.write`, a `doc.write` or a `slide.write` away depending on the form the reader wants it in. The reads are the provenance behind the engineering, document, storefront and payments metrics a connector declares in `ProviderSurface.metrics`. Four of the payments figures are in currency and only one of them is revenue — the others are float, receivable and transfer, and summing them would count the same money three times.

    Needsfile.writesheet.appendorder.readpayment.readrepo.readissue.readpr.readcommit.readrelease.readpipeline.run.readdoc.writeslide.writefile.readdoc.readfolder.readsheet.readpermission.readcomment.readmail.readcalendar.readproduct.readcustomer.readinventory.readanalytics.readpayer.readrefund.readinvoice.readsubscription.readdispute.readpayout.readbalance.read
  • Integration Hub1 unmet

    The Hub itself consumes the inbound and outbound doors. It is a client of its own gateway, with no privileged path.

    Needswebhook.receivewebhook.verifyhttp.request
    Served byWebhook
  • AI RuntimeServed

    Built in Phase 5, and the prediction this row made held: the three needs were already served, so the Runtime arrived without a line of change to this Hub. The needs are unchanged from when they were declared, and `lib/runtime/registry.runtimeCapabilities()` now READS them — this row is the Runtime's allow-list rather than a description of one, so a capability absent here is a capability it may not request.

    Needscompletion.createembedding.createmodel.list
    Served byClaude
  • Task OrchestratorNot built yet2 unmet

    Does not exist yet. It will execute the `EventRoute` plans this Hub resolves but does not run.

    Needshttp.requestmessage.sendevent.write
    Served bySlack

Available Integrations3

Placeholder estate.No external service is contacted anywhere in this module — every runtime figure is derived deterministically from the connector manifests and the operator's own installations, so the server and the client agree by construction. The lifecycle operations are real: installing, disabling and reconnecting genuinely change the estate and persist. See web/INTEGRATION-HUB.md for the architecture.