# 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.
