FluxBilling
Plugins

Creating a Plugin

Create a plugin with the New Plugin wizard, from a template or from scratch.

Updated · 2026-09-03

Every plugin starts in the New Plugin wizard — a five-step flow that scaffolds your plugin and drops you into the editor. You can begin from a ready-made starter template for a common provider shape, or start blank from any plugin type. This article walks through each step, shows how to import an existing plugin instead, and explains the Draft → build → Enable lifecycle.

How to reach it

Open Settings from the top header, choose Plugins under Integrations, then press New Plugin. The wizard header shows your progress through the five steps: Start, Basic Info, API Connection, Capabilities, Review & Create.

The five steps

Step 1 — Start

The first screen offers two ways in.

From template. Six starter templates are shown as cards, each with a short description and the number of flows it will create:

  • VPS / Cloud Provider — virtual private servers, cloud instances and VM hosting.
  • Game Server Provider — game server hosting with file management and console access.
  • Web Hosting Panel — shared and reseller hosting accounts.
  • Domain Registrar — domain registration, transfers and DNS management.
  • License Provider — software licensing, activation and usage tracking.
  • Blank Plugin — no predefined structure.

A template ships with empty starter flows already created for that kind of service (power actions, stats, console, backups, snapshots and so on, depending on the template), plus a suggested configuration schema. Picking one sets the type to Infrastructure Provider and pre-fills the description. Choosing a template moves you straight to Step 2.

Or start from scratch. Below a divider, every plugin type is shown as a card: Infrastructure Provider, Payment Gateway, Notification, Automation, Authentication, AI Provider, Domain Registrar, Email Transport, 2FA Delivery, Analytics, Custom. Selecting one builds a blank plugin of that type. (See Introduction to Plugins for what each type is for.)

You must pick a template or a type before you can continue.

Step 2 — Basic Info

Basic Info fields
FieldWhat it does
Plugin NameThe readable name shown on the plugin card and throughout the admin panel. Required.
SlugA short lowercase identifier, generated from the name as you type. You can edit it; once you do, a Reset link appears that re-derives it from the name. Anything other than letters, digits and hyphens is stripped. Required.
DescriptionA short explanation of what the plugin does. Optional.
IconA grid of twenty icons; the one you pick represents the plugin on its card.

Both a name and a slug are required to continue. The slug is how flows and other parts of the platform address the plugin, so keep it short and stable.

Step 3 — API Connection (optional)

Optionally set up the first connection to the external API now:

  • Base URL — the root URL of the service's API.
  • Authentication — one of None, API Key, Bearer Token, Basic Auth, OAuth2 Token, Custom Header or Query Parameters, each with its own fields.
  • Test Connection — fires a quick request so you can confirm the URL is reachable before you finish.

The step is optional; leaving the base URL blank simply creates the plugin with no connection.

Tip: the wizard offers a deliberately short connection form. After the plugin exists, open its Connections tab — that is the full editor, with every authentication type, multiple headers or query parameters, default headers, timeout and retry count. See Connections & Authentication.

Step 4 — Capabilities

Tick the capabilities your plugin should support. Each one you tick creates a matching starter flow, already carrying the flow type and slug the platform looks for, so the flow is dispatchable the moment you wire it up. The list depends on the type you chose:

Capabilities offered per plugin type
TypeCapabilities
Infrastructure ProviderProvision, Suspend, Unsuspend, Terminate, Reboot, Start, Stop, Console, Stats, Status, Reinstall, Backup, Restore, Snapshot, Resize
Domain RegistrarRegister Domain, Renew Domain, Domain Status, Check Availability, Get Nameservers, Update Nameservers, Registrar Lock, Registrar Unlock, WHOIS Privacy, EPP / Auth Code, Suspend, Unsuspend, Terminate
Payment GatewayCreate Payment, Verify Payment, Refund, Webhook Handler
NotificationSend Notification, Format Message
AutomationEvent Handler, Scheduled Task, Webhook Receiver
AuthenticationBegin Sign-In, Handle Callback, Fetch Profile
AI ProviderGenerate Completion, Stream Completion, Embed Text, Count Tokens, List Models, Generate Image
Email TransportSend Email, Verify Connection, Fetch Bounces, Delivery Status, Inbound Webhook
2FA DeliverySend Code
CustomCustom Flow

Most capabilities scaffold a bare Start → End canvas you then fill in. Send Code is the exception: a 2FA Delivery plugin is created with a wired Start → HTTP Request → End flow whose request already carries a generic message body and points at the connection you just made, plus two configuration fields (Send endpoint path and Sender ID / from number) that the flow references.

Note: this step is skipped when you started from a template — templates already ship their flows — and for Analytics plugins, which are configuration-only and have no flows.

Step 5 — Review & Create

A summary shows the name, type, slug and description; the connection's URL and authentication type (or None — can be added later); and either the number of flows the template will create or the capability flows you selected. Confirm, and the plugin is created as a Draft. Nothing is live yet.

The plugin editor

Opening a plugin card takes you into the editor. Its tabs are:

  • Overview — name, description, icon, the plugin's slug, and Quick Actions for Export Plugin and Duplicate Plugin.
  • Connections — add, edit, clone and test connections.
  • Flows — create flows and open the flow builder.
  • Forms — extra panels and forms the plugin contributes to the order page and service page.
  • Webhooks — inbound endpoints and their signature verification.
  • Config — the configuration schema builder.
  • Styling and Assets — custom styling and uploaded images the plugin's screens can use.

Notification plugins show Notifications and Subscriptions in place of Forms and Webhooks; Analytics plugins show only Overview and Configuration.

Importing an existing plugin instead

If you already have a plugin package file, you don't need the wizard. Press Import on the Plugins screen and choose the file. You get a preview of what's inside — the plugin's name and type, and how many flows, forms, connections and webhooks it carries — before you commit. Imported plugins arrive as a Draft, exactly like wizard-created ones. See Packaging, Importing & Updating. If what you want already exists ready-made, the Plugin Catalogue installs it for you without a file at all.

The plugin lifecycle

  1. Draft — created by the wizard or by import, but inactive. This is where you do all your work.
  2. Build & test — wire your flows in the builder, define your configuration schema, and use the connection test and the flow Test panel to verify your calls. See Building Flows and Configuration Settings.
  3. Enable — use Enable on the plugin's card menu. Only then does the platform route real events and actions to it. A plugin shows as Active, Draft, Disabled or Error, and you can filter the list by those states.

The card menu also offers Edit, Disable, Duplicate, Export JSON and Delete. Managing Plugins covers what each of those does once the plugin is in service, and where to read its run history.


Related: Introduction to Plugins · Connections & Authentication · Building Flows · Capabilities & Flow Contracts