Overview
Membrane Documentation
Membrane makes your software talk to anything else. This documentation describes how.
Getting Started
To get started, pick your use case:
Give Claude, ChatGPT, Cursor, or any agent the ability to connect to apps, run actions, and react to events.
Add integrations to the software you build so its users could connect external apps, sync data, and automate workflows.
Ways to Use Membrane
Membrane is fully programmable and API-first. All functionality is accessible through multiple interfaces:
Give AI agents context and tools to talk to anything.
Authenticate, manage, and run your integrations in a command line.
Call any Membrane functionality via API endpoints.
Use Membrane via TypeScript/JavaScript SDK with typed accessors.
Use Membrane via Model Context Protocol.
Pre-built UI components for integrating your software.
Web UI for managing and monitoring your Membrane workspace.
How Membrane Works
All interactions with external apps fall into three main categories:
Connect — Authenticate with an external app (OAuth, API key, etc.) to be able to talk to it. This creates a Connection — an authenticated link that Membrane keeps alive, refreshes tokens for, and reconnects on failure.
Act — Take Actions in the connected app: create a contact, send a message, list invoices, update a deal. Actions run on top of connections and use them for authentication. Actions can be anything from a simple API request to a complex multi-step workflow.
React — Subscribe to changes in the connected app via Events. Membrane detects new records, updates, and deletions via webhooks or polling, and delivers them to your backend.
Multi-tenancy
If you're using or building a product where multiple people connect their own apps, use Tenants to isolate their connections and data.
Each tenant has their own list of connections and a full set of integration settings. Tenants cannot access each other's data. Each tenant is identified by tenantKey - an arbitrary string you provide that usually corresponds to a unique identifier on your side. Membrane knows which tenant to use for each interaction based on Membrane Token you generate. See Authentication for details.
Membrane Layers
Membrane elements like actions and events can be defined at three levels of specificity:
| Layer | Scope | Example |
|---|---|---|
| Universal | Works across any app | "Create Contact" action that works with any CRM |
| Integration | One specific app | How "Create Contact" maps to HubSpot's API — an implementation of the universal element |
| Connection | One specific connection | Custom field mapping for a particular HubSpot account — a customization of the integration element |
This is useful when you want to create standard integration logic that works across many connections or apps and only define differences for each app/connection when they appear. This allows your code operate on abstract layer and let Membrane resolve it to the correct configuration for a given app and connection.
Managing Membrane
Logs, alerts, error inspection, and debugging tools for every integration touchpoint.
Deploy Membrane on your own infrastructure with Docker and Helm charts.
Move workspace configuration between environments.
Security practices, data privacy, and compliance.
Updated 2 days ago