-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Description
Is your proposal related to a problem?
Yes.
Currently, ToolJet marketplace plugins are limited to data-source style integrations (request → response). However, many modern platforms and SDKs are inherently UI-first and frontend-driven.
For example, ElevenLabs Conversational AI agents are integrated using:
- custom HTML elements
- injected
<script>tags - browser-side audio APIs
- WebSocket / WebRTC connections
At the moment, ToolJet does not provide a supported way for a marketplace plugin to:
- register or render a frontend widget
- load external scripts safely
- expose reusable UI components via the plugin system
Because of this, integrations that are naturally frontend-based cannot be implemented cleanly and often require manual copy-paste or workaround approaches, reducing the value of plugins for such use cases.
Describe the solution you'd like
I would like to propose first-class support (or a clearly defined pattern) for UI-oriented / script-based integrations in ToolJet.
Possible directions (open for discussion):
- A widget-type plugin (separate from datasource plugins) that allows:
- registering a frontend component
- controlled loading of third-party scripts
- configurable inputs via
manifest.json
OR
- An officially supported embed / script integration pattern, where:
- plugins declare required external scripts
- ToolJet manages script lifecycle and safety
- the plugin exposes a renderable UI block to applications
This would enable integrations such as:
- voice agents (ElevenLabs, Voiceflow)
- chat widgets (Intercom, Drift, Crisp)
- AI copilots
- analytics and monitoring widgets
without requiring core changes for each integration.
Describe alternatives you've considered
-
Using datasource plugins to return HTML/script strings
→ works partially but is fragile and unintuitive. -
iframe-based embedding
→ introduces UX, CSP, and security limitations. -
Keeping such integrations outside ToolJet
→ defeats the purpose of the marketplace.
All alternatives are workarounds rather than first-class solutions.
If the feature is approved, would you be willing to submit a PR?
Yes.
I would be happy to:
- prototype the implementation
- contribute documentation
- build a reference plugin (e.g., ElevenLabs voice agent widget)
- iterate based on maintainer feedback