It’s no understatement to say that I’m a massive Apple fan. I bought my first Mac back in 2008, and if there’s been an Apple version of a product or service since then, it’s pretty much a sure thing that I’ll choose that over a competitor’s offering.
I also use HubSpot fairly heavily too, and have configured other facets of our business to work alongside it. Our website utilises several of the HubSpot CRM features, including live chat and the ability for prospects to book meetings directly into a member of our team’s calendar.
The problem is that HubSpot only has native integrations with Gmail and Outlook. If you’re an iCloud user like me, any events in your iCloud calendar can’t be seen by HubSpot.
So why is this a problem...?
Calendar integration is an area that’s becoming increasingly important in HubSpot, particularly on the sales / CRM side. Features like Meetings are tied in to your availability for a real-time conversation with a lead. By granting HubSpot access your calendar, the software can automatically set your availability for meetings according to what events already exist.
So that means that if your normal work day is 9am - 5pm, Monday through Friday, but you’ve got a two hour meeting on Thursday morning at 11am, the software is intelligent enough to note that you are busy during that period and automatically set your availability for meetings accordingly.
Historically, I’ve been happy to use Google for work stuff and iCloud for personal stuff, but as I start to rely more heavily on the HubSpot CRM, it’s become problematic. Having two independent calendars on different platforms means I can easily end up double booked.
Reality is that sometimes personal appointments happen between 9am and 5pm. Whether it’s an hour away from the office to visit the dentist or the occasional cheeky early finish on a Friday to catch a movie, the events in my personal calendar often have an impact on my availability for “work stuff”.
My options were to either migrate myself (and my fiancée, along with all of the upcoming events in our shared calendars, which already extend into late 2018) away from iCloud and over to Google, or find a way to get the events I put in to my personal calendar across to Google.
In this article I’m going to outline the method I use to ensure any events added to my personal iCloud calendar are (at the very least) acknowledged by HubSpot.
As I mentioned above, unfortunately there is no native integration between HubSpot and iCloud. This meant that ultimately I would need to continue using Google as my main “HubSpot” calendar, and somehow figure out a way to get my iCloud appointments to sync across to Google.
I considered a couple of different options, but the solution I eventually decided on was IFTTT.
IFTTT (If This Then That) is a simple but incredibly powerful automation tool that allows you to connect a variety of apps / services, and perform actions in one app based on a set of conditions in another. IFTTT refers to these automations as Applets, and there are over 360 different services you can choose from.
IFTTT is fantastic for simple automation of the digital services that we all use day-to-day. For example, I have an Applet that connects my iPhone to the local weather service and sends me a push notification if the temperature drops below 4°C overnight (as that means I’ll probably need a few extra minutes to de-ice my car windscreen in the morning).
In this case, I created an IFTTT Applet that keeps an eye on my iCloud calendar, and whenever it sees a new event added, creates a duplicate of the same event in my Google calendar.
Here’s how it works...
First, I logged in to my Google Calendar and created a new calendar called iCloud Sync.
To add a new calendar, navigate to your main Google Calendar page. In the column on the left (underneath the small, monthly calendar view) there should be a section labelled My calendars. To the right of that, there’s a dropdown arrow. Click that, and then select the Create new calendar option.
Name your new calendar iCloud Sync, customise the other available settings to your liking and then click the Create Calendar button.
(NOTE: The rationale for the new calendar is that I wanted to ensure that whenever I looked at the calendar app on my iPhone or Mac, that I wasn’t seeing multiple instances of the same event. By creating a secondary calendar I can simply turn off / hide those duplicate events in apps like Fantastical or OmniFocus, but still keep the events in my main Google calendar.)
Next we’re going to jump over to IFTTT. If you don’t already have an IFTTT account, you can sign up for one here.
Once you’re logged in, click My Applets in the main navigation, and then select New Applet.
You’ll then be taken to a page where you can begin to create your Applet. All IFTTT Applet’s follow a simple structure - if this is true, then perform that action (“IF This Then That”). The first thing we need to do is define the service and corresponding trigger for our Applet.
You’ll see that the +this text is highlighted blue. Click that link, and you’ll be taken to a page where you can select your service. For this Applet, the service we’re going to use is your iCloud Calendar, so type iOS Calendar into the search bar at the top of the page, and then click the icon.
You’ll need to grant IFTTT access to your iOS calendar, so click the Connect button and enter your details accordingly.
Next we need to choose our trigger. Depending on your own personal iCloud setup, you could choose New event added to any calendar or New event added to specific calendar. I’ve chosen the latter, and if you’ve done the same you’ll need to specify which iOS calendar you want to sync on the next screen.
At this point our trigger is built. We’ve told IFTTT that we want the Applet to run anytime an event is added to our iCloud calendar. The next step is to define the action that will occur when our Applet runs.
At this point you should be back on the page where we began. You’ll see that the +this link has been replaced by the iOS calendar icon, and the +that link is now blue, which you can click to begin the next phase of building your Applet.
The action service we’re going to use is Google Calendar, so type Google Calendar into the search bar and then select the relevant icon. As you did with iOS, you’ll need to give IFTTT permission to access your Google account.
Once you’ve done that, you’ll be able to choose what action you want to perform - Quick add event or Create a detailed event. We’re going to use Create a detailed event.
Next you need to define the details of the event that will be created in your Google account. Work your way down the Complete action fields page, beginning with the Which calendar? option, where you’ll need to select iCloud Sync (or whatever you named the new Google calendar you created earlier).
Next, you need to ensure that all of the relevant the data / variables from your iCloud calendar - event title, start time, end time, etc. - get sent to the appropriate place/s in your Google calendar.
You can achieve this by using IFTTT “ingredients”, which are the individual pieces of data that are being shared between two services. For this Applet it’s fairly self-explanatory, but here’s how I’ve configured my ingredients for reference:
- Start time = StartDate
- End time = EndDate
- Title = Title
- Description = Notes
Once you’ve done that, click the Create action button.
The final step is to review the Applet you’ve created. You have the option here to rename it, however this isn’t necessary and leaving the default name will help you to identify the Applet in your account. I also typically turn off the Receive notifications when this Applet runs option.
Click the Finish button, and you’re all done! From now on, any events that you create in iCloud will copy across to Google without you having to do anything, and will be able to be seen by HubSpot.
There is one limitation that I’ve discovered so far, and that is that if I need to edit the original event in my iCloud calendar, those edits don’t sync across to Google.
If I’m honest, this hasn’t been a huge problem. Personal events are much less likely than work meetings to be rescheduled, and if there is a major change I can simply delete the iCloud event and re-add it with the updated details.
This is by no means a perfect solution, and I may end up revisiting it in future. For now though, it serves my immediate needs and I’m happy with the way it performs.