Developing efficient and automated processes between website systems

Many organisational recruitment programs make use of what is known as an Applicant Tracking System (ATS) to publish job opportunities and allow candidates to apply for positions. In most cases, like our clients’, this system operates on a different platform to their chosen web content management system (CMS). Thus making the sharing of job postings through various channels an ongoing and inefficient challenge.

Our client was experiencing a range of issues from design control, third party updates, and inefficiency with teams maintaining two different systems and interfaces. They were also using a third system called SmashFly (job marketing) to broaden their reach to potential candidates. With their consistent high recruitment volume, this disconnection between systems has resulted in duplication of effort and missed opportunities.

They wanted to develop a connection between the two disparate systems to alleviate publishing job postings manually to both systems, and enable content to be used across the organisation’s website and associated marketing channels. The result was we created an application that ran on a scheduled basis to pull and read jobs from the ATS. The analysis looked for key details such as whether they already existed or were updated/deleted, then it reworked the structure of the data into a format that could be pushed to the CMS or marketing platform (SmashFly). The automated process negated the requirement for manual data entry or publishing. It also enhances the end-user experience by being able to consume the content on the preferred (or initial) platform.

To create the connection we worked with our client to begin developing the integration from the source ATS (IBM Kenexa BrassRing) to the corporate website and to the recruitment marketing platform (SmashFly).

We analysed the known (and unknown) specifications of both systems, content fields and architectural design. Developed some bespoke rule-based logic to ensure the mapping of data between the two systems is always 100% accurate. This involved the creation of a detailed logging and notification facility should there ever be any issues with data mapping or delivery when the system is running in a fully autonomous mode.

One of the most important considerations was that of time-sensitivity in publishing the job opportunities. New jobs need to be activated and job positions that get filled need to be removed from both systems as a matter of urgency. We worked with recruitment teams to determine the most optimal times for the automated schedule at points during the day and week, then created a facility to enable a manual trigger of the job synchronisation on-demand.

Creating the ‘API connector application’ involved getting to know the vastly different systems intimately.

We found the integration with IBM BrassRing could only be done with a SOAP-based API. And, SmashFly could only support a REST-based protocol. We developed an application to act as an intermediary between the two systems and processes a delta of the content. This was to establish whether each record is a new job post, an update to an existing or even a deletion that needs to be processed. Throughout the project we collaborated heavily with both third party vendors to understand their systems and the various aspects of the integration.

We built features that enabled updates to be reflected immediately with no caching by the website or the Akamai content delivery network (CDN).

We developed a number of small but critical features that were either unavailable or unsupported by the vendors. Such as the manipulation of data based on certain patterns, and the addition of a ‘source tracking’ code which is used to closely monitor the path an applicant takes to end up applying for a specific role. We also had to build in a feature that ensured the very latest job updates were reflected on the site immediately with no caching by the website or the Akamai content delivery network (CDN).

Our client launched the application on schedule and without any bugs or issues. Recruitment teams can now create their job posting and it is simultaneously available in the right format on the website and varied marketing platforms.

Titbits and takeaways

  1. Identifying recruitment aspirations and objectives early in the digital marketing strategy leads to more effective product and service development roadmaps.

  2. By evaluating vendors, technology and integration points in the discovery phase before scoping, you can ensure that your planning and development results in the end-product being a perfect match to the requirements.

  3. Creative problem solving in technical design can simply integrations and avoid costly customisations, as in this case, where our solution created a bridge between two systems not typically suited to interface with each other.

  4. Take time to work out the most efficient manner of connecting two systems via an API. This will ensure there is no adverse effect or delay in transporting of or rendering content to the end-user.

  5. Carefully consider exactly what business problems the client is trying to solve or what efficiencies they’re trying to create. This will make sure the final solution is not a compromise based on what one particular product or vendor offers.

  6. Collaboration and building relationships with vendors/products as early on as possible ensures an accurate solution can be scoped-out in the design phase.