I'm an ISV trying to add a footer to the host web, with both Modern and Classic SharePoint sites, similar to this SPFx, https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/using-page-placeholder-with-extensions and what to add it to the Store so need to create a SharePoint Add-on.

From the article, I understand that I probably need to UserCustomAction but this article https://social.msdn.microsoft.com/Forums/en-US/94f74735-c402-4efb-84d3-5d1dec1cb836/injecting-java-script-using-user-custom-actions-in-host-web-using-sharepoint-hosted-app it says the UserCustomAction need the full control permission on the host web which isn't allowed in the store.

Am I going down the right route to add it to the store, is there a better way of doing it or is it not possible to do this with a store app?

Many Thanks, Darren

1 Answer 1


From my understanding, there is no way to have a single code interact with both modern and classic SharePoint pages.

To make a footer for Modern SharePoint page, you must use a SharePoint Framework application (application that contains an Application Customizer leveraging the Bottom PlaceHolder or just injecting your footer wherever on the page).

To actually add a UserCustomAction, you really do need administrator permissions on the site collection, but this means that your app must use the user permissions, and not it's not.

It is briefly explained here also.

Publish SharePoint App with ScriptLink UserCustomAction to Office Store

Hope this helps!

  • Thanks. I been testing with UserCustomAction and I can deploy to my on-premises SharePoint and verything works as expected but as soon as I deploy the same app to my SharePoint Online tenant dev site I'm getting Access Denied. I'm deploying it from Visual Studio and the only thing I changing is the Deploy Location. Any idea why this might be? May 21, 2018 at 10:45
  • Although Allow custom scripts was turn on in Central Admin, I have to follow the Testing right now from this stackexchange article May 22, 2018 at 12:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.