2

I'm developing a canvas app which uses an iframe. I'm handling subscription and billing on my side, so I need to maintain a list of organization IDs who have the application installed, and their billing status.

I need a way to be notified of new installations, and to get the organization ID so I can start the billing process.

Is there a way, such as a HTTP request, or any other automated method which I can use?

Otherwise, is my only other option to ask the org admin to manually give me the organization ID?

EDIT: The post-install APEX script will work: HTViewHelpDoc

2 Answers 2

3

If this is a managed package which has completed security review, you can leverage the License Management Application (LMA) which installs a License object in your License Management Org (LMO) (typically your own personal Salesforce org), this object has the Org Id on it.

The license management process begins when someone installs an app from AppExchange. Salesforce automatically performs the following actions.

  • Creates a license in the installer's organization. A copy of that license is stored in the Licenses tab of the LMA installed in your LMO.

  • Updates the package version with the license information.

  • Creates a lead with the installer's name, company, and email address. The lead source for installers is always Package Installation. Use the LMA to manage licenses for managed packages. By modifying the license records, you can control how many users in the customer organization can access your package, and for how long.

enter image description here

0

We have a similar situation where we make a HttpRequest from both an InstallHandler and the normal app logic. The remote end is a Salesforce Site that requires no authentication, but in our case the request is an idempotent read (a GET) so the lack of authentication is not a problem. But I suspect that would not be acceptable for your situation.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .