Integration Elements

Integration building blocks.

Membrane provides a variety of elements for different purposes and integration use cases. Integration elements are typically organized in Packages.

Element Types

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 elements.

Field Mappings

Field mappings let you transform data between your product and external apps when reading and writing Data Sources

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 elements (like Field Mappings). Data Schemas can be static or customer-specific.

Element Layers

Integration elements exist on one of the three layers:

  • Universal elements let you define a single API that works consistently across any number of external apps. Use universal elements when you want to interact with many external apps in exactly the same way.
  • Integration-specific elements 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 elements define how your product interacts with a given external app on behalf of a specific customer (identified by a set of credentials). Connection-specific elements could be customizations of integration-specific elements or created independently.