+ Start a Discussion
Alex WordenAlex Worden 

Integration options for an external web application into Salesforce

My company has a stand-alone web-application external to Salesforce that provides SaaS tools for financial advisors. We would like to make our software capabilities available to financial-advisors from within their Salesforce accounts. Desired integration points include:

 * Allow Salesforce users to log-in to our software automatically from Salesforce - how would we consolidate the accounts? 
 * Allow advisors to run our SaaS tools against their leads (i.e. client profiles) that are held in Salesforce.
 * Embed our Web-UI within Salesforce - we have multiple tabs on our site. Is it possible to embed some of these in iframes on a user's Salesforce console? 
 * Make our software tools available as Salesforce applications - is there some kind of store for plugins? 
 * Manage paid-subscriptions for use of our software

Do I need to rewrite our web-application as a Salesforce app in order to integrate? 

I've not had much luck finding the right integration documentation or examples for what I'm trying to achieve. Hoping someone can point me in the right direction! 



There are a few options that can help you with these questions. 

- There are many ways to manage SSO (SAML, OAuth, home-rolled, etc...).  There will be a process in matching salesforce users to your userid, and there are a number of ways to do that as well.  Salesforce does offer an identity product (http://www.salesforce.com/platform/identity/) which can allow you to leverage a single identity across platforms, or there are a number of ways to implement yourself.
     - SAML - https://developer.salesforce.com/page/Single_Sign-On_with_SAML_on_Force.com
     - OAuth 2.0 - https://developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com  

- I am not sure what your SaaS tools are, or what they do, but we do have a generous set of APIs that you can use to access the salesforce data layer (https://developer.salesforce.com/page/Salesforce_APIs).  Depending on what your tools do, they can connect to the salesforce data through our api, and then manipulate as desired.

- We have a product called Force.com Canvas which is intended to allow you to bring in your UI into salesforce (https://developer.salesforce.com/page/Force.com_Canvas).  This will allow you to surface some or all of your UI, and then connect to the salesforce side via a javascript library to hit the salesforce data layer.

- Salesforce does offer a couple of ways to manage plugins (what we refer to as packages and apps).  The first is the AppExchange (https://appexchange.salesforce.com/) which is a store fromt for many apps that have been developed and offered by our partners.  You can also do a Private AppExchange (https://appexchange.salesforce.com/listingDetail?listingId=a0N3000000B4VlZEAV) which is a curated list in your organization that your end users can use or install into their devices.

- If you want to create a package for your app, you can do so and then list it on the AppExchange.  If you are an ISV Partner, you can also track installs, manage licences, manage subscriptions and payments, etc..

- It is hard to say if you need to rewrite your application.  Realistically, you will need to do at least some rewriting, but the level really depends on what youa re doing.

I would definitely suggest you reach out to the Salesforce Partner Program to get more informations specifically around becoming an ISV partner and selling your app - http://www.salesforce.com/isvforce/overview/

Hope this helps.