HubSpot and JazzHR contacts sync for Smart Savvy

Meet the client

Smart, Savvy + Associates is a recruitment and professional development company based out of the Pacific Northwest, specializing exclusively in finding marketing, communications and sales professionals. They have been in business for over 11 years, and have clients that include Best Buy, Coast Capital, MEC, Hootsuite, YMCA, and Save On Foods, to mention a few. As such, they need to provide the highest level of service to both clients and applicants.

The Big Problem

Being a recruitment company, the applicant tracking system (ATS) is a vital tool for managing thousands of applicants. They wanted to be able to engage applicants more effectively by connecting their ATS to their customer relationship management software (CRM), so they could connect them with their marketing efforts and communication tools. To do this they needed to build out an application programming interface (API).

The ATS (Jazz HR) had to play nice with their CRM (HubSpot). Having their ATS synchronize contacts with their CRM will save time and help provide a more robust way to keep communication flowing with applicants. The goal was to have a one-way flow of new applicants in JazzHR over to the HubSpot Contacts API on a regularly scheduled basis. Josh, from Smart Savvy, had a clear picture of the project and its scope but needed development expertise to build out the API. Another client referred us to him as someone experienced in API integrations, and here is where we came in.

Our Solution

Initially it looked like we may be able to use the drag and drop API integration service of but soon discovered that the way the API works at JazzHR this wasn’t actually a possibility. Instead, we changed course and created a stand-alone PHP script that could be run to sync the contacts over.

The limitations of the JazzHR API meant we would need to perform multiple requests to gather all the details of the applicants we wanted to sync. We started by making requests to JazzHR to get the basic details of 100 applicants at a time, requesting only applicants from 7 days ago (performed on a daily basis). Then we made an additional request for each one of those applicants to get their email address, applicant source, and LinkedIn url. The Guzzle PHP library is our go-to for performing HTTP requests to web API’s, and it came in handy for working with both the JazzHR and HubSpot API’s.

After gathering all the applicant data, we simplified our collection of applicants so it only contained the information useful for creating our new HubSpot contacts. Some information, like the date the applicant was created, needed the format converted to meet the HubSpot requirements. All new contacts also have a unique HubSpot property applied to them so that Smart Savvy can easily find this group of contacts on HubSpot and include them in a dynamic contact list. We then looped through the contacts and submitted them to the HubSpot Contacts API to create them, one at a time. As actions take place we track in an activity log and all errors are added to an error log, in case we need to track down bugs in the future.

The script can be triggered manually by visiting a specific url or automatically using a scheduled CRON process. Smart Savvy’s hosting didn’t allow for CRON usage, but we discovered, which made it ridiculously simple to run a daily CRON task with error notifications for a miniscule yearly fee.

I would highly recommend working with Jon Campbell on development projects like API’s.
He has a talent to be able to grasp new projects and their details comprehensively and work very quickly in an agile fashion. On top of this he is a competent communicator and kept me in the loop throughout the whole project. We were able to collaborate whenever we encountered obstacles and he always had helpful solutions to be able to tackle any problem we faced. The final product we received from Jon not only met out initial goals, but with the help of his suggestions gained us additional valuable information that are able to benefit regularly from in our business.
If your wanting to build an API, Jon Campbell is the developer you are looking for. - Josh Williams, Smart Savvy + Associates


The overall result of the system is that each day the applicants in JazzHR can be brought over to HubSpot contacts in a mere matter of seconds, without anyone at Smart Savvy needing to do any work. This is guaranteed to be a real time saver that improves the lives of the Smart Savvy team, so they can invest their time into better serving their clients. Working with Josh from Smart Savvy was great he was super responsive to our questions and quick to pick up on our technical communication style.

We really loved being able to work with a local company, especially knowing the job we did for them is potentially making it easier for people in our own community find suitable employment.