[wp-trac] [WordPress Trac] #64791: Connectors: Extensibility API allowing plugins to register custom connector cards

WordPress Trac noreply at wordpress.org
Wed Mar 4 10:58:43 UTC 2026


#64791: Connectors: Extensibility API allowing plugins to register custom connector
cards
-------------------------+-----------------------------
 Reporter:  gziolo       |      Owner:  (none)
     Type:  enhancement  |     Status:  new
 Priority:  normal       |  Milestone:  Awaiting Review
Component:  General      |    Version:  trunk
 Severity:  normal       |   Keywords:
  Focuses:               |
-------------------------+-----------------------------
 The Connectors screen needs a formal extensibility API so that third-party
 plugins can register their own connector cards — including custom UI for
 OAuth flows, multi-step configuration, or non-API-key authentication
 methods — without being limited to the default API key input card.

 The Connectors screen was introduced in
 [Gutenberg#75833](https://github.com/WordPress/gutenberg/pull/75833).
 [Gutenberg#76014](https://github.com/WordPress/gutenberg/pull/76014) added
 dynamic registration from the WP AI Client PHP registry, so provider
 plugins using `AiClient::defaultRegistry()->registerProvider()` with
 `api_key` authentication now appear automatically. This was a significant
 step, but the extensibility story remains incomplete.

 === Current behavior

 - Only providers with `api_key` authentication are surfaced on the
 Connectors screen. All other authentication methods are filtered out.
 - Every connector card renders the same default UI: a text input for the
 API key, with save/remove actions.
 - Third-party plugins can register a provider in PHP and have it appear on
 the screen, but they cannot customize how their card looks or behaves.
 - There is no mechanism for plugins to add connector types that go beyond
 AI providers (e.g., OAuth-based services, webhook configurations, or other
 integration patterns the Connectors screen could support in the future).

 === Expected behavior

 Plugins should be able to:

 1. **Register a connector card with custom UI** — for example, an OAuth
 flow with an "Authorize" button and token status, or a multi-field
 configuration form.
 2. **Register connectors using authentication methods other than API
 keys** — OAuth, app passwords, bearer tokens, etc.
 3. **Provide card metadata from PHP** without needing to enqueue their own
 JavaScript for simple cases. The current `script_module_data` bridge from
 PHP to JS is a reasonable pattern, but the API should be explicit about
 what metadata plugins can provide (name, description, icon, credentials
 URL, authentication type, status).
 4. **Inject custom rendering on the JS side** when the default card layout
 is insufficient — via a formal JS API that was marked as experimental
 initially.

 === Proposed scope

 - Define a PHP API for registering connector cards with metadata (name,
 description, icon, credentials URL, authentication type, custom fields).
 - Provide a JS-side API for plugins that need custom card rendering.
 - Ensure the default API key card remains the automatic fallback.
 - Document the extensibility API with examples for both PHP-only and
 PHP+JS integration patterns.

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/64791>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list