Our Hubspot integration works using the Hubspot API for now we only have one integration but may look to add others in the future. The one we have now is the 'Calls to Contacts' in integration which uses the Hubspot API as well as call data to create contacts, more information on the Hubspot API call can be found here:


https://developers.hubspot.com/docs/api/overview

https://developers.hubspot.com/docs/api/crm/contacts


How it works

On first run of the integration, we will get all contact data from your Hubspot account and store it against the property in the back-end. Every 5 minutes (configurable)  we will create/update any newly created contact records.


When you receive a call, the call is logged as normal, however every 5 minutes it will look for a match against the Hubspot records and sync the call against it. If a contact is found it logs call data to it, if no contact is found it will create a new contact:


NUMBER@calltracking.com.au


When the new contact is created it will log a call against it.





Setup & Settings


In the template section, select the Hubspot Integration.



Click Install.


You'll see the Template will now appear in the Assets section.

Click the Recipe and then select 'Edit Recipe'


The flow will looks like this:



Having a look at the steps, we can see the following:



Breakdown of the Recipe steps:


1.- Trigger


It initiates the recipe actions, follows in-sequence delivery, maintains processed job records, prevents duplicate processing, and ensures job completion in order.



As a default, the trigger of the downloaded recipe is already configured, but if you are also able to tweak with the options.



Time Unit: The interval used to trigger the recipe (minutes, hours, days, weeks, months, custom).

Timezone: Area where the business is based.

Trigger every: Insert the value related to the time unit.


ACTIONS

Every recipe contains a set of actions, which dictates the nature and the steps the integration is going to follow.


2.- Call Query


This step shows an alert notification because the connection to the FDX account has not been established.


To do so, on the window to the right, select "Connection" and add the required information to connect to your account.



Where to get Account SID/Token


Once the connection is established, on the same window select "Setup"


If you click "Setup", you can configure what information will be pulled out from the queries.

Resource Level: Indicates the extent to which the calls will be queried (Account, Property, Single Call).



Required field:

Date From: The date is going to start


Optional fields:


Date_To: The date is going to end

Disposition: Answered, Unanswered, Busy

To: Inbound number

Endpoint: Answerpoint

Attribute_Source: Call tracking information

Attribute_ Medium: Call tracking information 

Attribute_ Campaign: Call tracking information 

Attribute_ Content: Call tracking information 

Promp_Keys: Keys pressed if IVR menu is available

Unique:

Results_Count:

Results_Skip:


 

3.- If (conditional)

 

It takes a path taking into consideration whether or not the conditions were met. (the CallSid is not present/new - NO / the CallSid is present/existing - YES.

 

If the CallSid already exists, then it won't action any further.

If the CallSid is a new entry, it proceeds to action the query.

4.- Stop

Stops the job, and no query is actioned for that existing CallSid.

 

5.-Repeat for each

So the integration doesn't stop after sending the first query, an action has been added to repeat the steps.

6.- Searching contacts in HutSpot

 

As you can notice, there is an alert notification in the sixth step, this is because you need to log into your HubSpot account and establish the connection and the integration can communicate and send the information.






Follow the steps until the connection is established.


Once the connection is online, the alert notifications should be gone from the rest of the steps.


7.- If (Conditional)

It takes a path taking into consideration whether or not the conditions were met. (Contains a value in "ID" - YES / Does not contain a value in "ID" - NO)


If the entry has the "ID" value, then it will proceed to step 8

If it is a new entry (no "ID" value), it proceeds to step 9


8.- Post parameters if HubSpot ID was present)


9.- Else (Conditional) -Start

Similar to the IF conditional, it checks for previous actions and requirements to decide which action to perform.


10.- Creates the contact if HubSpot ID is not present


11.- Post parameters if HubSpot ID is not present