As a Salesforce admin , one of the challenges is deciding between an individual license or a shared license for your external applications which are integrated with Salesforce. In a typical enterprise Salesforce org, there is a possibility of more than 10 to 15 applications which are integrated with Salesforce and assigning 10 to 15 licenses become too costly at some point. The default option is to assign unique license for every application and it becomes frustrating for IT to keep asking for more licenses. What if there is a better way to decide on sharing license vs separate license? This was the question I was wrestling with and I ended up answering it myself. Here are the questions which would help you make the decision.
Does your external application update Sensitive or Confidential information in Salesforce?
If you use an ERP system like SAP or any other ERP, they usually update order information, pricing information, and opportunities in Salesforce. If that is the case, you would like to want a separate license because you want to know which user updated the data in Salesforce. E.g of Sensitive data can be Opportunities, Accounts, Order, Price books or custom objects containing pricing data.
Does your external application create or update with compliance data like SOX , FERPA data ?
If your external application updates compliance data like financial data in Salesforce, there is a need for a separate license. E.g invoices, orders, accounts, opportunities. If you are in Manufacturing, Higher Ed or Financial services, there needs to be an audit control on who reads the data, updates the data or creates the data in Salesforce. This would be a scenario for a separate license.
Does your application need to create objects or fields in Salesforce?
In some scenarios, external applications need to create objects and fields at runtime automatically depending on data. If you have a data-dependent application in Salesforce which is highly configurable, external applications might have to create custom fields automatically. In this scenario, you would need to have a separate license. E.g change management applications, pricing applications, and others.
Does your application create or update privacy data?
If you are using marketing automation solutions like Marketo, Pardot, Marketing cloud or Survey apps like Confirmit, Survey monkey etc, these apps update opt-in and opt-out fields on leads, contacts based on user preference. So these applications certainly need unique licenses which help to audit them. This would be really helpful for companies dealing with European customers to manage new regulations like GDPR .
Is your application an internal application or external application?
The last question is whether your application is an internal application or external application. Internal applications are applications which are managed by your internal IT team, within your enterprise network. External applications are outside your network like cloud applications like Salesforce, Workday, etc.
When would you share a license to save some costs?
If the answer is no to all the questions above and if it is an internal application, you can share an existing license. Typical scenarios on these are reporting applications which just query data from Salesforce and never create or update any data like Business warehouse, crystal reports etc. Applications which just extract data from Salesforce and do mashups are also examples where you can share with an existing license.
So to summarize, here are the key takeaways for you.
- If your external application does not create or update confidential info, compliance info, metadata in sfdc, privacy data, you can share an existing license.
- If your answer is yes to any of the above questions, you need a separate license.
- When you create separate licenses for your external app, have the application name in the username . E.g Sap@xxcompany.com, marketo@xxcompany.com. This would help to identify usernames and which application is using it easily.
As always feel free to post your thoughts on when you share your an existing license for your external application? Feel free to email me at buyan@eigenx.com for any questions or guidelines on this.