Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Introduction

HubSpot is a developer and marketer of software products for inbound marketing and sales. HubSpot is an inbound marketing and sales platform that helps companies attract visitors, convert leads, and close customers. Its products and services aim to provide tools for social media marketing, content management, web analytics, CRM and search engine optimization. They expose an API that allows you to build an integration to their CRM software. The plugins will allow users to pull data from HubSpot CRM, and use it in CDAP pipelines to enrich and synthesize with other data.

User Storie(s)

  • As a pipeline developer, I would like to pull data from an object in HubSpot in a streaming pipeline, so that I can transform, enrich and synthesize it in a data pipeline.
  • As a pipeline developer, I would like to post data to an object in HubSpot in a batch or streaming pipeline, so that I can update HubSpot with my enriched data.
  • As a pipeline developer, I would like to pull data from an object in HubSpot in a batch pipeline, so that I can transform, enrich and synthesize it in a data pipeline.
  • As a pipeline developer, for both batch and streaming sources, I would like the schema to be auto-populated based on the selected objects.
  • As a pipeline developer, for all interactions with HubSpot, I would like HubSpot's API limits to be handled by the framework, so that I do not have to worry about them. (https://developers.hubspot.com/apps/api_guidelines)

Plugin Type

  • Batch Source
  • Batch Sink 
  • Real-time Source
  • Real-time Sink
  • Action
  • Post-Run Action
  • Aggregate
  • Join
  • Spark Model
  • Spark Compute

Configurables

Streaming Source 

User Facing NameTypeDescriptionOptional?DefaultConstraints
App IdStringOAuth2 App IDNo

API KeyStringOAuth2 API KeyNo

Object(s) to pullmulti-selectSelect from Contact Lists, Contacts, Email Events, Email Subscription, Recent Campaigns, Analytics, Companies, Deals, Deal Pipelines, Marketing Email, Products, TicketsYesAnalytics
Pull frequencyselect15 min, 30 min, 1 hour, 4 hour, 8 hoursYes30 min
Number of API calls per daynumberThe number of API calls to make per day, to avoid hitting HubSpot's rate limitsYes10000

Batch sink

User Facing NameTypeDescriptionOptional?DefaultConstraints
App IdStringOAuth2 App IDNo

API KeyStringOAuth2 API KeyNo

Object to post toselectSelect from Contact Lists, Contacts, Email Events, Email Subscription, Recent Campaigns, Analytics, Companies, Deals, Deal Pipelines, Marketing Email, Products, TicketsNo

Number of API calls per daynumberThe number of API calls to make per day, to avoid hitting HubSpot's rate limitsYes10000

Batch Source 

User Facing NameTypeDescriptionOptional?DefaultConstraints
App IdStringOAuth2 App IDNo

API KeyStringOAuth2 API KeyNo

Object(s) to pullmulti-selectSelect from Contact Lists, Contacts, Email Events, Email Subscription, Recent Campaigns, Analytics, Companies, Deals, Deal Pipelines, Marketing Email, Products, TicketsYesAnalytics
Number of API calls per daynumberThe number of API calls to make per day, to avoid hitting HubSpot's rate limitsYes10000

Design / Implementation Tips

  • Tip #1
  • Tip #2

Design

Approach(s)

Properties

Security

Limitation(s)

Future Work

  • Some future work – HYDRATOR-99999
  • Another future work – HYDRATOR-99999

Test Case(s)

  • Test case #1
  • Test case #2

Sample Pipeline

Please attach one or more sample pipeline(s) and associated data. 

Pipeline #1

Pipeline #2



Table of Contents

Checklist

  • User stories documented 
  • User stories reviewed 
  • Design documented 
  • Design reviewed 
  • Feature merged 
  • Examples and guides 
  • Integration tests 
  • Documentation for feature 
  • Short video demonstrating the feature
  • No labels