Category Technology
Publication date
06 July 2015

Your Connected Website

Modern websites talk. They talk through great content to the visitors who come to read them, but they also talk through APIs (Application Programming Interfaces) to other systems. Does yours? Should it? Could integrating your site with other systems bring you greater return on investment?

Your website can potentially talk to a plethora of other systems, such as your CRM (and here's why it should), your social media presence, your finance applications, other websites, forums, 3rd party apps and mobile apps... the list goes on.

Chatty Systems

You might be like any of these examples:

  • John captures leads via forms on his website, and sends the results through to Salesforce where he's got sales automation business rules which fuel his whole sales pipeline.
  • Mary has both follow and share buttons for her social media presences. Her embedded social media timelines draw fresh content to her site and she can update her social profiles with content directly from her site.
  • Joe has a webshop and a separate finance application for doing the accounts. He has a feed which exports data from his shop and goes straight into his accounting package, saving tons of time.
  • Síle wants her content to appear in multiple places, so she has exposed it via an API so that mobile applications and newsreaders can consume it. Now her adoring public can consume her content any way they choose, increasing her readership.
  • Bob has an active forum community. Users of his website are logged in automatically to the forum, and can pass from site to forum seamlessly. Bob's real goal, however is tighter integration, so he is considering Drupal's Harmony  as a pure Drupal solution for his forum.
  • Judy wants a richer content experience, so she tags her content with taxonomy terms powered by WikiData - a database of well known people, places and things. This allows her to not only control her vocabulary without editorial overhead, but also to access rich data within the context of her own content and enhancing it.

Joining The Dots

There are many ways to connect sites to other applications. Some sites, e.g. social ones, often supply ready made embed code which you simply copy and paste onto a page. Simple, yet effective, this is very common. You can get tighter integration by employing some more specialist modules, e.g. Drupal's Twitter module, which 'provides API integration with the Twitter microblogging service'.

Some other third party applications provide a public API you can talk to: e.g. Trello or Freeagent or Wikidata.

Often APIs are accessible over a communication method known as 'SOAP' calls, but it has become more common for these to be over RESTful interfaces, which simply allow normal URLs, like a web address to have functionality attached to them.

Why Bother?

When visitors come to your website, no longer are they simply thinking 'What can I read here?', but rather they are thinking: 'What can I do here?'. Read? View? Download? Comment? Interact? Create? Buy?

The same should apply for site-owners. 'What can my website do for me to make my life easier, or otherwise bring me benefit?'

Integrations with other systems can bring that to life. If your website can feed your CRM up to the second live lead data without any copy and paste, that is simply immense. Equally, if you can get your financial transaction data from your web shop into your accounts package simply and reliably, not only are you saving countless person-hours of tedium, but the overall quality of your data will be far greater than that achieved by a laborious, error-prone manual process.


Gotchas & Things to Consider

In any information exchange process it is important to consider the workflow before you begin. You need to answer questions like:

  • Is this a master-slave relationship, where one system holds the canonical data for both systems?
  • Is the data-transfer one-way?
  • Can one system write to the other (push)? Or must a system request data and do its own writing (pull)?
  • What happens if the data on the systems diverge?
  • How does validation work? Do both systems have separate validation rules for data? Do they run over an API? Do they even agree? (they really should!)

For example, say you have a CRM and a website, and they both contain contact data. Which is the one true source of contact data? Does the website merely capture contact data (e.g. in a shop)? Do users have access to update it thereafter? What happens in the CRM when the website gets new data?

Equally, if CRM data changes? What happens on the website? Nothing? Or is it updated based upon CRM?

Lastly, what happens if communications fail? Is there a Plan B? Is there a log? Can the system re-try the transaction in the event of failure?

All these questions need answers, or else, your Plan B might end up more like this.

Finally

One very important point to close on is this:

Make sure you have expert support for your chosen CRM on hand before you begin any integration project. I can't stress this enough. Your project will go more smoothly, it will be faster, and you will end up with a better product that better fits your needs once you engage with experts at both sides of the equation.

 

We've been doing integrations with other systems for years.

Would you like to bring your website to the next level?

Yes, wire up my website!

 

Profile picture for user Anthony Lindsay

Anthony Lindsay Director of Managed Services

With decades of experience, Anthony leads the Annertech Managed Services Team, delivering top quality design, development, and, ultimately peace-of-mind services to all of Annertech's wonderful clients.