# Pre-fill form from Hubspot

## Overview

This rule runs after a user email is collected on `Step 1` and the step is submitted. The email is used to query the Hubspot account to fetch other information about the user to prefill onto `Step 2`.

This pattern can be used to look up any Hubspot records based on any field or combination of fields (email, Salesforce ID, etc.)

## Rule Logic

```
// Get user's entered email
const email = hubspotEmail.value;

const API_ENDPOINT = `https://api.hubapi.com/contacts/v1/contact/email/${email}/profile`;

// Issue request to HubSpot to fetch contact data
const data = await feathery.http.GET(API_ENDPOINT);
const properties = data.properties;

// Update Feathery fields with data pulled from Hubspot
hubspotFirstName.value = properties.firstname.value;
hubspotLastName.value = properties.lastname.value;
```

## API Connector

Under the API connectors tab, create a connector with the following configuration:

* Base URL: <https://api.hubapi.com>
* Allowed Endpoints: `/contacts/v1/contact/email`
* Headers:
  * `Authorization`: `Bearer {{hubspot_token}}`

Fill in `hubspot_token` with your Hubspot `hapikey` or an access token.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.feathery.io/platform/build-forms/advanced-logic/examples/api-connectors/pre-fill-form-from-hubspot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
