Installation

To install and run SSIS Integration Toolkit for HubSpot, your system must have the following components installed. 

  • A supported SSIS design-time or run-time, which can be one of the following:
    • SSIS 2016
    • SSIS 2014
    • SSIS 2012
    • SSIS 2008 R2
    • SSIS 2008
    • SSIS 2005

    For SSIS runtime, the installation should be done by using the corresponding SQL Server installation media (most likely in CD/DVD format), and you must select the "Integration Services" component during the installation (as shown below).

    Integration Services Runtime Selection

    Note that when using SQL Server 2014, a cumulative update is required (a recent service pack, such as one of the following, is more preferred) in order to run our software during runtime.

    For SSIS design-time, you should be installing the version of SSDT (SQL Server Data Tools) or BIDS (Business Intelligence Development Studio) that aligns with the SQL Server version that you plan to use for your final deployment (the runtime).

    • When targeting SSIS 2016, you would use SSDT for Visual Studio 2015 available for download at https://msdn.microsoft.com/mt186501.aspx
      • Note that this SSDT installation can be used to target SSIS 2014 or 2012 as well.
    • When targeting SSIS 2014, you can use either one of the following:
    • When targeting SSIS 2012, you can use any one of the following:
    • When targeting SSIS 2008 R2 or earlier, you would have to install the Business Intelligence Development Studio that is shipped with the installation media of the corresponding SQL Server version. 
  • .NET Framework 3.5
    • For any version before v1.2, .NET Framework 3.5 is required. For v1.2 or later, .NET Framework 3.5 is only required when you use SSIS 2005.
      • If you are using Windows Server 2003, Windows Server 2008, Windows Vista, Windows XP operating systems, you would install .NET framework by downloading it from Microsoft website.
      • If you are using Windows Server 2008 R2 or 2012 family of operating systems, .NET framework 3.5 should be installed using Server Manager program by adding .NET Framework 3.5.1 features.
      • If you are using Windows 8, go to Control Panel -> Programs and Features -> Turn Windows features on or off, then select .NET Framework (includes .NET 2.0 and 3.0).
  • Windows Installer 4.5
    • If you are using Windows Server 2008, Windows Server 2012 family of operating systems or later (including Windows Vista, Windows 7, Windows 8, Windows Server 2012 R2, Windows Server 2016), you do not need to do anything since the latest Windows Installer has been installed by the operating system.
    • If you are using Windows Server 2003 family of operating systems (including Windows XP), you should install Windows Installer 4.5 by downloading it from Microsoft website.

When you have confirmed that your system satisfies the above prerequisites, you can navigate to the KingswaySoft website at http://www.kingswaysoft.com to download the installation package. In the download page you will find two download links. One for x86 sytems and one for x64 systems. Make sure to choose and download the correct package for your system. 

download options

After you have downloaded the package, you can install the software by following the installation wizard. 

Assigning Permissions

The HubSpot Connection Manager retrieves tokens from the HubSpot app, once you give authorization. These tokens are then stored in Registry so that once they have expired, our component will automatically request new tokens from HubSpot to minimize user effort, and replace the existing tokens with these new ones in Registry. In order to achieve this, there must be proper permissions given to the KingswaySoft folder in Registry.

Start by opening the Registry Editor, and navigate into the following folders:

  • HKEY_LOCAL_MACHINE > SOFTWARE > KingswaySoft > SSIS Integration Toolkit for HubSpot

Registry folder

  • Right-click on the SSIS Integration Toolkit for HubSpot folder in the KingswaySoft folder and select the Permissions option. Enable the following permissions to give yourself the permissions to modify this folder.

Give Permissions

Using the HubSpot Connection Manager

The HubSpot Connection Manager is an SSIS connection manager component that can be used to establish connections with HubSpot.

To add a HubSpot connection to your SSIS package, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu. You will be prompted the "Add SSIS Connection Manager" window. Select the "HubSpot" item to add the new HubSpot connection manager.

new connection

Add HubSpot Connection Manager

The HubSpot Connection Manager contains the following three pages which configures how you want to connect to HubSpot.

  • General
  • Advanced Settings
  • More Info 

General page

The General page on the HubSpot Connection Manager allows you to specify general settings for the connection.

HubSpot Connection Manager

Token Location

HubSpot retrieves tokens from the HubSpot app, once you give authorization. The tokens are stored in Registry so that once they expire, our component will automatically request new tokens from HubSpot to minimize user effort, and replace the existing tokens with the new ones in Registry. You have two options to choose where in registry you would like to store these tokens:

  • Local Machine - HKEY_LOCAL_MACHINE
  • Current User - HKEY_CURRENT_USER
Hub ID

The Hub ID specifies your HubSpot portal. This information can be found on the top right hand corner of your HubSpot UI. Once you have entered your ID, you will receive a message indicating whether your tokens exist. You would first have to create tokens. Initially, you will receive the following message 'Tokens Do Not Exist'.

The tokens are what give the components access to your HubSpot instance through the HubSpot API. They are generated by a form of authentication called OAuth. To perform the authentication either click the Use In App Authentication or Use in Browser Authentication button.

Use In App Authentication

The Use In App Authentication button completes the entire OAuth authentication process inside of the toolkit. All you need to do is login to HubSpot and authorize our app to generate your HubSpot tokens.

Use In Browser Authentication

The Use In Browser Authentication button completes the OAuth authentication using your default browser. After you click this button simply follow the steps in the dialog to generate your HubSpot tokens.

Timeout (secs)

The Timeout (secs) option allows you to specify a timeout value in seconds for the connection. The default value is 120 seconds.

API Throttling Rate (requests/sec)

The API Throttling Rate is based on the Throttle Limits in HubSpot. This rate is set to a 10 requests per second limit, by default, to respect the HubSpot API Throttle limit. If the API Throttling Rate exceeds 10 requests per second, the HubSpot server may decline your request.

Test Connection

After all the connection information has been provided, you may click the Test Connection button to test if the connection settings entered are valid.

Advanced Settings

The Advanced Settings page on the HubSpot Connection Manager allows you to specify some advanced and optional settings for the connection.

HubSpot Connection Manager

Port (Proxy Server Information)

The Port option allows you to specify port number of the proxy server for the connection.

Username (Proxy Server Authentication)

The Username option allows you to specify the proxy user account.

Password

Using Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.

NOTE: The Proxy Password is not included in the HubSpot connection manager's ConnectionString property by default. This is done by design for security reasons. However you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.

Retry on Intermittent Errors

This is an option designed to help recover from possible intermittent outages or disruption of service so the integration does not have to be stopped because of such temporary issues. Enabling this option will allow service calls to be retried upon certain types of failure. A service call may be retried up to 3 times before an exception is fired. Retries occur after 0 seconds, 15 seconds, and 60 seconds. Warning: Although we have carefully designed this feature so that such retries should only happen when it is deemed to be safe to do so. However, in some extreme occasions, such retried service calls could result in the creation of duplicate data.

More Info page

The More Info page shows some basic information about the toolkit. In this page, you can find the version information of the toolkit.

HubSpot Connection Manager

Adding SSIS Components to Business Intelligence Development Studio's Toolbox

SSIS Integration Toolkit for HubSpot includes two data flow components for use with HubSpot. They need to be added to the SSIS toolbox before you can use them in a SSIS data flow task.

NOTE: If you are using SQL Server 2012 or later development environment, you should not need to do this, as SQL Server 2012 or later automatically lists all available pipeline components by scanning the system. 

To add the data flow components, create a new data flow task if you do not have one yet and switch to the SSIS data flow page. Right-click on the toolbox area to bring up the context menu, where you can select the "Choose Items..." option as shown below.

Choose items

You will be presented with a window called "Choose Toolbox Items". Switch to "SSIS Data Flow Items" tab, and select HubSpot Destination and HubSpot Source components from the list. 

Add HubSpot SSIS Components

Both data flow components should now appear in your SSIS Toolbox, where you can drag and drop any of them to the design surface of your SSIS data flow task. 

Using the HubSpot Source Component

The HubSpot Source Component is an SSIS data flow pipeline component that can be used to read / retrieve data from HubSpot.

The component includes the following two pages to configure how you want to read data from HubSpot.

  • General
  • Columns

General page

The General page of the HubSpot Source Component allows you to specify the general settings of the component. 

HubSpot Source Editor

Connection Manager

The HubSpot Source Component requires a HubSpot connection in order to connect with HubSpot. The Connection Manager drop-down will show a list of all HubSpot connection managers that are available to current SSIS package.

Source Object

The Source Object  drop-down lists all of the currently supported objects which you can read from.

Batch Size

The Batch Size lets you specify how many records to retrieve per service call to HubSpot. Some Objects, however, retrieve all records in 1 service call. The Batch Size field will become disabled for objects such as this.

Note: When the Batch Size property is disabled in the HubSpot Source Component, it means that for the particular Source Object you have selected it will make a single request to retrieve all of the records.

Output Timezone

The Output Timezone option lets you specify how all datetime fields should be retrieved. The default value is UTC. There is also the option to convert to Local Time. There is no performance difference between the two options, it simply makes integration easier. 

Filter Parameters

You can specify filtering parameters so that the source component only returns those records that satisfy such filtering parameters. Filter fields vary from object to object along with the criteria. The different filter criteria include:

  • Equals - all records with a particular field that exactly matches the supplied value
  • Greater than - all records with a particular field greater than the supplied value (generally a timestamp)
  • Less than - all records with a particular field less than the supplied value (generally a timestamp)
  • Contains - all records with a particular field that contains the supplied value (Keyword object only)
  • Smart Search - all records whose name (first or last) or email begins with the supplied value. (Contact object only)
    • Example: If the supplied value was "hub", the HubSpot Smart Search would return any contact whose first or last name began with "hub" (such as "HubSpot"). It would also return any contact whose email contains "hub" in either the beginning of the username or the domain portion of the email (such as "hubspot@example.com" or "example@hubspot.com").
Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata.

Columns page

The Columns page of the HubSpot Source Component shows you all available attributes from the object that you specified on the General page. 

HubSpot Source Editor

The HubSpot Source Component contains a special feature to toggle between the decimal and bigint data type. By default, all numeric fields are assigned a data type of decimal (excluding system fields that have a known type of bigint). If you wish to set specific fields to a data type of bigint (fields in which you are 100% sure are integers), simply click the toggle button. This saves the user from having to go into the advanced editor to do the same thing. This feature exists due to HubSpot API limitations.

Using the HubSpot Destination Component

The HubSpot Destination Component is an SSIS data flow pipeline component that can be used to write data to HubSpot. You can create, update, upsert, or delete objects that allow a particular action with this component. There are three pages of configuration:

  • General
  • Columns
  • Error Handling

The General page is used to specify general settings for the HubSpot Destination Component. The Columns page allows you to map the columns from upstream components to HubSpot fields in the destination object. The Error Handling page allows you to specify how errors should be handled when they occur. 

General page

The General page allows you to specify general settings for the component. 

HubSpot Destination Editor

HubSpot Connection Manager

The HubSpot Destination Component requires a HubSpot connection. The HubSpot Connection Manager option will show all HubSpot connection managers that have been created in the current SSIS package or project.

Action

The Action option allows you to specify how data should be written to HubSpot. There are currently four (4) supported action types available but not every object supports every action. Available actions include:

  • Create - Create new record(s).
  • Update - Update existing record(s). The primary field is required.
  • Upsert - Update an existing record if it exists, otherwise it creates a new one (Contact object only)
    • Upsert functionality only works if an email is supplied. If the vid is supplied it will function like a regular Update as you cannot create a new Contact from a vid.
  • Delete - Deletes record(s). The primary field is required.
Destination Object

The Destination Object option allows you to specify which object to write data to. A drop down with the available objects are listed here. 

Batch Size

The Batch Size option allows you to specify how many records to send in a request. Only a few objects with a particular action support batch, otherwise the field will be disabled and set to 1.

Note: When the Batch Size option is disabled and set to 1, it means that for the particular Destination Object and Action combination you have selected, batching is not supported.

Input Timezone

The Input Timezone option specifies the timezone of all incoming datetime fields. This will indicate whether the datetime fields should be converted from the Local Time or kept in UTC format when writing to the HubSpot server. There is no performance difference between the two options it just makes integration easier. 

Refresh Component Button 

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each attribute to its most recent metadata.

Map Unmapped Fields Button

By clicking this button, the component will try to map any unmapped HubSpot attributes by matching their names with the input columns from upstream components. This is useful when your source component has recently added more columns, in which case you can use this button to automatically establish the association between input columns and unmapped destination attributes.

Clear All Mappings Button

By clicking this button, the component will reset all your mappings in the destination component.

Columns page

The Columns page of the HubSpot Destination Component allows you to map the columns from upstream components to destination attributes. 

In the Columns page, you would see a grid that contains four columns as shown below.

HubSpot Destination Editor

  • Input Column - You can select an input column from an upstream component here.
  • HubSpot Field - The HubSpot field that you are writing data. 
  • Data Type - This column indicates the type of value for the current field.
  • Unmap - This column can be used to unmap the field from the upstream input column, or otherwise it can be used to map the field to an upstream input column by matching its name if the field is not currently mapped.
Error Handling page

The Error Handling page allows you to specify how errors should be handled when they happen. 

HubSpot Destination Editor

There are three options available. 

  1. Fail on error
  2. Redirect rows to error output
  3. Ignore error

When the Redirect rows to error output option is selected, rows that failed to write to HubSpot will be redirected to the 'Error Output' output of the Destination Component. As indicated in the screenshot below, the green output connection represent rows that were successfully written, and the red 'Error Output' connection represents rows that were erroneous. The 'ErrorMessage' output column found in the 'Error Output' may contain the error message that was reported by HubSpot or the component itself.

Error Output

NOTE: Use extra caution when selecting Ignore error option, since the component will remain silent for any errors that have occurred.

Enable Columns for Default Output. Some objects and actions do no use the default output columns provided, these columns will still be created but will contain no values. Both columns are unchecked by default to prevent unused columns in SSIS.

  • HubSpotRecordId - Contains the newly created HubSpot's record's ID, which you can use to write to log or further process using additional data flow components
  • Accepted - Contains a true / false value that reflects whether or not the particular record succeeded in writing to HubSpot. (Contact List Member only)

Using the HubSpot Token Manager

The HubSpot Token Manager is a utility external to SSIS that allows you to add, remove, import, and export your HubSpot Tokens from machine to machine.

HubSpot Token Manager

Once you have developed your integration package, and you are getting ready to deploy, this utility will assist you in getting your Hubspot tokens from your development environment to your integration server:

  1. Open the HubSpot Token Manager on your development machine
  2. Select the tokens you wish to export
  3. Click the 'Export' button
  4. Save the 'tokens.json' file
  5. Move the file manually to your integration server
  6. Open the HubSpot Token Manager on your integration server
  7. Click the 'Import' button
  8. Select the 'tokens.json' file

This is the simplest way to get your tokens from your development environment to your integration server but in some cases you may need to add tokens manually, in which case simply click the 'Add' button. Adding tokens in the HubSpot Token Manager is exactly like adding tokens in the HubSpot Connection Manager.

You may also need to remove tokens from your machine. Simply select the tokens you wish to remove and click the 'Remove' button.

Overall the HubSpot Token Manager is a simple and secure utility that helps make your integration easy and safe

License Manager

SSIS Integration Toolkit comes with a license manager program which helps you manage and activate the product license key to be used for the toolkit.

Without a commercial license, SSIS Integration Toolkit will operate under the Developer License which is free to use for development or evaluation purpose. Under the developer license, you can use the software within the development tool (SSDT-BI, BIDS, or Visual Studio). 

KingswaySoft License Manager

The only limitation with the free developer license is the inability to run the software outside of the development tool (SSDT-BI, BIDS, or Visual Studio). If you would like to run the software outside the development tool, such as running SSIS packages on a scheduled basis or from a command line, you will need to acquire a license from us.

If you want to test out the functionality by scheduling your SSIS packages, a trial license can be requested. To do so, you can launch License Manager program, then click "Change License Key" button, where you can request a free trial license after filling out the necessary Licensee Information.

KingswaySoft License Manager

If you have received a product license key from us after placing an order through our online shopping cart system, you can also click "Change License Key" button and enter the product license key in order to activate the software to use the fully-featured commercial license. 

To request a free trial license or activate a product license key that you have received, you can use Web Service option to complete the process by sending the request to our license server directly. An Internet connection is required when Web Service option is used. This is the option that we recommend.

Alternatively, you can choose the Email option so that the license manager will generate an email for you which you can send to us. The Email option should only be used if your system has no Internet access. It requires manual processing so please expect to wait for 24 to 48 hours before receiving a license file from us. Once you have received the license file from us from through email, you can save it to a local file, which you can then install by clicking "Install License File..." button in License Manager.

If you have acquired a perpetual license from us, once the software has been activated, your license manager will be shown as something like below.

KingswaySoft License Manager

You can see your Maintenance Expiry Date in the License Manager program if you are using a perpetual license. By default, your perpetual license comes with a one-year maintenance and upgrade, which entitles you to use any version of the software released before your Maintenance Expiry Date. You can extend it by entering a new maintenance license key that you have acquired from us.

KingswaySoft License Manager

If your commercial license is a subscription license, you will not see the Maintenance Expiry Date option in the License Manager program, since your subscription license comes with maintenance and upgrade for the entire subscription period.

NOTE: You must run License Manager program under a local administrative account due to the privileges required to write license file to the system.

Contact Us

If you need any further assistance with the toolkit, please don't hesitate to contact us