Skip to main content
Membrane makes your software talk to anything else. This documentation describes how.

Getting Started

To get started, pick your use case:

Quickstart: AI Agents

Give Claude, ChatGPT, Cursor, or any agent the ability to connect to apps, run actions, and react to events.

Quickstart: Product Integrations

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:

Agent Skills

Give AI agents context and tools to talk to anything.

CLI

Authenticate, manage, and run your integrations in a command line.

REST API

Call any Membrane functionality via API endpoints.

SDK

Use Membrane via TypeScript/JavaScript SDK with typed accessors.

MCP

Use Membrane via Model Context Protocol.

Embedded UI

Pre-built UI components for integrating your software.

Console

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:
LayerScopeExample
UniversalWorks across any app”Create Contact” action that works with any CRM
IntegrationOne specific appHow “Create Contact” maps to HubSpot’s API — an implementation of the universal element
ConnectionOne specific connectionCustom 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

Monitoring & Troubleshooting

Logs, alerts, error inspection, and debugging tools for every integration touchpoint.

Self-hosting

Deploy Membrane on your own infrastructure with Docker and Helm charts.

Import & Export

Move workspace configuration between environments.

Security & Privacy

Security practices, data privacy, and compliance.