function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Mamta DagarMamta Dagar 

Integration between Microsoft Dynamics GP and Salesforce

Hii, 

 

I am a newbie. I am looking to do integration between GP and SalesForce. 

 

Can somebody provide me starting inputs on how to go about it.

Any kind of documentation would help.

 

thanks,

Mamta  

pbattissonpbattisson

Hi Mamta

 

If you a relatively new to Salesforce development, I would have a look at the Scribe integration on the AppExchange http://appexchange.salesforce.com/reviews?listingId=a0N300000016aZrEAI

 

Otherwise have a look through the API documentation http://www.salesforce.com/us/developer/docs/api/apex_api.pdf as you will need to make extensive use of the APIU for such an integration.

 

Thanks

 

Paul

Mamta DagarMamta Dagar

Thanks Paul. 

 

We dont want to use Scribe. We are looking forward to do an in-house development of the process. 

 

Could anybody who has previous experience with such integration suggest the difficulty levels of this process.

All I hear is that development using SF is very easy. 

 

regards,

Mamta

pbattissonpbattisson

Hey Mamta

 

In that case your best bet is to start by reading the Apex Code guide and the API integration guide I linked to previously.

 

Salesforce is very easy to develop on, but in order to integrate Dynamics with Salesforce you are going to hgave to decide which is your primary platform and from which platform you are pulling data in (are you using Salesforce and wanting to pull data from Dynamics, doing it the other way round, or wanting to pull data both ways?)

 

I have integrated Salesforce with other systems (not Dynamics) before and it is easy enough to do. I would say that having this as your first project on Salesforce will make it difficult but perhaps you should seek consultancy help? This will also depend upon the size and scope of the integration you want (a few fields and pieces of data may just be performing some web service calls in Apex from SFDC, however something more complicated will require a lot of work and care.

 

Paul

vbcrlfuservbcrlfuser

Mamta,

 

The web service API and such are rather straight forward. The only issue I ran in to and you really have to take in to consideration in the initial design is to "bulk-ify" or "batch" your calls.

 

In other words if synchronizing 100,000 contacts between systems you cannot upsert them one at a time or you will exhaust your allocated API calls per day. You should bundle them in to batches of 200, thus only using 100,000/200 = 500 of your allocated calls to get the job done.

 

Makes total sense but something I easily looked over in our first few integration attempts and had to go back and refactor code because of it.

 

Data Loader 5Data Loader 5
Have you considered to use 3rd party services? Skyvia (https://skyvia.com/data-integration/integrate-salesforce-dynamics-crm)for example.
Deepika GulatiDeepika Gulati
Hi 

I think i am little late but i recently solved this issue. 
We had MSD-SFDC integration where a SOAP Service was exposed on Nav2013 server. 

The mode of authentication used was NTLM authentication. 

I downloaded the classes from the below package in my org for Encryption of user name and password : 
https://github.com/natewallace/ApexNTLM

For integration, we made a HTTP call : 
        MSDCredentials__c mc = MSDCredentials__c.getValues('MSD Credentials');
        String username = mc.Domain__c + '\\' + mc.Username__c;
        String password = mc.Password__c;  
        HttpClient httpObj = new HttpClient(username,password,True);
        MSDIntegrationURL__c urlVar; 

        HttpRequest req = new HttpRequest();
        String body = createXMLRequest(request);    
        req.setBody(body);

        String ep;
        ep = urlVar.EndPointURL__c;
        Map<String,String> headerMap = new Map<String,String>();
        headerMap.put('SOAPAction',urlVar.SOAPAction__c);
        headerMap.put('Content-Type','text/xml;charset=UTF-8');
        headerMap.put('Accept-Encoding','gzip,deflate');
            
        req.setEndpoint(ep);
        req.setMethod('POST')

        Httpresponse res = new Httpresponse();
    
        res = httpObj.send(req,headerMap);


The SOAP Action can be obtained from RAW request in SOAP UI client.

Let me know if this helps. 

Thanks.

        
Edgar MoranEdgar Moran
Hi @Deepika Gulati can you share an example of your createXMLRequest function?. I'm trying to connect to MS GP as well, but the error I'm getting is either bad request or Internal error. Thanks in advance!
Nabamita DeNabamita De

Hi, I am quite late to the thread. Just for the information for the visitors to the post. If you are looking for a connector to save time and effort for developing from scratch, you can visit this Salesforce Microsoft GP connector in AppExchange (https://appexchange.salesforce.com/appxListingDetail?listingId=a0N30000003Id5MEAS

Hope it helps.

Nabamita DeNabamita De
Just curious, @Edgar Moran have you been able to solve the issue of bad request or Internal error?