Connectors for Developers

What a Subscriby connector is, what the core provides, and how a package becomes a connector on the marketplace.

Subscriby runs paid memberships on messaging and community platforms. The core knows nothing about any particular platform: it keeps projects, plans, members, subscriptions, payments and grants, and asks a connector to do everything that touches a platform. Telegram is the first connector; Discord is being built; the rest of the roadmap, and any platform a third party brings, arrive the same way.

A connector is a Composer package built on the connector SDK (subscriby/connector-sdk, version 1.0). It carries a connector.json that says what it is and what it can do, and PHP classes that implement the SDK's ports, the interfaces the core calls. Nothing else is required: the SDK's service provider wires the package into the application, the core renders the connector's install form from the manifest, and the marketplace builds the connector's page from the same file.

What the core does for you

  • Installations, identities, spaces and grants live in the core's own tables. A connector never stores who a member is or which subscription grants what; it records them through the Core API (Subscriby\Connector\Core\*) and reads them back the same way.
  • Money is the core's. Checkout, settlement, refunds, dunning and the entitlement rules are core; a connector that offers a platform's own payment method implements one contract and lets the core account for it.
  • Messages are written once. Every confirmation, reminder, broadcast and support reply is composed by the core in a canonical HTML subset with a closed set of actions; the connector renders it within the limits its manifest declares.
  • Health and recovery are one model. The core probes installations and places on a schedule and runs the Disaster Recovery Program; a connector answers probes and performs the platform-side steps it declares it can.
  • Every surface is fed at once. The dashboard, the REST API, the MCP server, webhooks, Zapier and n8n all read the same manifest and the same rows, so a connector appears everywhere by existing.

The boundary

The only thing that crosses between the core and a connector, in either direction, is the SDK:

  • A connector imports Subscriby\Connector\* and nothing under the application's namespace. Tests fail a package that does.
  • The core never imports a connector's namespace. It reaches a connector through the registry and the ports, and it reaches a connector's UI through typed slots the connector fills.
  • Data crosses as SDK value objects (InstallationRef, IdentityRef, SpaceRef, GrantRequest, Message, …), never as Eloquent models.

Installed by Subscriby, not uploaded

There is no runtime plugin upload. A connector is a package Subscriby reviews and installs; whether it is available to creators is then a deployment setting, and a connector can be paused during an incident without a deploy. The marketplace's Community badge marks a connector built by a third party against the SDK and reviewed by Subscriby.

Where to start

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request