> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Middleware and orchestration

> Connect Speckle to enterprise systems as a middleware or orchestration layer between platforms.

**When to use:** Your integration sits between Speckle and enterprise systems (PLM, data lakes, scheduling, proprietary APIs) without owning a host-application UI.

**Typical stack:**

* [GraphQL API](/developers/api/graphql) and [REST](/developers/api/rest) where documented
* [specklepy](/developers/sdks/python/introduction) or [@speckle/objectsender](/developers/packages/objectsender) / [@speckle/objectloader2](/developers/packages/objectloader2) depending on runtime
* Idempotent, version-aware sync patterns

**Docs:** [Key concepts](/developers/key-concepts) · [Updating syncs](/developers/api/guides/updating-syncs) · [Webhooks](/developers/api/webhooks)

## Design notes

* Treat **versions** as immutable inputs; design jobs to be replayable from a known version id.
* Separate **read** paths (pull from Speckle) from **write** paths (push new versions) so failures are easier to reason about.
* Prefer explicit mapping tables for external system ids ↔ Speckle `applicationId` values.

## Related

* [Data & build order](/developers/connectivity/data-and-build)
* [Desktop host](/developers/connectivity/desktop-host) · [Cloud & automation](/developers/connectivity/cloud-automation) · [Hybrid](/developers/connectivity/hybrid)
* [Resources](/developers/connectivity/resources)
