1

I know similar questions have been asked before... but they are a bit dated and there was never a clear answer. I'm looking to send order information from Craft Commerce to Salesforce.com. It's a little hard to believe that there are no simple / no-code solutions for this. Has anyone had success with a SFDC/Craft integration?

Thanks

2 Answers 2

3

Sending full order details from one system to another is invariably pretty complex. So I think that you're perhaps under-estimating things rather in thinking their might be a 'no-code' solution to do this sort of thing.

I have not used Salesforce, but I have written a bunch of code to push orders from Commerce to other systems (DEAR Inventory and Freshdesk mainly).

If you just want to push order & customer details in a basic way to a CRM/helpdesk, it's not hard - probably just a few hours work for a competent developer. You could use an event driven approach to simply push the customer and item details to your CRM/Helpdesk, say, if you don't really care about perfection (i.e. you're not pushing to a system that needs 1:1 precise mapping, because it's resulting in actual stock related outcomes, for example).

On the other hand, if you want to push orders to a more complex system, with full integrity, it's generally quite a bit of work to bridge the inevitable inconsistencies between the systems.

As an idea, it took me about two weeks of full time work to write the basic order pushing mechanism between Commerce and DEAR. I had the bare bones working in a few hours, but 'the last 10% takes 90% of the time' certainly turned out to be true here.

In terms of the 'how' of this, I used a Craft module with console controllers (and a dev environment with a bunch of test orders that covered the wide range of possible orders we offer). This allowed me to develop a robust pushing mechanism easily, with immediate feedback and logging. DEAR offer a reasonably decent REST API (indeed, this was the main reason for using DEAR - as a lot of the other inventory type systems have really crappy APIs).

This is not event driven, it simply runs on demand when called, checking for new, unprocessed orders. It could be easily adapted to automatically run whenever a new order comes in, of course.

Later, I bolted on a Craft control panel GUI back-end for this, using the wonderful Sprig plugin, to make this easily accessible to our order processing staff. (Not fair to ask those sorts of people to use CLI tools really!)

Of course as new business things come along, be they new product categories, or sales/promotional type things, or bundles etc. etc. - there is always some significant ongoing work to maintain integrity of the mapping between Commerce (that in our system really only handles the initial order capture, and DEAR (that does all the order processing/inventory/stock/documents)...although I do use the Commerce order statuses/emails as well (so that all our messaging is consistently templated/branded), by reaching back from DEAR into Commerce)...

All this is a very long way of saying - these things are invariably much more complex than they appear on the surface, and typically require more than a no-code approach to be successful & robust over the long term. The fact is there's basically zero chance any two systems will model your products/variants in quite the same way. Certainly, in our case, there is absolutely no way a no-code system would have helped us - or been capable of doing even a small fraction of what we do with DEAR.

On the other hand, with the relatively simple needs of our Freshdesk integration, I'd imagine a no-code approach mightbe feasible - but only if someone did the (substantial) initial work for this. It would likely be a reasonably expensive plugin, and one that needed regular and reliable updating to stay working, as both APIs will inevitably move over time...

(Salesforce is notoriously complex and unpleasant to develop with, according to Twitter at least, so perhaps factor that in too!).

2
  • 1
    Well, that's a great answer!
    – Brad Bell
    Jan 22, 2022 at 5:48
  • Great answer and appears to be the right answer at the moment. Unfortunately, this is a bit too involved for our needs (which is really pretty basic) - so may need to go in a different direction. Thank you for you're thorough response!
    – gwineman
    Jan 25, 2022 at 18:45
1

Not much to add to Jeremy's answer except you may also want to consider instead of talking natively to SalesForce, there's also middleware like Workato and eBridge. You put the data out in the right format and they handle the rest of the integration.

Unfortunately the lack of readymade integration is why Commerce isn't as accepted in the enterprise. However the world for Craft opens up a bit when you look at what others of more established platforms are doing in terms of integrations, eg Magento, WooCommerce, Shopify, OpenCart, etc.

1
  • I've started looking at Shopify for this... it may ultimately be the solution... is it just me or do they raise prices on a monthly basis??
    – gwineman
    Jan 25, 2022 at 18:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.