Skip to content

Commit 6a1399f

Browse files
jottakkaFrancisco Liberal
andauthored
[Hubspot] Updating Docs (#441)
* Adding new docs * adding references --------- Co-authored-by: Francisco Liberal <[email protected]>
1 parent a4acb12 commit 6a1399f

File tree

66 files changed

+2799
-74
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+2799
-74
lines changed

pages/toolkits/sales/hubspot.mdx

Lines changed: 785 additions & 39 deletions
Large diffs are not rendered by default.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Hubspot Reference
2+
3+
Below is a reference of enumerations used by some of the tools in the Hubspot toolkit:
4+
5+
## HubspotCallDirection
6+
7+
- **INBOUND**: `INBOUND`
8+
- **OUTBOUND**: `OUTBOUND`
9+
10+
## HubspotEmailDirection
11+
12+
- **EMAIL**: `EMAIL`
13+
- **INCOMING_EMAIL**: `INCOMING_EMAIL`
14+
- **FORWARDED_EMAIL**: `FORWARDED_EMAIL`
15+
16+
## HubspotEmailStatus
17+
18+
- **BOUNCED**: `BOUNCED`
19+
- **FAILED**: `FAILED`
20+
- **SCHEDULED**: `SCHEDULED`
21+
- **SENDING**: `SENDING`
22+
- **SENT**: `SENT`
23+
24+
## HubspotMeetingOutcome
25+
26+
- **SCHEDULED**: `SCHEDULED`
27+
- **COMPLETED**: `COMPLETED`
28+
- **RESCHEDULED**: `RESCHEDULED`
29+
- **NO_SHOW**: `NO_SHOW`
30+
- **CANCELED**: `CANCELED`
31+
32+
## HubspotCommunicationChannel
33+
34+
- **SMS**: `SMS`
35+
- **WHATS_APP**: `WHATS_APP`
36+
- **LINKEDIN_MESSAGE**: `LINKEDIN_MESSAGE`
37+
- **PHYSICAL_MAIL**: `PHYSICAL_MAIL`
38+
- **CUSTOM_CHANNEL_CONVERSATION**: `CUSTOM_CHANNEL_CONVERSATION`
39+
40+
## HubspotActivityType
41+
42+
- **NOTE**: `note`
43+
- **CALL**: `call`
44+
- **EMAIL**: `email`
45+
- **MEETING**: `meeting`
46+
- **TASK**: `task`
47+
- **COMMUNICATION**: `communication`
48+
49+
## HubspotSortOrder
50+
51+
- **LATEST_MODIFIED**: `LATEST_MODIFIED`
52+
- **OLDEST_MODIFIED**: `OLDEST_MODIFIED`
53+
- **ALPHABETICAL**: `ALPHABETICAL`
54+
55+
## HubspotDealType
56+
57+
- **NEW_BUSINESS**: `newbusiness`
58+
- **EXISTING_BUSINESS**: `existingbusiness`
59+
60+
## HubspotDealPriority
61+
62+
- **LOW**: `low`
63+
- **MEDIUM**: `medium`
64+
- **HIGH**: `high`
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { Arcade } from "@arcadeai/arcadejs";
2+
3+
const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable
4+
5+
const USER_ID = "{arcade_user_id}";
6+
const TOOL_NAME = "Hubspot.AssociateActivityToDeal";
7+
8+
// Start the authorization process
9+
const authResponse = await client.tools.authorize({
10+
tool_name: TOOL_NAME,
11+
user_id: USER_ID
12+
});
13+
14+
if (authResponse.status !== "completed") {
15+
console.log(`Click this link to authorize: ${authResponse.url}`);
16+
}
17+
18+
// Wait for the authorization to complete
19+
await client.auth.waitForCompletion(authResponse);
20+
21+
const toolInput = {
22+
"activity_type": "call",
23+
"activity_id": 987654321,
24+
"deal_id": 123456
25+
};
26+
27+
const response = await client.tools.execute({
28+
tool_name: TOOL_NAME,
29+
input: toolInput,
30+
user_id: USER_ID,
31+
});
32+
33+
console.log(JSON.stringify(response.output.value, null, 2));
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import json
2+
from arcadepy import Arcade
3+
4+
client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable
5+
6+
USER_ID = "{arcade_user_id}"
7+
TOOL_NAME = "Hubspot.AssociateActivityToDeal"
8+
9+
auth_response = client.tools.authorize(
10+
tool_name=TOOL_NAME,
11+
user_id=TOOL_NAME
12+
)
13+
14+
if auth_response.status != "completed":
15+
print(f"Click this link to authorize: {auth_response.url}")
16+
17+
# Wait for the authorization to complete
18+
client.auth.wait_for_completion(auth_response)
19+
20+
tool_input = {
21+
'activity_type': 'call', 'activity_id': 987654321, 'deal_id': 123456
22+
}
23+
24+
response = client.tools.execute(
25+
tool_name=TOOL_NAME,
26+
input=tool_input,
27+
user_id=USER_ID,
28+
)
29+
print(json.dumps(response.output.value, indent=2))
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { Arcade } from "@arcadeai/arcadejs";
2+
3+
const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable
4+
5+
const USER_ID = "{arcade_user_id}";
6+
const TOOL_NAME = "Hubspot.AssociateContactToDeal";
7+
8+
// Start the authorization process
9+
const authResponse = await client.tools.authorize({
10+
tool_name: TOOL_NAME,
11+
user_id: USER_ID
12+
});
13+
14+
if (authResponse.status !== "completed") {
15+
console.log(`Click this link to authorize: ${authResponse.url}`);
16+
}
17+
18+
// Wait for the authorization to complete
19+
await client.auth.waitForCompletion(authResponse);
20+
21+
const toolInput = {
22+
"deal_id": 12345,
23+
"contact_id": 67890
24+
};
25+
26+
const response = await client.tools.execute({
27+
tool_name: TOOL_NAME,
28+
input: toolInput,
29+
user_id: USER_ID,
30+
});
31+
32+
console.log(JSON.stringify(response.output.value, null, 2));
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import json
2+
from arcadepy import Arcade
3+
4+
client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable
5+
6+
USER_ID = "{arcade_user_id}"
7+
TOOL_NAME = "Hubspot.AssociateContactToDeal"
8+
9+
auth_response = client.tools.authorize(
10+
tool_name=TOOL_NAME,
11+
user_id=TOOL_NAME
12+
)
13+
14+
if auth_response.status != "completed":
15+
print(f"Click this link to authorize: {auth_response.url}")
16+
17+
# Wait for the authorization to complete
18+
client.auth.wait_for_completion(auth_response)
19+
20+
tool_input = {
21+
'deal_id': 12345, 'contact_id': 67890
22+
}
23+
24+
response = client.tools.execute(
25+
tool_name=TOOL_NAME,
26+
input=tool_input,
27+
user_id=USER_ID,
28+
)
29+
print(json.dumps(response.output.value, indent=2))
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import { Arcade } from "@arcadeai/arcadejs";
2+
3+
const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable
4+
5+
const USER_ID = "{arcade_user_id}";
6+
const TOOL_NAME = "Hubspot.CreateCallActivity";
7+
8+
// Start the authorization process
9+
const authResponse = await client.tools.authorize({
10+
tool_name: TOOL_NAME,
11+
user_id: USER_ID
12+
});
13+
14+
if (authResponse.status !== "completed") {
15+
console.log(`Click this link to authorize: ${authResponse.url}`);
16+
}
17+
18+
// Wait for the authorization to complete
19+
await client.auth.waitForCompletion(authResponse);
20+
21+
const toolInput = {
22+
"title": "Intro call with Acme",
23+
"when_occurred": "2025-09-12T10:30:00",
24+
"direction": "OUTBOUND",
25+
"summary": "Discussed project scope and next steps; agreed to send proposal.",
26+
"duration": 900,
27+
"to_number": "+14155550123",
28+
"from_number": "+14155550987",
29+
"associate_to_contact_id": 7854,
30+
"associate_to_company_id": 120
31+
};
32+
33+
const response = await client.tools.execute({
34+
tool_name: TOOL_NAME,
35+
input: toolInput,
36+
user_id: USER_ID,
37+
});
38+
39+
console.log(JSON.stringify(response.output.value, null, 2));
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import json
2+
from arcadepy import Arcade
3+
4+
client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable
5+
6+
USER_ID = "{arcade_user_id}"
7+
TOOL_NAME = "Hubspot.CreateCallActivity"
8+
9+
auth_response = client.tools.authorize(
10+
tool_name=TOOL_NAME,
11+
user_id=TOOL_NAME
12+
)
13+
14+
if auth_response.status != "completed":
15+
print(f"Click this link to authorize: {auth_response.url}")
16+
17+
# Wait for the authorization to complete
18+
client.auth.wait_for_completion(auth_response)
19+
20+
tool_input = {
21+
'title': 'Intro call with Acme',
22+
'when_occurred': '2025-09-12T10:30:00',
23+
'direction': 'OUTBOUND',
24+
'summary': 'Discussed project scope and next steps; agreed to send proposal.',
25+
'duration': 900,
26+
'to_number': '+14155550123',
27+
'from_number': '+14155550987',
28+
'associate_to_contact_id': 7854,
29+
'associate_to_company_id': 120
30+
}
31+
32+
response = client.tools.execute(
33+
tool_name=TOOL_NAME,
34+
input=tool_input,
35+
user_id=USER_ID,
36+
)
37+
print(json.dumps(response.output.value, indent=2))
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { Arcade } from "@arcadeai/arcadejs";
2+
3+
const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable
4+
5+
const USER_ID = "{arcade_user_id}";
6+
const TOOL_NAME = "Hubspot.CreateCommunicationActivity";
7+
8+
// Start the authorization process
9+
const authResponse = await client.tools.authorize({
10+
tool_name: TOOL_NAME,
11+
user_id: USER_ID
12+
});
13+
14+
if (authResponse.status !== "completed") {
15+
console.log(`Click this link to authorize: ${authResponse.url}`);
16+
}
17+
18+
// Wait for the authorization to complete
19+
await client.auth.waitForCompletion(authResponse);
20+
21+
const toolInput = {
22+
"channel": "WHATS_APP",
23+
"when_occurred": "2025-09-12T14:30:00",
24+
"body_text": "Sent product pricing and next steps. Awaiting confirmation.",
25+
"associate_to_contact_id": 7421
26+
};
27+
28+
const response = await client.tools.execute({
29+
tool_name: TOOL_NAME,
30+
input: toolInput,
31+
user_id: USER_ID,
32+
});
33+
34+
console.log(JSON.stringify(response.output.value, null, 2));
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import json
2+
from arcadepy import Arcade
3+
4+
client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable
5+
6+
USER_ID = "{arcade_user_id}"
7+
TOOL_NAME = "Hubspot.CreateCommunicationActivity"
8+
9+
auth_response = client.tools.authorize(
10+
tool_name=TOOL_NAME,
11+
user_id=TOOL_NAME
12+
)
13+
14+
if auth_response.status != "completed":
15+
print(f"Click this link to authorize: {auth_response.url}")
16+
17+
# Wait for the authorization to complete
18+
client.auth.wait_for_completion(auth_response)
19+
20+
tool_input = {
21+
'channel': 'WHATS_APP',
22+
'when_occurred': '2025-09-12T14:30:00',
23+
'body_text': 'Sent product pricing and next steps. Awaiting confirmation.',
24+
'associate_to_contact_id': 7421
25+
}
26+
27+
response = client.tools.execute(
28+
tool_name=TOOL_NAME,
29+
input=tool_input,
30+
user_id=USER_ID,
31+
)
32+
print(json.dumps(response.output.value, indent=2))

0 commit comments

Comments
 (0)