
I'm the IT co-ordinator for a charity called Engineers Without Borders UK, and I'm also rather new to Salesforce, but this summer we've got a couple of people working on hooking it up to our Drupal site (www.ewb-uk.org) - it was originally hooked into CiviCRM, and Salesforce is stepping in to take over from this, and provide some bigger and badder functionality.
I've been looking at what’s available, and the PHP Toolkit and Drupal>Salesforce, Webform>Salesforce, and Ubercart>Salesforce Drupal modules look like they’d be very handy for us. Assuming that they do what they say on the tin, this is what I’m thinking we’ll use for the integration. However, there are still some areas that are fairly crucial but don't seem to have obvious solutions - hence if anyone could shed some light that would be great. Bear in mind that generally we try and use existing apps/projects since there are very few permanent staff, none of whom are IT people, so creating custom solutions generally leads to headaches. However, if this is the best way forward I guess we'd have to bite the bullet!
1. One of the tasks we’ll be performing a lot is Salesforce Contact creation from Drupal Webform data (and also in Salesforce, but that’s all built in!). An example of this is when a Training course webform (or maybe Ubercart object, if this is what we use for billing etc) is submitted, certain fields would be used to map a new Salesforce Contact. Assuming that this is simple enough to set up using the Salesforce module, can Salesforce/Drupal be configured to do a comparison (rather than automatic replacement) for existing Salesforce Contact details, and flag it up for manual confirmation (or something similar).
2. Drupal Webforms (and maybe other content types, such as bookable training courses) will also need to be set up from Salesforce – looking at the modules out there, most seem to focus on Drupal>Salesforce rather than Salesforce>Drupal (Web2Anything etc...), with some custom solutions such as http://drupal.org/node/500052. I’m loathe to use/create a custom solution (since, due to volunteer turnover, in the future it probably won’t be me who updates it!): is there a way to achieve this with existing projects/apps?
3. We also want (need!) to integrate billing into the system, for two purposes – booking courses/events on the website, and making donations (gateways we like are Paypal and Google Checkout, but open to influencing). There are ways to do it for Drupal (Ubercart + Ubercart>Salesforce Module) and for Salesforce (http://sites.force.com/appexchange/listingDetail?listingId=a0N300000016cbMEAQ#), but the Salesforce apps would, I assume, need customising to link to Drupal. Since the important part is having a seamless payment processing service rather than storing billing data (although this would be a plus, I imagine), what would be the simplest way for us to go about this?
4. More generally, it could potentially be useful to build historical links to old Drupal Webform data (such as if a person has signed up to training courses in the past, etc). Is this something that’s achievable, or does Salesforce integration build off of newly submitted/imported data (i.e. not mySQL data)?
I hope that makes some sense! If you can shed some light that would be a massive help - I've had a search in the archives but nothing seems to be applicable. Any questions, just shoot me a reply and I’ll clarify as much as I can.
Many thanks
Ben
3 réponses

Hi Ben,
Thanks for your posts. From your description, it seems that you would like to integrate drupal to salesforce because all your lead data is in salesforce and now you are doing your crm in salesforce.
There are 2 solutions to this .
1. Real time integration where we could create a module in drupal which would push the leads from drupal to salesforce and would do the lookup on salesforce for existing customers and either insert or update contacts in salesforce automatically.
2. There can be a batch solution which can run at scheduled intervals which would query drupal for new contacts and update salesforce. This would need to be installed on a server and made to run at regular intervals to synchronize the data.
We have both the solutions in place and would like to hear from you on the integration needs. Could you please let me know your thoughts on the solution and send me your contact information so that we can talk further? Please email me directly at info@thylaksoft.com for further details.
Thanks
Buyan