Hi everyone,
I'm building a custom (private, unlisted) Power-Up for internal use on my company's Trello Workspace, and I've run into a bug where the Power-Up's connector iframe never loads in the Trello web client, despite everything being correctly configured on the server side. Since Atlassian support isn't available for Free-plan accounts, I'm hoping someone here — ideally someone who's worked on Power-Up development, or from the Trello team who monitors this forum — has seen this before or can point me in the right direction.
Account and environment
Summary
A custom Power-Up, correctly registered and enabled on a board, never has its connector iframe loaded by the Trello web client — no network request to the connector URL is ever made, no iframe element is created in the DOM, and none of its registered capabilities (card-badges, card-buttons, card-back-section) ever render. This happens with zero JavaScript errors, on two completely independent, freshly-created Power-Up registrations. By contrast, an official "Made by Trello" Power-Up ("Card Aging") added to the exact same board in the same browser session renders and works immediately with no configuration beyond clicking "Add."
Steps to reproduce
Expected: the connector iframe loads, and card-badges/card-buttons/card-back-section render according to the registered capabilities.
Actual: nothing renders at all. No entry appears in the card's "Power-ups" tray. Zero network requests to the connector URL (confirmed via DevTools Network panel, filtered by the connector's domain — completely absent, not even a failed/blocked entry). Zero iframe elements matching the connector URL anywhere in the DOM (checked via a querySelectorAll scan for iframes at both board view and card-detail view). The browser console repeatedly logs a warning from Trello's own ltp.[hash].js asset file:
"board plugins are undefined"
This warning fires 4 times on board load and 4 more times on every card open, consistently, in every test.
What I've ruled out
Control test proving this is specific to custom Power-Ups
I added the official "Made by Trello" Power-Up "Card Aging" to the same test board, in the same browser session, immediately after failing to get our custom Power-Up to load. Card Aging rendered correctly and instantly (its "Last updated" badge appeared on the card) with zero configuration beyond clicking "Add." This isolates the failure specifically to custom/private Power-Ups — the board, account, and browser session are otherwise fully capable of loading and rendering Power-Up UI without any issue.
Net result: the one variable that consistently correlates with the failure, after ruling out everything else through direct testing, is "custom/private Power-Up" versus "official Made-by-Trello Power-Up."
Evidence available on request
I have a sanitized HAR export (cookies/auth stripped) captured from a fresh page load of a card on the test board, showing the full set of network requests the Trello client makes on card open — notably, no request to our connector domain appears anywhere in it, which is the core of the bug. I haven't attached it here, but I'm happy to send it directly to anyone looking into this, or share a link separately.
Question for the community
Has anyone run into a Power-Up's boardPlugins entry being visible via direct REST API calls but never surfaced to the web client's plugin-loading logic — i.e. the "board plugins are undefined" console warning? Is there some additional registration step or account-level flag for custom Power-Ups on Free-plan Workspaces that I might be missing? Any pointers — even "check X" — would be a huge help at this point, since I've exhausted everything I can test from the outside.
Thanks!
Villy
Hi @Villy, that warning isn't coming from your Power-Up. "board plugins are undefined" appears zero times in power-up.js and zero times in power-up.min.js. It ships inside Trello's own BoardHeaderButlerButtonsModernized component as the value of an error field the hook hands to console.warn, and what sets it is the board's plugins collection reading as undefined in the client's own state. So it's the client telling you it has no board plugins, which is your symptom rather than a second fault.
One aside on that: your console attributed the line to ltp, and the string isn't in today's ltp build at all, so the frame has moved between deploys.
The part that answers your actual question sits next to it. The loader doesn't read the REST boardPlugins collection you verified. Plugins/loadPlugin.ts fires a GraphQL query called BoardEnabledPlugins against board plugins(filter: enabled), cache-first, selecting id, capabilities, iframeConnectorUrl, listing, moderatedState, public, idOrganizationOwner, name and icon. When your id isn't resolvable after that query it throws "plugin not available to board". Grep your console for that. The board field carries an @client directive, so it resolves out of the Apollo cache and there'll be no network request named BoardEnabledPlugins to find.
Then look at moderatedState in that selection. Atlassian stripped it from the REST plugin response in 2019, in their words "The following fields have been removed: apiKey, author, idAgreement, moderatedState, privacyUrl, supportEmail, tags, usageBrackets", so the loader reads a field your REST checks could not have shown you. The Power-Up security page says "A moderated Power-Up will remain enabled on all boards on which it is enabled, but it will never be initialized." That's your symptom in Atlassian's own sentence. I doubt a brand-new idPlugin inherits a flag like that, so treat it as the state to have someone read for you, not as a diagnosis.
Your read on support is half right. The Trello product portal is subscription-only, "Only Trello users with an active subscription can submit support tickets". The developer desk is separate and Trello's own dev docs point at it, go.trello.com/dev-support, landing on developer.atlassian.com/support. Its entitlement row names no plan, only "Partners and developers looking to extend the functionality of Atlassian apps". In July a developer hit a Trello-wide Power-Up iframe regression, got no forum reply, raised ECOHELP-148080 as a P1, and Trello confirmed and fixed it. I haven't tried that desk from a Free workspace with an unlisted app, and the packaging line does read "a valid customer license or any tier of the Marketplace Partner Program", so that's where I'd expect friction. Send them the HAR.
Atlassian's Power-Up guide will send you to the developer community, and I'd not lean on it. Of the 18 Trello topics opened there during 2026, 14 still have no reply of any kind, and I didn't find an Atlassian staff reply on any of them. Topic 99226 is the closest to your shape, a required Trello script asset for which no request is ever made, and it got nothing.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.