Module hubspot.crm.obj.deals
ballerinax/hubspot.crm.obj.deals Ballerina library
Overview
HubSpot is is an AI-powered customer platform.
The ballerinax/hubspot.crm.obj.deals package offers APIs to connect and interact with HubSpot API endpoints, specifically based on HubSpot Rest API .
Setup guide
To use the HubSpot CRM Deals connector, you must have access to the HubSpot API through a HubSpot developer account and a HubSpot App under it. Therefore you need to register for a developer account at HubSpot if you don't have one already.
Step 1: Create/Login to a HubSpot Developer Account
If you have an account already, go to the HubSpot developer portal
If you don't have a HubSpot Developer Account you can sign up to a free account here.
Step 2 (Optional): Create a Developer Test Account under your account
Within app developer accounts, you can create developer test accounts to test apps and integrations without affecting any real HubSpot data.
Note: These accounts are only for development and testing purposes. In production you should not use Developer Test Accounts.
- 
Go to Test Account section from the left sidebar.

 - 
Click Create developer test account.

 - 
In the dialogue box, give a name to your test account and click create.

 
Step 3: Create a HubSpot App under your account.
- 
In your developer account, navigate to the "Apps" section. Click on "Create App"

 - 
Provide the necessary details, including the app name and description.
 
Step 4: Configure the Authentication Flow.
- 
Move to the Auth Tab.

 - 
In the Scopes section, add the following scopes for your app using the "Add new scope" button.
crm.objects.deals.readcrm.objects.deals.write

 - 
Add your Redirect URI in the relevant section. You can also use localhost addresses for local development purposes. Click Create App.

 
Step 5: Get your Client ID and Client Secret
- 
Navigate to the Auth section of your app. Make sure to save the provided Client ID and Client Secret.

 
Step 6: Setup Authentication Flow
Before proceeding with the Quickstart, ensure you have obtained the Access Token using the following steps:
- 
Create an authorization URL using the following format:
https://app.hubspot.com/oauth/authorize?client_id=<YOUR_CLIENT_ID>&scope=<YOUR_SCOPES>&redirect_uri=<YOUR_REDIRECT_URI>Replace the
<YOUR_CLIENT_ID>,<YOUR_REDIRECT_URI>and<YOUR_SCOPES>with your specific value. - 
Paste it in the browser and select your developer test account to install the app when prompted.

 - 
After the installation, the authorization code will be displayed in the browser URL. Copy the code.
 - 
Run the following curl command. Replace the
<YOUR_CLIENT_ID>,<YOUR_REDIRECT_URI> and<YOUR_CLIENT_SECRET>with your specific value. Use the code you received in the above step 3 as the<CODE>.- 
Linux/macOS
curl --request POST \ --url https://api.hubapi.com/oauth/v1/token \ --header 'content-type: application/x-www-form-urlencoded' \ --data 'grant_type=authorization_code&code=<CODE>&redirect_uri=<YOUR_REDIRECT_URI>&client_id=<YOUR_CLIENT_ID>&client_secret=<YOUR_CLIENT_SECRET>' - 
Windows
curl --request POST ^ --url https://api.hubapi.com/oauth/v1/token ^ --header 'content-type: application/x-www-form-urlencoded' ^ --data 'grant_type=authorization_code&code=<CODE>&redirect_uri=<YOUR_REDIRECT_URI>&client_id=<YOUR_CLIENT_ID>&client_secret=<YOUR_CLIENT_SECRET>' 
This command will return the access token necessary for API calls.
{ "token_type": "bearer", "refresh_token": "<Refresh Token>", "access_token": "<Access Token>", "expires_in": 1800 } - 
 - 
Store the
refresh_tokensecurely for use in your application 
Quickstart
To use the HubSpot Deals connector in your Ballerina application, update the .bal file as follows:
Step 1: Import the module
Import the ballerinax/hubspot.crm.obj.deals module.
import ballerinax/hubspot.crm.obj.deals;
Step 2: Instantiate a new connector
- 
Create a
deals:ConnectionConfigwith the obtained access token and initialize the connector with it.configurable string clientId = ?; configurable string clientSecret = ?; configurable string refreshToken = ?; deals:OAuth2RefreshTokenGrantConfig auth = { clientId, clientSecret, refreshToken, credentialBearer: oauth2:POST_BODY_BEARER }; final deals:Client hubSpotDeals = check new ({ auth }); - 
Create a
config.tomlfile and, configure the obtained credentials in the above steps as follows:clientId = "" clientSecret = " " refreshToken = " "  
Step 3: Use Connector Operations
Utilize the connector's operations to create, update and delete deals etc.
Create a Deal
deals:SimplePublicObjectInputForCreate payload = { properties: { "pipeline": "default", "dealname": "Test Deal", "amount": "100000" } }; SimplePublicObject out = check hubSpotDeals->/.post(payload = payload);
List Deals
deals:CollectionResponseSimplePublicObjectWithAssociationsForwardPaging deals = check hubSpotDeals->/;
Examples
The ballerinax/hubspot.crm.obj.deals connector provides practical examples illustrating usage in various scenarios.
- Create Manage Deals - see how the Hubspot API can be used to create deal and manage it through the sales pipeline.
 - Count Deals in stages - see how the Hubspot API can be used to count the number of deals in each stages of sales pipeline.
 
Import
import ballerinax/hubspot.crm.obj.deals;Other versions
0.1.0