diff --git a/pages/toolkits/productivity/hubspot.mdx b/pages/toolkits/productivity/hubspot.mdx new file mode 100644 index 00000000..a4265c13 --- /dev/null +++ b/pages/toolkits/productivity/hubspot.mdx @@ -0,0 +1,946 @@ +# Hubspot + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; +import ToolFooter from "@/components/ToolFooter"; + + + + + +The Hubspot toolkit provides a focused set of tools for interacting with HubSpot objects, activities, and users. + +Use this toolkit to manage HubSpot users, create and log engagement activities, create and associate contacts/companies/deals, and query related records and pipeline metadata. + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your + own tools](/home/build-tools/create-a-toolkit). + + +## Hubspot.GetAllUsers + +
+ + +Get all users/owners in the HubSpot portal. + +**Parameters** + +This tool does not take any parameters. + +## Hubspot.GetUserById + +
+ + +Get detailed information about a specific user/owner by their ID. + +**Parameters** + +- **owner_id** (`integer`, required) The HubSpot owner/user ID to retrieve + + +## Hubspot.WhoAmI + +
+ + +Get current user information from HubSpot. + +**Parameters** + +This tool does not take any parameters. + +## Hubspot.ToolkitEnviromentGuidance + +
+ + +Get guidance and considerations for using the HubSpot toolkit effectively. + +**Parameters** + +This tool does not take any parameters. + +## Hubspot.CreateNoteActivity + +
+ + +Create a note engagement activity with required owner and associations. + +**Parameters** + +- **body** (`string`, required) The note content/body. +- **when_occurred** (`string`, required) When the note was created (ISO date format: YYYY-MM-DDTHH:MM:SS). +- **associate_to_contact_id** (`integer`, optional) Contact ID to associate this note with. +- **associate_to_company_id** (`integer`, optional) Company ID to associate this note with. +- **associate_to_deal_id** (`integer`, optional) Deal ID to associate this note with. + + +## Hubspot.CreateCallActivity + +
+ + +Create a call engagement activity with required owner and associations. + +**Parameters** + +- **title** (`string`, required) Short title for the call. +- **when_occurred** (`string`, required) When the call occurred (ISO date format: YYYY-MM-DDTHH:MM:SS). +- **direction** (`Enum` [HubspotCallDirection](/toolkits/productivity/hubspot/reference#HubspotCallDirection), optional) Call direction (INBOUND or OUTBOUND). +- **summary** (`string`, optional) Short summary/notes of the call. +- **duration** (`integer`, optional) Call duration in seconds. +- **to_number** (`string`, optional) Phone number called to. +- **from_number** (`string`, optional) Phone number called from. +- **associate_to_contact_id** (`integer`, optional) Contact ID to associate this call with. +- **associate_to_company_id** (`integer`, optional) Company ID to associate this call with. +- **associate_to_deal_id** (`integer`, optional) Deal ID to associate this call with. + + +## Hubspot.CreateEmailActivity + +
+ + +Create a logged email engagement activity with essential fields including email headers. + +**Parameters** + +- **subject** (`string`, required) Email subject. +- **when_occurred** (`string`, required) When the email occurred (ISO date format: YYYY-MM-DDTHH:MM:SS). +- **from_email** (`string`, required) Sender email address. +- **to_email** (`string`, required) Primary recipient email address. +- **body_text** (`string`, optional) Email body in plain text. +- **body_html** (`string`, optional) Email body in HTML format. +- **from_first_name** (`string`, optional) Sender first name. +- **from_last_name** (`string`, optional) Sender last name. +- **to_first_name** (`string`, optional) Primary recipient first name. +- **to_last_name** (`string`, optional) Primary recipient last name. +- **cc_emails** (`array[string]`, optional) CC recipient email addresses. +- **bcc_emails** (`array[string]`, optional) BCC recipient email addresses. +- **direction** (`Enum` [HubspotEmailDirection](/toolkits/productivity/hubspot/reference#HubspotEmailDirection), optional) Direction the email was sent (EMAIL, INCOMING_EMAIL, FORWARDED_EMAIL). +- **status** (`Enum` [HubspotEmailStatus](/toolkits/productivity/hubspot/reference#HubspotEmailStatus), optional) Email status indicating the state of the email. +- **associate_to_contact_id** (`integer`, optional) Contact ID to associate this email with. +- **associate_to_company_id** (`integer`, optional) Company ID to associate this email with. +- **associate_to_deal_id** (`integer`, optional) Deal ID to associate this email with. + + +## Hubspot.CreateMeetingActivity + +
+ + +Create a meeting with essential fields including separate date and time. + +**Parameters** + +- **title** (`string`, required) Meeting title. +- **start_date** (`string`, required) Start date (YYYY-MM-DD format). +- **start_time** (`string`, required) Start time (HH:MM or HH:MM:SS format). +- **duration** (`string`, optional) Meeting duration in HH:MM format (e.g., 1:30 for 1 hour 30 minutes). +- **location** (`string`, optional) Meeting location. +- **outcome** (`Enum` [HubspotMeetingOutcome](/toolkits/productivity/hubspot/reference#HubspotMeetingOutcome), optional) Meeting outcome. +- **associate_to_contact_id** (`integer`, optional) Contact ID to associate this meeting with. +- **associate_to_company_id** (`integer`, optional) Company ID to associate this meeting with. +- **associate_to_deal_id** (`integer`, optional) Deal ID to associate this meeting with. + + +## Hubspot.CreateCommunicationActivity + +
+ + +Create a communication activity for logging communications that are not done via + +**Parameters** + +- **channel** (`Enum` [HubspotCommunicationChannel](/toolkits/productivity/hubspot/reference#HubspotCommunicationChannel), required) Communication channel type. +- **when_occurred** (`string`, required) When the communication occurred (ISO date format: YYYY-MM-DDTHH:MM:SS). +- **body_text** (`string`, optional) Full message content. +- **associate_to_contact_id** (`integer`, optional) Contact ID to associate this communication with. +- **associate_to_company_id** (`integer`, optional) Company ID to associate this communication with. +- **associate_to_deal_id** (`integer`, optional) Deal ID to associate this communication with. + + +## Hubspot.AssociateActivityToDeal + +
+ + +Associate a single activity object to a deal using HubSpot standard association type. + +**Parameters** + +- **activity_type** (`Enum` [HubspotActivityType](/toolkits/productivity/hubspot/reference#HubspotActivityType), required) Engagement activity type. +- **activity_id** (`integer`, required) The activity object ID +- **deal_id** (`integer`, required) The deal ID to associate to + + +## Hubspot.GetContactDataByKeywords + +
+ + +Retrieve contact data with associated companies, deals, calls, emails, + +**Parameters** + +- **keywords** (`string`, required) The keywords to search for contacts. It will match against the contact's first and last name, email addresses, phone numbers, and company name. +- **limit** (`integer`, optional) The maximum number of contacts to return. Defaults to 10. Max is 100. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.CreateContact + +
+ + +Create a contact associated with a company. + +**Parameters** + +- **company_id** (`integer`, required) The ID of the company to create the contact for. +- **first_name** (`string`, required) The first name of the contact. +- **last_name** (`string`, optional) The last name of the contact. +- **email** (`string`, optional) The email address of the contact. +- **phone** (`string`, optional) The phone number of the contact. +- **mobile_phone** (`string`, optional) The mobile phone number of the contact. +- **job_title** (`string`, optional) The job title of the contact. + + +## Hubspot.ListContacts + +
+ + +List contacts with optional filtering by company ID or deal ID, with pagination support. + +**Parameters** + +- **limit** (`integer`, optional) The maximum number of contacts to return. Defaults to 10. Max is 50. +- **company_id** (`integer`, optional) Filter contacts by company ID. Defaults to None (no filtering). +- **deal_id** (`integer`, optional) Filter contacts by deal ID. Defaults to None (no filtering). +- **sort_order** (`Enum` [HubspotSortOrder](/toolkits/productivity/hubspot/reference#HubspotSortOrder), optional) Sort order for results. Defaults to LATEST_MODIFIED. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetDealDataByKeywords + +
+ + +Retrieve deal data with associated contacts, companies, calls, emails, + +**Parameters** + +- **keywords** (`string`, required) The keywords to search for deals. It will match against the deal name and description. +- **limit** (`integer`, optional) The maximum number of deals to return. Defaults to 10. Max is 10. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.CreateDeal + +
+ + +Create a new deal in HubSpot. + +**Parameters** + +- **deal_name** (`string`, required) The deal name (required) +- **deal_amount** (`number`, optional) The deal amount/value +- **deal_stage** (`string`, optional) The deal stage +- **deal_type** (`Enum` [HubspotDealType](/toolkits/productivity/hubspot/reference#HubspotDealType), optional) The deal type. +- **expected_close_date** (`string`, optional) Expected close date in YYYY-MM-DD format +- **pipeline_id** (`string`, optional) Pipeline id. Use 'default' for default pipeline or pass a pipeline id (integer) +- **deal_owner** (`string`, optional) The deal owner user ID +- **priority_level** (`Enum` [HubspotDealPriority](/toolkits/productivity/hubspot/reference#HubspotDealPriority), optional) Priority level. +- **deal_description** (`string`, optional) The deal description + + +## Hubspot.UpdateDealCloseDate + +
+ + +Update the expected close date of an existing deal in HubSpot. + +**Parameters** + +- **deal_id** (`integer`, required) The ID of the deal to update +- **expected_close_date** (`string`, required) New expected close date in YYYY-MM-DD format + + +## Hubspot.UpdateDealStage + +
+ + +Updates a deal's stage, validating against the current pipeline if provided + +**Parameters** + +- **deal_id** (`integer`, required) The ID of the deal to update +- **deal_stage** (`string`, required) New deal stage ID +- **current_pipeline_id** (`string`, optional) Current pipeline id for this deal, if already known (skips fetching the deal) +- **allow_pipeline_change** (`boolean`, optional) If true, allows changing the deal's pipeline when the stage belongs to another pipeline + + +## Hubspot.GetDealById + +
+ + +Retrieve a specific deal by its ID from HubSpot. + +**Parameters** + +- **deal_id** (`integer`, required) The ID of the deal to retrieve + + +## Hubspot.AssociateContactToDeal + +
+ + +Associate a contact with an existing deal in HubSpot. + +**Parameters** + +- **deal_id** (`integer`, required) The ID of the deal to associate the contact with +- **contact_id** (`integer`, required) The ID of the contact to associate with the deal + + +## Hubspot.ListDeals + +
+ + +List deals with optional filtering by contact ID or company ID, with pagination support. + +**Parameters** + +- **limit** (`integer`, optional) The maximum number of deals to return. Defaults to 10. Max is 50. +- **contact_id** (`integer`, optional) Filter deals by contact ID. Defaults to None (no filtering). +- **company_id** (`integer`, optional) Filter deals by company ID. Defaults to None (no filtering). +- **sort_order** (`Enum` [HubspotSortOrder](/toolkits/productivity/hubspot/reference#HubspotSortOrder), optional) Sort order for results. Defaults to LATEST_MODIFIED. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetNoteDataByKeywords + +
+ + +Search for note activities by search terms in NOTE object properties. + +**Parameters** + +- **search_terms** (`string`, required) Search phrase or terms to find in NOTE properties. +- **limit** (`integer`, optional) The maximum number of notes to return. Defaults to 10. Max is 50. +- **truncate_big_strings** (`boolean`, optional) Whether to truncate string properties longer than 100 characters. Defaults to False. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetCallDataByKeywords + +
+ + +Search for call activities by search terms in CALL object properties. + +**Parameters** + +- **search_terms** (`string`, required) Search phrase or terms to find in CALL properties. +- **limit** (`integer`, optional) The maximum number of calls to return. Defaults to 10. Max is 50. +- **truncate_big_strings** (`boolean`, optional) Whether to truncate string properties longer than 100 characters. Defaults to False. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetEmailDataByKeywords + +
+ + +Search for email activities by search terms in EMAIL object properties. + +**Parameters** + +- **search_terms** (`string`, required) Search phrase or terms to find in EMAIL properties. +- **limit** (`integer`, optional) The maximum number of emails to return. Defaults to 10. Max is 50. +- **truncate_big_strings** (`boolean`, optional) Whether to truncate string properties longer than 100 characters. Defaults to False. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetMeetingDataByKeywords + +
+ + +Search for meeting activities by search terms in MEETING object properties. + +**Parameters** + +- **search_terms** (`string`, required) Search phrase or terms to find in MEETING properties. +- **limit** (`integer`, optional) The maximum number of meetings to return. Defaults to 10. Max is 50. +- **truncate_big_strings** (`boolean`, optional) Whether to truncate string properties longer than 100 characters. Defaults to False. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetTaskDataByKeywords + +
+ + +Search for task activities by search terms in TASK object properties. + +**Parameters** + +- **search_terms** (`string`, required) Search phrase or terms to find in TASK properties. +- **limit** (`integer`, optional) The maximum number of tasks to return. Defaults to 10. Max is 50. +- **truncate_big_strings** (`boolean`, optional) Whether to truncate string properties longer than 100 characters. Defaults to False. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetCommunicationDataByKeywords + +
+ + +Search for communication activities by search terms in COMMUNICATION object properties. + +**Parameters** + +- **search_terms** (`string`, required) Search phrase or terms to find in COMMUNICATION properties. +- **limit** (`integer`, optional) The maximum number of communications to return. Defaults to 10. Max is 50. +- **truncate_big_strings** (`boolean`, optional) Whether to truncate string properties longer than 100 characters. Defaults to False. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetCompanyDataByKeywords + +
+ + +Retrieve company data with associated contacts, deals, calls, emails, + +**Parameters** + +- **keywords** (`string`, required) The keywords to search for companies. It will match against the company name, phone, and website. +- **limit** (`integer`, optional) The maximum number of companies to return. Defaults to 10. Max is 10. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.CreateCompany + +
+ + +Create a new company in HubSpot. + +**Parameters** + +- **company_name** (`string`, required) The company name (required) +- **web_domain** (`string`, optional) The company web domain (e.g., example.com) +- **industry_type** (`string`, optional) The company industry type (case-insensitive). +- **company_city** (`string`, optional) The company city location +- **company_state** (`string`, optional) The company state or province +- **company_country** (`string`, optional) The company country +- **phone_number** (`string`, optional) The company main phone number +- **website_url** (`string`, optional) The company website URL + + +## Hubspot.ListCompanies + +
+ + +List companies with pagination support. + +**Parameters** + +- **limit** (`integer`, optional) The maximum number of companies to return. Defaults to 10. Max is 50. +- **sort_order** (`Enum` [HubspotSortOrder](/toolkits/productivity/hubspot/reference#HubspotSortOrder), optional) Sort order for results. Defaults to LATEST_MODIFIED. +- **next_page_token** (`string`, optional) The token to get the next page of results. Defaults to None (returns first page of results) + + +## Hubspot.GetAvailableIndustryTypes + +
+ + +Get all available industry types for HubSpot companies. + +**Parameters** + +This tool does not take any parameters. + +## Hubspot.GetDealPipelines + +
+ + +List HubSpot deal pipelines with their stages, optionally filtered by a search string. + +**Parameters** + +- **search** (`string`, optional) Optional case-insensitive search string to filter pipelines by id or label + + +## Hubspot.GetDealPipelineStages + +
+ + +List stages for a specific HubSpot deal pipeline. + +**Parameters** + +- **pipeline_id** (`string`, required) The pipeline id (e.g., 'default' or a pipeline GUID) + + + +## Reference + +Below is a reference of enumerations used by some of the tools in the Hubspot toolkit: + +## HubspotCallDirection + +- **INBOUND**: `INBOUND` +- **OUTBOUND**: `OUTBOUND` + +## HubspotEmailDirection + +- **EMAIL**: `EMAIL` +- **INCOMING_EMAIL**: `INCOMING_EMAIL` +- **FORWARDED_EMAIL**: `FORWARDED_EMAIL` + +## HubspotEmailStatus + +- **BOUNCED**: `BOUNCED` +- **FAILED**: `FAILED` +- **SCHEDULED**: `SCHEDULED` +- **SENDING**: `SENDING` +- **SENT**: `SENT` + +## HubspotMeetingOutcome + +- **SCHEDULED**: `SCHEDULED` +- **COMPLETED**: `COMPLETED` +- **RESCHEDULED**: `RESCHEDULED` +- **NO_SHOW**: `NO_SHOW` +- **CANCELED**: `CANCELED` + +## HubspotCommunicationChannel + +- **SMS**: `SMS` +- **WHATS_APP**: `WHATS_APP` +- **LINKEDIN_MESSAGE**: `LINKEDIN_MESSAGE` +- **PHYSICAL_MAIL**: `PHYSICAL_MAIL` +- **CUSTOM_CHANNEL_CONVERSATION**: `CUSTOM_CHANNEL_CONVERSATION` + +## HubspotActivityType + +- **NOTE**: `note` +- **CALL**: `call` +- **EMAIL**: `email` +- **MEETING**: `meeting` +- **TASK**: `task` +- **COMMUNICATION**: `communication` + +## HubspotSortOrder + +- **LATEST_MODIFIED**: `LATEST_MODIFIED` +- **OLDEST_MODIFIED**: `OLDEST_MODIFIED` +- **ALPHABETICAL**: `ALPHABETICAL` + +## HubspotDealType + +- **NEW_BUSINESS**: `newbusiness` +- **EXISTING_BUSINESS**: `existingbusiness` + +## HubspotDealPriority + +- **LOW**: `low` +- **MEDIUM**: `medium` +- **HIGH**: `high` + + + +## Auth + +The Arcade Hubspot toolkit uses the [Hubspot auth provider](/home/auth-providers/hubspot) to connect to users' Hubspot accounts. Please refer to the [Hubspot auth provider](/home/auth-providers/hubspot) documentation to learn how to configure auth. + + diff --git a/pages/toolkits/productivity/hubspot/reference.mdx b/pages/toolkits/productivity/hubspot/reference.mdx new file mode 100644 index 00000000..3a02811c --- /dev/null +++ b/pages/toolkits/productivity/hubspot/reference.mdx @@ -0,0 +1,64 @@ +# Hubspot Reference + +Below is a reference of enumerations used by some of the tools in the Hubspot toolkit: + +## HubspotCallDirection + +- **INBOUND**: `INBOUND` +- **OUTBOUND**: `OUTBOUND` + +## HubspotEmailDirection + +- **EMAIL**: `EMAIL` +- **INCOMING_EMAIL**: `INCOMING_EMAIL` +- **FORWARDED_EMAIL**: `FORWARDED_EMAIL` + +## HubspotEmailStatus + +- **BOUNCED**: `BOUNCED` +- **FAILED**: `FAILED` +- **SCHEDULED**: `SCHEDULED` +- **SENDING**: `SENDING` +- **SENT**: `SENT` + +## HubspotMeetingOutcome + +- **SCHEDULED**: `SCHEDULED` +- **COMPLETED**: `COMPLETED` +- **RESCHEDULED**: `RESCHEDULED` +- **NO_SHOW**: `NO_SHOW` +- **CANCELED**: `CANCELED` + +## HubspotCommunicationChannel + +- **SMS**: `SMS` +- **WHATS_APP**: `WHATS_APP` +- **LINKEDIN_MESSAGE**: `LINKEDIN_MESSAGE` +- **PHYSICAL_MAIL**: `PHYSICAL_MAIL` +- **CUSTOM_CHANNEL_CONVERSATION**: `CUSTOM_CHANNEL_CONVERSATION` + +## HubspotActivityType + +- **NOTE**: `note` +- **CALL**: `call` +- **EMAIL**: `email` +- **MEETING**: `meeting` +- **TASK**: `task` +- **COMMUNICATION**: `communication` + +## HubspotSortOrder + +- **LATEST_MODIFIED**: `LATEST_MODIFIED` +- **OLDEST_MODIFIED**: `OLDEST_MODIFIED` +- **ALPHABETICAL**: `ALPHABETICAL` + +## HubspotDealType + +- **NEW_BUSINESS**: `newbusiness` +- **EXISTING_BUSINESS**: `existingbusiness` + +## HubspotDealPriority + +- **LOW**: `low` +- **MEDIUM**: `medium` +- **HIGH**: `high` diff --git a/public/examples/integrations/toolkits/hubspot/associate_activity_to_deal_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/associate_activity_to_deal_example_call_tool.js new file mode 100644 index 00000000..36283a98 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/associate_activity_to_deal_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.AssociateActivityToDeal"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "activity_type": "call", + "activity_id": 123456, + "deal_id": 98765 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/associate_activity_to_deal_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/associate_activity_to_deal_example_call_tool.py new file mode 100644 index 00000000..393d8806 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/associate_activity_to_deal_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.AssociateActivityToDeal" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'activity_type': 'call', 'activity_id': 123456, 'deal_id': 98765 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/associate_contact_to_deal_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/associate_contact_to_deal_example_call_tool.js new file mode 100644 index 00000000..072011dd --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/associate_contact_to_deal_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.AssociateContactToDeal"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "deal_id": 12345, + "contact_id": 67890 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/associate_contact_to_deal_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/associate_contact_to_deal_example_call_tool.py new file mode 100644 index 00000000..de99d6e7 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/associate_contact_to_deal_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.AssociateContactToDeal" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'deal_id': 12345, 'contact_id': 67890 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_call_activity_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_call_activity_example_call_tool.js new file mode 100644 index 00000000..eab27331 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_call_activity_example_call_tool.js @@ -0,0 +1,39 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateCallActivity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "title": "Intro demo call", + "when_occurred": "2025-09-11T14:30:00", + "direction": "OUTBOUND", + "summary": "Discussed project kickoff and next steps", + "duration": 900, + "to_number": "+15551234567", + "from_number": "+15557654321", + "associate_to_contact_id": 1023, + "associate_to_company_id": 58 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_call_activity_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_call_activity_example_call_tool.py new file mode 100644 index 00000000..55c4ba8e --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_call_activity_example_call_tool.py @@ -0,0 +1,37 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateCallActivity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'title': 'Intro demo call', + 'when_occurred': '2025-09-11T14:30:00', + 'direction': 'OUTBOUND', + 'summary': 'Discussed project kickoff and next steps', + 'duration': 900, + 'to_number': '+15551234567', + 'from_number': '+15557654321', + 'associate_to_contact_id': 1023, + 'associate_to_company_id': 58 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_communication_activity_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_communication_activity_example_call_tool.js new file mode 100644 index 00000000..e1676d3b --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_communication_activity_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateCommunicationActivity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "channel": "WHATS_APP", + "when_occurred": "2025-09-10T14:30:00", + "body_text": "Sent follow-up about proposal and asked if they needed any changes.", + "associate_to_contact_id": 78431, + "associate_to_company_id": 1209 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_communication_activity_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_communication_activity_example_call_tool.py new file mode 100644 index 00000000..7a666be9 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_communication_activity_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateCommunicationActivity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'channel': 'WHATS_APP', + 'when_occurred': '2025-09-10T14:30:00', + 'body_text': 'Sent follow-up about proposal and asked if they needed any changes.', + 'associate_to_contact_id': 78431, + 'associate_to_company_id': 1209 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_company_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_company_example_call_tool.js new file mode 100644 index 00000000..82f1af5b --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_company_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateCompany"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "company_name": "Acme Analytics", + "web_domain": "acme-analytics.com", + "industry_type": "technology", + "company_city": "San Francisco", + "company_state": "CA", + "company_country": "USA", + "phone_number": "+1-415-555-0123", + "website_url": "https://www.acme-analytics.com" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_company_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_company_example_call_tool.py new file mode 100644 index 00000000..c05289f0 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_company_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateCompany" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'company_name': 'Acme Analytics', + 'web_domain': 'acme-analytics.com', + 'industry_type': 'technology', + 'company_city': 'San Francisco', + 'company_state': 'CA', + 'company_country': 'USA', + 'phone_number': '+1-415-555-0123', + 'website_url': 'https://www.acme-analytics.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.js index ab1c0e36..ada7b13c 100644 --- a/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.js +++ b/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.js @@ -7,8 +7,8 @@ const TOOL_NAME = "Hubspot.CreateContact"; // Start the authorization process const authResponse = await client.tools.authorize({ - tool_name: TOOL_NAME, - user_id: USER_ID, + tool_name: TOOL_NAME, + user_id: USER_ID }); if (authResponse.status !== "completed") { @@ -19,13 +19,13 @@ if (authResponse.status !== "completed") { await client.auth.waitForCompletion(authResponse); const toolInput = { - company_id: "1234567890", - first_name: "John", - last_name: "Doe", - email: "john.doe@example.com", - phone: "+1234567890", - mobile_phone: "+1234567890", - job_title: "Software Engineer", + "company_id": 12345, + "first_name": "Aisha", + "last_name": "Khan", + "email": "aisha.khan@example.com", + "phone": "+1-415-555-0123", + "mobile_phone": "+1-415-555-0456", + "job_title": "Product Manager" }; const response = await client.tools.execute({ @@ -34,4 +34,4 @@ const response = await client.tools.execute({ user_id: USER_ID, }); -console.log(response.output.value); +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.py index 6ef28136..ae195695 100644 --- a/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.py +++ b/public/examples/integrations/toolkits/hubspot/create_contact_example_call_tool.py @@ -1,3 +1,4 @@ +import json from arcadepy import Arcade client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable @@ -5,7 +6,10 @@ USER_ID = "{arcade_user_id}" TOOL_NAME = "Hubspot.CreateContact" -auth_response = client.tools.authorize(tool_name=TOOL_NAME, user_id=USER_ID) +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) if auth_response.status != "completed": print(f"Click this link to authorize: {auth_response.url}") @@ -14,13 +18,13 @@ client.auth.wait_for_completion(auth_response) tool_input = { - "company_id": "1234567890", - "first_name": "John", - "last_name": "Doe", - "email": "john.doe@example.com", - "phone": "+1234567890", - "mobile_phone": "+1234567890", - "job_title": "Software Engineer", + 'company_id': 12345, + 'first_name': 'Aisha', + 'last_name': 'Khan', + 'email': 'aisha.khan@example.com', + 'phone': '+1-415-555-0123', + 'mobile_phone': '+1-415-555-0456', + 'job_title': 'Product Manager' } response = client.tools.execute( @@ -28,4 +32,4 @@ input=tool_input, user_id=USER_ID, ) -print(response.output.value) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_deal_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_deal_example_call_tool.js new file mode 100644 index 00000000..8c441b2c --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_deal_example_call_tool.js @@ -0,0 +1,39 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateDeal"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "deal_name": "Q3 Enterprise Renewal", + "deal_amount": 125000, + "deal_stage": "appointmentscheduled", + "deal_type": "existingbusiness", + "expected_close_date": "2025-10-15", + "pipeline_id": "default", + "deal_owner": "78945", + "priority_level": "high", + "deal_description": "Renewal for enterprise account with added support package." +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_deal_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_deal_example_call_tool.py new file mode 100644 index 00000000..930de176 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_deal_example_call_tool.py @@ -0,0 +1,37 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateDeal" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'deal_name': 'Q3 Enterprise Renewal', + 'deal_amount': 125000, + 'deal_stage': 'appointmentscheduled', + 'deal_type': 'existingbusiness', + 'expected_close_date': '2025-10-15', + 'pipeline_id': 'default', + 'deal_owner': '78945', + 'priority_level': 'high', + 'deal_description': 'Renewal for enterprise account with added support package.' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_email_activity_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_email_activity_example_call_tool.js new file mode 100644 index 00000000..d8d88792 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_email_activity_example_call_tool.js @@ -0,0 +1,50 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateEmailActivity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "subject": "Quarterly Partnership Update", + "when_occurred": "2025-09-10T14:30:00", + "from_email": "alex.sender@example.com", + "to_email": "jordan.partner@example.com", + "body_text": "Hi Jordan,\n\nPlease find the Q3 partnership summary attached.\n\nBest,\nAlex", + "body_html": "

Hi Jordan,

Please find the Q3 partnership summary attached.

Best,
Alex

", + "from_first_name": "Alex", + "from_last_name": "Sender", + "to_first_name": "Jordan", + "to_last_name": "Partner", + "cc_emails": [ + "pm@example.com" + ], + "bcc_emails": [ + "archive@example.com" + ], + "direction": "EMAIL", + "status": "SENT", + "associate_to_contact_id": 742, + "associate_to_company_id": 58 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_email_activity_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_email_activity_example_call_tool.py new file mode 100644 index 00000000..0506e505 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_email_activity_example_call_tool.py @@ -0,0 +1,45 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateEmailActivity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'subject': 'Quarterly Partnership Update', + 'when_occurred': '2025-09-10T14:30:00', + 'from_email': 'alex.sender@example.com', + 'to_email': 'jordan.partner@example.com', + 'body_text': 'Hi Jordan,\n\nPlease find the Q3 partnership summary attached.\n\nBest,\nAlex', + 'body_html': '

Hi Jordan,

Please find the Q3 partnership summary ' + 'attached.

Best,
Alex

', + 'from_first_name': 'Alex', + 'from_last_name': 'Sender', + 'to_first_name': 'Jordan', + 'to_last_name': 'Partner', + 'cc_emails': ['pm@example.com'], + 'bcc_emails': ['archive@example.com'], + 'direction': 'EMAIL', + 'status': 'SENT', + 'associate_to_contact_id': 742, + 'associate_to_company_id': 58 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_meeting_activity_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_meeting_activity_example_call_tool.js new file mode 100644 index 00000000..7d610a45 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_meeting_activity_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateMeetingActivity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "title": "Product Demo", + "start_date": "2025-09-18", + "start_time": "14:30", + "duration": "0:45", + "location": "Zoom", + "outcome": "SCHEDULED", + "associate_to_contact_id": 78945, + "associate_to_company_id": 1023 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_meeting_activity_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_meeting_activity_example_call_tool.py new file mode 100644 index 00000000..ffe1b6a8 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_meeting_activity_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateMeetingActivity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'title': 'Product Demo', + 'start_date': '2025-09-18', + 'start_time': '14:30', + 'duration': '0:45', + 'location': 'Zoom', + 'outcome': 'SCHEDULED', + 'associate_to_contact_id': 78945, + 'associate_to_company_id': 1023 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/create_note_activity_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/create_note_activity_example_call_tool.js new file mode 100644 index 00000000..f4cffffb --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_note_activity_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.CreateNoteActivity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "body": "Met with client to review Q3 roadmap and next steps.", + "when_occurred": "2025-09-10T14:30:00", + "associate_to_contact_id": 4821 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/create_note_activity_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/create_note_activity_example_call_tool.py new file mode 100644 index 00000000..e54f0831 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/create_note_activity_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.CreateNoteActivity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'body': 'Met with client to review Q3 roadmap and next steps.', + 'when_occurred': '2025-09-10T14:30:00', + 'associate_to_contact_id': 4821 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_all_users_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_all_users_example_call_tool.js new file mode 100644 index 00000000..1773325d --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_all_users_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetAllUsers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_all_users_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_all_users_example_call_tool.py new file mode 100644 index 00000000..d988cb5c --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_all_users_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetAllUsers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_available_industry_types_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_available_industry_types_example_call_tool.js new file mode 100644 index 00000000..271ffe8d --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_available_industry_types_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetAvailableIndustryTypes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_available_industry_types_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_available_industry_types_example_call_tool.py new file mode 100644 index 00000000..39f0329b --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_available_industry_types_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetAvailableIndustryTypes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_call_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_call_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..b1e59f49 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_call_data_by_keywords_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetCallDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_terms": "error timeout database", + "limit": 25, + "truncate_big_strings": true, + "next_page_token": "abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_call_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_call_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..6337f216 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_call_data_by_keywords_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetCallDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_terms': 'error timeout database', + 'limit': 25, + 'truncate_big_strings': True, + 'next_page_token': 'abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_communication_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_communication_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..e0f0400b --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_communication_data_by_keywords_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetCommunicationDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_terms": "invoice overdue payment", + "limit": 20, + "truncate_big_strings": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_communication_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_communication_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..8026dc6a --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_communication_data_by_keywords_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetCommunicationDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_terms': 'invoice overdue payment', 'limit': 20, 'truncate_big_strings': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_by_id_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_deal_by_id_example_call_tool.js new file mode 100644 index 00000000..80fb2dcf --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_by_id_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetDealById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "deal_id": 123456 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_by_id_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_deal_by_id_example_call_tool.py new file mode 100644 index 00000000..7e68013d --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetDealById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'deal_id': 123456 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_deal_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..dd43b33d --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_data_by_keywords_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetDealDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "keywords": "enterprise crm integration", + "limit": 5, + "next_page_token": "token_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_deal_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..46467724 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_data_by_keywords_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetDealDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'keywords': 'enterprise crm integration', 'limit': 5, 'next_page_token': 'token_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_pipeline_stages_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_deal_pipeline_stages_example_call_tool.js new file mode 100644 index 00000000..5d69d966 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_pipeline_stages_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetDealPipelineStages"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "pipeline_id": "default" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_pipeline_stages_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_deal_pipeline_stages_example_call_tool.py new file mode 100644 index 00000000..a8ec509e --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_pipeline_stages_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetDealPipelineStages" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'pipeline_id': 'default' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_pipelines_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_deal_pipelines_example_call_tool.js new file mode 100644 index 00000000..9ebe30a5 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_pipelines_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetDealPipelines"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search": "sales pipeline" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_deal_pipelines_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_deal_pipelines_example_call_tool.py new file mode 100644 index 00000000..43315e07 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_deal_pipelines_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetDealPipelines" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search': 'sales pipeline' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_email_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_email_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..2bf99a0a --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_email_data_by_keywords_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetEmailDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_terms": "invoice overdue payment", + "limit": 25, + "truncate_big_strings": false, + "next_page_token": "eyJwYWdlIjoyfQ==" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_email_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_email_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..0fbea58a --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_email_data_by_keywords_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetEmailDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_terms': 'invoice overdue payment', + 'limit': 25, + 'truncate_big_strings': False, + 'next_page_token': 'eyJwYWdlIjoyfQ==' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_meeting_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_meeting_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..765ee86f --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_meeting_data_by_keywords_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetMeetingDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_terms": "project roadmap budget", + "limit": 15, + "truncate_big_strings": true, + "next_page_token": "abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_meeting_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_meeting_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..8c6be2ac --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_meeting_data_by_keywords_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetMeetingDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_terms': 'project roadmap budget', + 'limit': 15, + 'truncate_big_strings': True, + 'next_page_token': 'abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_note_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_note_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..8c41516a --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_note_data_by_keywords_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetNoteDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_terms": "meeting action items Q3 roadmap", + "limit": 20, + "truncate_big_strings": true, + "next_page_token": "abc123token" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_note_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_note_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..4654f5b1 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_note_data_by_keywords_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetNoteDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_terms': 'meeting action items Q3 roadmap', + 'limit': 20, + 'truncate_big_strings': True, + 'next_page_token': 'abc123token' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_task_data_by_keywords_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_task_data_by_keywords_example_call_tool.js new file mode 100644 index 00000000..4b2d05cb --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_task_data_by_keywords_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetTaskDataByKeywords"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_terms": "user onboarding email template", + "limit": 20, + "truncate_big_strings": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_task_data_by_keywords_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_task_data_by_keywords_example_call_tool.py new file mode 100644 index 00000000..9b4dd449 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_task_data_by_keywords_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetTaskDataByKeywords" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_terms': 'user onboarding email template', 'limit': 20, 'truncate_big_strings': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/get_user_by_id_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/get_user_by_id_example_call_tool.js new file mode 100644 index 00000000..b3a2c430 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_user_by_id_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.GetUserById"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "owner_id": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/get_user_by_id_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/get_user_by_id_example_call_tool.py new file mode 100644 index 00000000..34ac3de5 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/get_user_by_id_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.GetUserById" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'owner_id': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/list_companies_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/list_companies_example_call_tool.js new file mode 100644 index 00000000..8371a046 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/list_companies_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.ListCompanies"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "limit": 20, + "sort_order": "LATEST_MODIFIED", + "next_page_token": "eyJwYWdlIjoxfQ==" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/list_companies_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/list_companies_example_call_tool.py new file mode 100644 index 00000000..c75ba1b4 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/list_companies_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.ListCompanies" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'limit': 20, 'sort_order': 'LATEST_MODIFIED', 'next_page_token': 'eyJwYWdlIjoxfQ==' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/list_contacts_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/list_contacts_example_call_tool.js new file mode 100644 index 00000000..408ba70f --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/list_contacts_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.ListContacts"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "limit": 25, + "company_id": 1024, + "sort_order": "LATEST_MODIFIED", + "next_page_token": "eyJwaWQiOiIxMjM0NSJ9" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/list_contacts_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/list_contacts_example_call_tool.py new file mode 100644 index 00000000..77f22843 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/list_contacts_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.ListContacts" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'limit': 25, + 'company_id': 1024, + 'sort_order': 'LATEST_MODIFIED', + 'next_page_token': 'eyJwaWQiOiIxMjM0NSJ9' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/list_deals_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/list_deals_example_call_tool.js new file mode 100644 index 00000000..4149d5d8 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/list_deals_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.ListDeals"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "limit": 20, + "contact_id": 12345, + "company_id": 67890, + "sort_order": "LATEST_MODIFIED", + "next_page_token": "token_abc123" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/list_deals_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/list_deals_example_call_tool.py new file mode 100644 index 00000000..0740a475 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/list_deals_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.ListDeals" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'limit': 20, + 'contact_id': 12345, + 'company_id': 67890, + 'sort_order': 'LATEST_MODIFIED', + 'next_page_token': 'token_abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/toolkit_enviroment_guidance_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/toolkit_enviroment_guidance_example_call_tool.js new file mode 100644 index 00000000..a31bbdca --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/toolkit_enviroment_guidance_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.ToolkitEnviromentGuidance"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/toolkit_enviroment_guidance_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/toolkit_enviroment_guidance_example_call_tool.py new file mode 100644 index 00000000..eb7a5f29 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/toolkit_enviroment_guidance_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.ToolkitEnviromentGuidance" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/update_deal_close_date_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/update_deal_close_date_example_call_tool.js new file mode 100644 index 00000000..bb00c79e --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/update_deal_close_date_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.UpdateDealCloseDate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "deal_id": 123456, + "expected_close_date": "2025-10-15" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/update_deal_close_date_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/update_deal_close_date_example_call_tool.py new file mode 100644 index 00000000..2d85c6e8 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/update_deal_close_date_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.UpdateDealCloseDate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'deal_id': 123456, 'expected_close_date': '2025-10-15' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/update_deal_stage_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/update_deal_stage_example_call_tool.js new file mode 100644 index 00000000..852af6f3 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/update_deal_stage_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.UpdateDealStage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "deal_id": 987654, + "deal_stage": "closedwon", + "current_pipeline_id": "default-pipeline-1", + "allow_pipeline_change": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/update_deal_stage_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/update_deal_stage_example_call_tool.py new file mode 100644 index 00000000..6b2224a0 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/update_deal_stage_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.UpdateDealStage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'deal_id': 987654, + 'deal_stage': 'closedwon', + 'current_pipeline_id': 'default-pipeline-1', + 'allow_pipeline_change': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/toolkits/hubspot/who_am_i_example_call_tool.js b/public/examples/integrations/toolkits/hubspot/who_am_i_example_call_tool.js new file mode 100644 index 00000000..3a9448d7 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/who_am_i_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "Hubspot.WhoAmI"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/toolkits/hubspot/who_am_i_example_call_tool.py b/public/examples/integrations/toolkits/hubspot/who_am_i_example_call_tool.py new file mode 100644 index 00000000..d9ad5bc4 --- /dev/null +++ b/public/examples/integrations/toolkits/hubspot/who_am_i_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "Hubspot.WhoAmI" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=TOOL_NAME +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2))