Custom Content for Forge apps is now available

Hi developer community,

Custom Content for Connect apps allows users to create additional content on top of Confluence that behaves like built-in Confluence content types—page, blog post, or comment. And as part of our efforts to bring parity to Forge, we are excited to announce the release of Custom Content for Forge. Please see the changelog for more information, and please leave us feedback here, or on any post in the Developer Community with the tag custom-content.


Glad to see support for custom content on Forge!

The docs suggest that different environments (prod, staging, dev) use different keys for the modules.
Doesn’t this mean all data stored for example by the dev environment is invisible when switching to prod, or another developer’s dev version? That would be quite annoying when working on bugfixes etc. because it makes it harder to compare two environments.

Also the key seems to be specific to forge in general and different from the keys used by connect apps. What happens to data stored by connect apps when they are migrated to connect-on-forge?



Thanks for your feedback!
We’re still in the process of exploring migration support from Connect to Forge for custom content. I’ll post back once I have anything to share on that.

Different environments (dev, stg, prod) of the app installed on the same Confluence instance are independent installations, and also have completely different app users in the instance. This would create a conflict if the same custom-content keys were generated for different environments. This is primarily why we decided to include environment-id as part of the custom-content key.

Please feel free to expand on your use-cases and we’d love to incorporate any feedback you have into our product evolution.

1 Like

I have no experience with Forge, but in our Connect apps we use user impersonation when using custom content. This enables us to use content restrictions on the custom content. We don’t use the app user at all, except as a workaround for some Confluence bugs.

1 Like

Hey @MilindPatil ,

thanks for custom content for forge :slight_smile:
I just played around with it and I couldn’t get searching for forge custom content using CQL to work.
You can find a POC for reproducing the issue here:

I was just trying to do a simple cql type=<forge custom content key>, but the response is always empty. Is forge custom content maybe not indexed correctly?



You should be able to use Forge’s asUser for your purpose?

I wasn’t asking for how to do it, since we are not using Forge yet. My comment was feedback to your point that the content type key needs to be different for different deployments because the app user key is different.

Can you try adding icon to the manifest? For Connect icon is mandatory, but we didn’t make it required for Forge. We’ll work on putting out on a notice period to make it required for Forge, and meanwhile add a default icon.

Looks like that does the trick, at least for new items. Thank you! Could this maybe be added to the documentation?

Another question that might be the responsibility of another team, would it be possible for useProductContext and view.getContext to include the appId directly, instead of part of the localId? This would make using custom content easier :slight_smile:


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.