Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: API docs page outline #3093

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 133 additions & 16 deletions docs-v2/integrations/all/hubspot.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,146 @@ title: HubSpot
sidebarTitle: HubSpot
---

API configuration: [`hubspot`](https://nango.dev/providers.yaml)
## Overview

## Features
<CardGroup cols={3}>
<Card title="Pre-built tooling" icon="screwdriver-wrench" href="#pre-built-tooling"/>
<Card title="Pre-built use-cases" icon="square-check" href="#pre-built-use-cases"/>
<Card title="Pre-requisites" icon="triangle-exclamation" href="#pre-requisites"/>
<Card title="Setup guide" icon="rocket" href="#setup-guide"/>
<Card title="Useful links" icon="circle-info" href="#useful-links"/>
<Card title="API gotchas" icon="biohazard" href="#api-gotchas"/>
</CardGroup>

| Features | Status |
| - | - |
| [Auth (OAuth)](/guides/getting-started/authorize-an-api-from-your-app) | ✅ |
| [Sync data](/guides/getting-started/read-from-an-api) | ✅ |
| [Perform workflows](/guides/getting-started/write-to-an-api) | ✅ |
| [Proxy requests](/guides/proxy-requests-to-an-api) | ✅ |
| [Receive webhooks](/guides/receive-webhooks-from-an-api) | ✅ |
## Pre-built tooling

<Tip>We can implement missing features in &lt;48h, just ask for it in the [community](https://nango.dev/slack).</Tip>
<AccordionGroup>
<Accordion title="✅ Authorization">
| Tools | Status |
| - | - |
| Pre-built authorization (OAuth 2) | ✅ |
| Credentials auto-refresh | ✅ |
| Authorization input validation | ✅ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not 100% sure which feature you refer to, is it the automatic credentials validation?
If you also mean the additional parameters, I think we should mention them explicitly as a separate feature?

Suggestion:
Automatic credentials validation
Automatic auth-parameters validation

| Pre-built authorization UI | ✅ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pre-built Connect UI?

To stay in line with our wording of this feature elsewhere

| Custom authorization UI | ✅ |
| End-user authorization guidelines | ✅ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

End-user authorization guide

=> IMO we should only mark it as checked where we actually have it. For OAuth ones, we could mark as "not required"?

| Invalid credentials detection | ✅ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Broken credentials detection

I would use this wording to differentiate between the validation at connect time, and detection of broken credentials down the road

</Accordion>
<Accordion title="✅ Read & write data">
| Tools | Status |
| - | - |
| Pre-built use-cases | ✅ |
| API unification | ✅ |
| 2-way sync | ✅ |
| Webhooks from Nango on data modifications | ✅ |
| Real-time webhooks from 3rd-party API | ✅ |
| Proxy requests | ✅ |
</Accordion>
<Accordion title="✅ Observability & data quality">
| Tools | Status |
| - | - |
| HTTP request logging | ✅ |
| End-to-type type safety | ✅ |
| Data runtime validation | ✅ |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bastienbeurier Since we mention some platform level features here, IMO we could add:

  • OpenTelemetry export
  • Slack Alerts on errors
  • Integration status API

</Accordion>
<Accordion title="✅ Customization">
| Tools | Status |
| - | - |
| Create or customize use-cases | ✅ |
| Pre-configured pagination | ✅ |
| Pre-configured rate-limit handling | ✅ |
| Per-customer configurations | ✅ |
</Accordion>
</AccordionGroup>

## Getting started
## Pre-built use-cases

- [How to register an Application](https://developers.hubspot.com/docs/api/working-with-oauth#initiating-an-integration-with-oauth-2-0)
- [OAuth-related docs](https://developers.hubspot.com/docs/api/oauth-quickstart-guide)
- [List of OAuth scopes](https://developers.hubspot.com/docs/api/working-with-oauth#scopes)
- [API](https://developers.hubspot.com/docs/api/overview)
<AccordionGroup>
<Accordion title="Companies">
| Endpoint | Description | Readme |
| - | - | - |
| `GET /companies` | Fetches a list of companies from Hubspot | [🔗](https://github.com/NangoHQ/integration-templates/blob/main/integrations/hubspot/syncs/companies.ts)|
| `POST /companies` | Creates a single company in Hubspot | [🔗](https://github.com/NangoHQ/integration-templates/blob/main/integrations/hubspot/syncs/companies.ts)|
| `PATCH /companies` | Update a single company in Hubspot | [🔗](https://github.com/NangoHQ/integration-templates/blob/main/integrations/hubspot/syncs/companies.ts)|
| `DEL /companies` | Deletes a company in Hubspot | [🔗](https://github.com/NangoHQ/integration-templates/blob/main/integrations/hubspot/syncs/companies.ts)|
</Accordion>
<Accordion title="Contacts"></Accordion>
<Accordion title="Deals"></Accordion>
<Accordion title="Owners"></Accordion>
<Accordion title="Pipelines"></Accordion>
<Accordion title="Products"></Accordion>
<Accordion title="Properties"></Accordion>
<Accordion title="Roles"></Accordion>
<Accordion title="Tasks"></Accordion>
<Accordion title="Others"></Accordion>
</AccordionGroup>

<Tip>Not seeing the use-case you need? [Build your own](https://nango.dev/slack) independently.</Tip>

## Pre-requisites
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I never heard of pre-requisites before. I think it would be good to find a more descriptive title

Suggestion:
Requirements & Review Process

Also open to other suggestions!


| Pre-Requisites | Status | Comment|
| - | - | - |
| Paid dev account | ✅ Not required | Free, self-signup [here](https://developers.hubspot.com/). |
| Paid test account | ✅ Not required | Free, self-signup [here](https://hubspot.com/). |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Once you have a dev account you can create a free Enterprise HubSpot account. That will be more realistic account for testing than the free account.
I would change the comment to "Create free Enterprise account for testing from your developer account"

| Partnership | ✅ Not required | |
| App review | ✅ Not required | |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add in comment "Only required for marketplace listing, not for integration distribution"

| Security audit | ✅ Not required | |

## Setup guide

<Steps>
<Step title="Create a developer account">
Go to [Hubspot's developer signup page](https://app.hubspot.com/signup-hubspot/developers) and create an account.
</Step>
<Step title="Create & configure a Hubspot app">
Start creating a Hubspot app by clicking on the _Create app_ button.

In the _Auth_ tab, configure the following Redirect URL: `https://api.nango.dev/oauth/callback`.

Create the Hubspot app. In the _Auth_ tab, copy/paste the `Client ID` and `Client secret`, you will need to specify it in Nango later on.
</Step>
<Step title="Set up the OAuth scopes">
Still in the _Auth_ tab, add the scopes that are relevant to how you want to consume the Hubspot API. Copy/paste the list of scopes, you will need to specify it in Nango later on.
</Step>
<Step title="Create a Hubspot test account">
If you don't have a Hubspot account already, create one to test your integration.
</Step>
<Step title="Next">
Follow the [_Getting Started_ guides](/guides/getting-started).
</Step>
</Steps>

<Tip>Need help getting started? Get help in the [community](https://nango.dev/slack).</Tip>

## Useful links

<AccordionGroup>
<Accordion title="General">
- [Website](https://www.hubspot.com/)
</Accordion>
<Accordion title="Documentation">
- [API documentation](https://developers.hubspot.com/beta-docs/reference/api/overview)
</Accordion>
<Accordion title="Registration">
- [Create a test account](https://app.hubspot.com/signup-hubspot/crm)
- [Create a developer account](https://app.hubspot.com/signup-hubspot/developers)
</Accordion>
<Accordion title="Developer">
- [Developer console](https://app.hubspot.com/)
</Accordion>
<Accordion title="Authorization">
- [Authorization documentation](https://developers.hubspot.com/docs/api/oauth-quickstart-guide)
- [Register an OAuth app](https://developers.hubspot.com/docs/api/working-with-oauth#initiating-an-integration-with-oauth-2-0)
- [List of OAuth scopes](https://developers.hubspot.com/docs/api/working-with-oauth#scopes)
</Accordion>
<Accordion title="Rate Limiting">
- [Details on rate limits](https://developers.hubspot.com/beta-docs/guides/apps/api-usage/usage-details)
</Accordion>
</AccordionGroup>

## API gotchas

<Note>Add Getting Started links and Gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/hubspot.mdx)</Note>
_No reported gotchas yet_

<Note>Contribute _Useful Links_ & _API Gotchas_ by [editing this page](https://github.com/nangohq/nango/tree/master/docs-v2/integrations/all/hubspot.mdx)</Note>
Loading