Of Joomla and CRM
- Category: Tim's Blog
- Published: Friday, 15 March 2013 14:20
- Written by Tim Walls
- Hits: 5010
As mentioned in my last post, I'm currently getting to grips with setting up this new site, and one of the key parts of putting any site together is managing the integration with other applications. One of those applications is the CRM tool I use for managing customer details, leads, and so on. It's a Software-as-a-Service application called Capsule CRM - a lot simpler (and more cost effective!) than something like Salesforce, but perfect for a small business.
In the first instance, I wanted to integrate Capsule into this site in a very simple way. When somebody enters their details into the Contact form here on snowgoons.com, rather than simply firing an email off, it would be nice to create a new contact automatically in the CRM system to record the new contact's information and their enquiry.
Fortunately, Capsule offer a RESTful API which lets third parties build integrations into their system - as any good SaaS provider should! They also offer a very simple webform API for inserting contacts into the CRM - exactly what I needed. A quick search didn't reveal an existing Joomla module to take advantage of this, however. Still, as they say - when life hands you lemons, make lemonade: this looked like an ideal opportunity to have a go at writing a Joomla module from scratch.
So, Emacs is fired up, several cafetieres of Guatemalan Elephant are drained, and 24 hours later we have a fully-functioning, reusable Joomla module that integrates with the Capsule webform API. The module offers various customisation options in the 'back end' - allowing the user to choose which fields a correspondent must provide, default messages, etc. - and is installable into Joomla as a 'standard' module package, with no coding required by anyone who uses the module.
That so little effort was involved really is a testament to how the introduction of APIs and Service Oriented Architectures has changed the IT landscape. Two completely disparate systems from different providers running in very different environments tied together to meet a business need in less than two days, with only a few lines of code. Not bad going!
My only caution is this - fantastic though Joomla is, the developer documentation really needs some work...
You can download the module here: mod_capsule_crm.