+ Start a Discussion
Rutger KarsRutger Kars 

Communicating with the regular SF interface from within an external application

Hi,
 
currently I'm developing an SalesForce integration with a call application. This application provides an integrated webbrowser in which I want to load the normal SalesForce interface/application.
When a call is coming in, I want to automatically search for the account/contact who is calling in SalesForce.
Initially, I have done some investigating on the SF API which I can use. I can search directly some SQL statements for the necessary information. However, in that case I do need to develop an interface myself. What I basically want is that I use the complete SalesForce interface within my application, and that when I search for a Contact for example, that I display that contact information in SF the same way as when I've done a search in SF manually.
In that way, the user can work in SF whole day, with the standard interface, only they have another skin and additional functionality in the parent application.
 
As this is my first SF development, any help is appreciated. Btw, I want to develop it in ASP.NET
 
TIA, Rutger
Gareth DaviesGareth Davies

Hi Rutger,

What you want to do is possible, but have you considered reversing the design...

You can embed controls within Salesforce.com (S-Controls) which could be embedded views into your other .NET application, that may be an easier design pattern to exploit (and certainly the direction that Salesforce.com is developing, so it should get better over time).

S-Controls can either be tabs  or in-line with detail pages and Dashboards - with outbound messaging you could do some very slick things using a completely supported design.

Also have a look at SOSL as well as SOQL - SOSL is a search languange which means you can locate records without having to know exact phrases which can make things easier to use - depending on the application.

Cheers
Gareth.

Rutger KarsRutger Kars

Hi Gareth,

thanks a lot for your answer. I've shortly looked at the possibilities from S-Controls, but I'm not sure if that is what we want.

Our idea is to make a fully functional working environment in SalesForce, therefore, we want to use the SF site itself, so that users already know all their possibilities and UI. However, instead of working in their own webbrowser they will work within the integrated webbrowser we provide. Only under certain circumstances, we want to interact with SF, for example when a customer is calling, the SF window has to be focused on that customer, or if their are several matching customers, we want to show the SF search result window. Most of the integration is therefore from the external application to SF.

My idea was to use the default loginpage from SF. So the user will login like normal and get the same SF page and starts working on his accounts/contacts/calendar, whatever. So far, so good... This part of the integration is simple and was done in a few minutes.... After a while, a call is coming in. At the moment he picks up the call, the SF screen will load the contact information so you will have all information of your customer right away, without having to search for yourself That is the part where I want to integrate for this moment (later on, also on other places...). In the background, I will have to prepare a search query and will have to fire it to SF. I've looked for SOSL and SOQL myself, but in that case I will get all information but need to make an interface for that information myself.

TIA, Rutger

james_galindojames_galindo

Hey Rutger,

Is your call center application a .NET thick client with an embedded webbrowser? If so, you can communicate with the web browser by using straight http calls into the page from your app. You will still need to retrieve the salesforce uri prefix for your instance then just append the appropriate metadata at the end to navigate the browser.

Rutger KarsRutger Kars

Hi James,

It is indeed.... That is also what I was thinking, however, I don't know how to call the correct pages.. Which url can I use, etc...

Thanks a lot!

james_galindojames_galindo
You basically grab everything after the https://na1.salesforce.com in the url including the "/" and use that as you navigation url passed to the browser. Of course you will need to replace the above url with the appropriate server (do not hardcode though!), grab is a var passed in. So for example, login to SF and navigate to an Account Details page...now look at the url...everything after the .com is what you need. Of course each account has it's own unique id so you will need to either query SF for it or store it in your own database (whatever your thick-client uses) as it relates to this account.
Doug ADoug A
The describeSObjects call will return metadata about one or more sObjects (eg, Account, Contact, Opportunity, any custom object, etc). 

Part of this metadata are three fields that you might find useful for your application.  Namely, the Edit URL, the Detail URL, and the New URL fields for each sObject.

Download the "sforce Explorer" and try it out to see this in practice.

Rutger KarsRutger Kars
Okay, thanks a lot all of you! I will start with those comments you gave and see if I can make it work!