Automatic or manual provisioning?
Provisioning (the set up) of a partner app may involve configuration or settings in both SuperOffice and the other partner service dependent upon what the app actually does.
This needs to be as automatic as possible. In certain cases, it can include manual instructions with the view of automating this.
For example, if the app requires new web panels in the SuperOffice solution, the app should ideally create the web panels for the customer during provisioning. The alternative is for the customer to manually follow a set of instructions for how to create these themselves, which will open up for errors and risk of the customer never getting the app going.
The more provisioning is automated, the better the customer experience.
Automation is also more scalable for everyone. If and when you include instructions, make sure they are as clear, and failproof as possible (simple recipes that non-technical people can follow). In other words, if you don't offer automatic provisioning from day one, be prepared to do so soon after.
Provisioning example presented during Expander World 2016
A customer sees your app in the App Store and would like to know more. They click the Sign up button and is forwarded to your website where they may read more and choose to either Try or Buy your app. This page should explain what your app does and what will happen when the customer chooses to try or buy, that way they do not have to approve anything before they know what happens.
When Try or Buy is clicked, a small app (called SuperPartner Connect in this video) may be used that will ask the customer access to read contact information from their CRM Online tenant which you may use to automatically fill out the information you need to provision. This way the customer does not have to fill out information like their company name, address and so on.
Once you have the information you need, then the Try or buy button will call the application's authorize dialog. When the customer clicks Approve it should automatically set up your app for the customer. Do remember to make sure visibility of e.g web panels is set to Everyone.
See also the full powerpoint from Expander world 2016 here: Online Application Lifecycle presentation
During provisioning of your app, the customer's administrator must authorize the app. This is a requirement and is not optional.
If for any reason a consultant must configure the application, they may not ask for the customer's username and password, instead the following flow must be implemented:
Note that a customer's administrator may authorize the app by clicking a link that includes your app_id. This will show the concent dialog for the app and as administrator, he/she may click "I approve".