Membrane Interfaces

Membrane Interfaces let your product interact with external apps in a simple, consistent and reliable way. The are building blocks for your integrations.

Interface Types

Membrane provides a variety of interfaces for different purposes and integration use cases.

Authentication

Authentication defines how to get Connection credentials, refresh them, make API requests, and test if connection is still active.


Actions

Actions let you perform synchronous requests to external apps. They could be used as tools for AI agents, steps in a workflow, or simply a way to do one thing with an external app.


Flows

Flows let you execute asynchronous multi-step logic launched by your app, external apps, or on schedule.


External Events

External events let you subscribe to changes in external apps.


Global Webhooks

Global webhooks let you subscribe to product-level webhooks (one webhook for your whole product) and route them to correct customer and connection.


Data Collections

Data collections let your work with data in external app as if it was a database. They provide consistent way to read and write data records, and subscribe to updates.


Data Sources

Data sources is a wrapper on top of data collections that let you point to a specific data collection and use it consistently across multiple membrane interfaces.


Field Mappings

Field mappings let you map data structures between your app and external apps.


Data Links

Data links let you keep relations between data objects in your app and corresponding objects in external apps.


Internal Events

Internal events let you trigger flows when something happens in your app (as alternative to triggering flows via API).


Internal Data Schemas

Data schemas let you define data structures on your app side that will be used in other Membrane interfaces (like Field Mappings). Data Schemas can be static or customer-specific.


Layers of Interfaces

Interfaces exist on one of the three layers:

  • Universal Interfaces let you define a single API that works consistently across any number of external apps. Use universal interfaces when you want to interact with many external apps in exactly the same way.
  • Integration-specific interfaces let you define how your product interacts with a specific external app. They can be used across multiple customers and connections. You can customize them for each customer and connection.
  • Connection-specific interfaces define how your product interacts with a given external app on behalf of a specific customer (identified by a set of credentials). Connection-specific interfaces could be customizations of integration-specific interfaces or created independently.