name: Display name of the connector.key: Unique identifier for the connector.appUuid: UUID of an External App.logoUri: URL to the connector’s logo (should be publicly available)type: one of the Connector Types.parametersSchema: Data Schema for connector parameters (see below)inputSchema: Data Schema defining what inputs to request from users when creating a connection. Thedescriptionfield can contain markdown and is displayed to users to help them understand where to find the required credentials.- List of Connector Functions.
options: different options for authentication and accessing the external app if supported by the external API.
Connector Functions
Connector has a number of Membrane Functions implementing its logic. The composition of these functions is determined by the connector type.User Input
You can configure what inputs to request from users when they create a connection, and provide helpful guidance on where to find the required credentials.
inputSchema is a Data Schema with these key properties:
properties- defines the fields users need to fill in (e.g., API key, subdomain). These values will be copied to the connection parameters and will become connectioncredentialsby default (unless you override this behavior).description- help text shown to users explaining where to find the required credentials. Supports markdown, so you can include links to documentation.
Custom Credentials Schema
By default, credentials schema for the connector is auto-calculated based on other parameters (type, inputSchema, etc). However, when you use getCredentialsFromConnectionParameters to transform user input into a different credential structure, you should define customCredentialsSchema to describe the actual shape of your credentials.
This is useful when:
- Your credentials have a different structure than the user input (e.g., generating tokens from API keys)
- You need to fetch additional data during connection setup (e.g., user ID, organization info)
- You want to store computed values alongside the original input
customCredentialsSchema is defined, it describes the structure that getCredentialsFromConnectionParameters returns and what will be stored as the connection credentials.
Connector Options
You can define multiple options for a connector using theoptions field. This allows users to choose between different authentication methods or other parameters related to accessing the external app.
Each option has:
title- display name for the optiondescription- description of the optionenabled- formula to conditionally enable/disable the option (for example, you may want to enable oauth option only if clientId is provided in the connector parameters)- Any connector function or property related to the connector type.
type property.
Example connector definition with options:
Connector Parameters
If connector logic can be parametrized by developers using the connector, the schema of these parameters should be defined in the connector spec. The most common use of connector parameters is providing clientId/clientSecret for OAuth authentication. Connector parameters will be available in some of the functions used in the connector implementation, mostly in functions related to authentication. You can use connector parameters as variables inside Formulas in the connector definition. Specifically, the following parameters support formulas:options.x.enabledto enable or disable auth options based on the connector parameters.