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.read
crm.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_token
securely 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:ConnectionConfig
with 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.toml
file 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