SSIS stands for SQL Server Integration Services. It is a solution for building data integrations and workflow applications that integrate with SQL Server databases. As data integration processes increase in importance, organizations are looking for ways to simplify integration and manage workflows.
In this article, we'll walk you through how to design a data flow that adds new HubSpot contacts to a MailChimp list using CData SSIS Components for HubSpot and MailChimp.
The email address of the HubSpot contact and the ID of the MailChimp list are required when adding HubSpot contacts to a MailChimp list. To get the information you need, use a CData MailChimp Source component and a CData HubSpot Source component.
Add a CData MailChimp Source component to retrieve the ID of the MailChimp list for the new email addresses.
MailChimp uses your account APIKey or OAuth to authenticate the application. The APIKey is generated from the account settings in MailChimp. For OAuth authentication, obtain the OAuthClientId, OAuthClientSecret, and CallbackURL by registering an app with MailChimp.
See the "Getting Started" chapter in the help documentation for a guide to using OAuth.
Add a CData HubSpot Source component to collect recently added contacts to be added to the MailChimp list.
Add a CData HubSpot Source component to the Data Flow task.
Double-click the component and add a new connection manager.
HubSpot uses the OAuth authentication standard. You can use the embedded OAuthClientId, OAuthClientSecret, and CallbackURL or you can obtain your own by registering an App with HubSpot.
See the "Getting Started" chapter of the help documentation for a guide to using OAuth.
After configuring the connection, set the Data access mode to "SQL Command."
Set the SQL command text to a SELECT statement retrieving the email address of the Contact. This query is a placeholder for a parameterized query in the Expression Builder. SELECT [Email] FROM [Contacts]
Click OK.
Navigate back to the Control Flow for the SSIS Project and click anywhere on the design surface.
From the SSIS menu, click Variables.
In the Variables pane, click to add a new variable.
Set Namespace to "User," Name to "Status," Data type to "String" and Value to "subscribed" or "unsubscribed" (depending on your preferences).
"SELECT [Email], '" + @[User::Status] + "' AS [Status] FROM [Contacts] WHERE Date > '" + (DT_WSTR, 50) DATEADD("day", -30, GETDATE()) + "'“
After connecting to and retrieving data from HubSpot and MailChimp, combine the data in a Union All component before adding the contacts to a MailChimp list.
Add a Union All component to the design surface.
Drag the Outputs from the MailChimp and HubSpot Source components to the Input for the Union All component.
Output Column Name → ListId | Email | Status
Union All Input 1 (MailChimp) → Id | Ignore | Ignore
Union All Input 1 (HubSpot) → Ignore | Email | Status
With the data combined and retrieved, you are ready to add new HubSpot contacts to the MailChimp list.
Input Column → Email | Status | ListId
Destination Column → Email Address | ListId
The SSIS Components simplify data integration and minimize the need for custom code by providing standard relational interfaces. Companies choose the CData SSIS Components, to obtain standards-based, SQL-like access to data in SQL SSIS projects.
While this article focused mainly on adding new HubSpot contacts to MailChimp lists, the principles can be applied to any entities from the 100+ SaaS, Big Data, or NoSQL sources that CData SSIS Components support.