> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getwhys.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Highspot integration

> Import sales content from selected Highspot Spots into Organization Data so it's searchable and cited in Chat.

Connecting Highspot imports files from the Spots you choose into GetWhys as Organization Data. New and updated items flow in automatically, and you can backfill what's already there. Once processed, your pitch decks, one-pagers, battlecards, and case studies are searchable from Chat alongside the GetWhys research interview database.

## What you can do with the Highspot integration

* Auto-import new and updated files from the Spots you subscribe to
* Backfill existing items from those Spots on demand
* Keep GetWhys in sync when content is replaced or deleted in Highspot
* Search imported content from Chat and have it cited like any other source

## Who can connect Highspot

<Note>
  You need admin access in GetWhys and a Highspot account with API access. A Highspot admin controls who can generate API credentials.
</Note>

GetWhys imports only what the Highspot account behind the API credentials can see and download. Use an account that has view and download access to every Spot you want to import.

<Tip>
  Highspot ties API credentials to a person's account. If that person leaves or loses API access, imports stop until an admin updates the credentials. A dedicated service account avoids that interruption.
</Tip>

## Getting your Highspot API credentials

GetWhys needs a Developer API Key and Secret from Highspot. Generating them is a two-part process: a Highspot admin grants API access, then the user with access generates the key.

<Steps>
  <Step title="Grant API access (Highspot admin)">
    In Highspot, click your profile icon, choose **Settings**, and open your company under **Company Settings**. Go to **Access and Privacy** > **API Access**, add the user who will generate the credentials, and confirm API access for users is enabled.

    API access isn't enabled on every Highspot instance. If the option isn't available, ask Highspot Support to enable it.
  </Step>

  <Step title="Generate the key and secret (user with API access)">
    Sign in to Highspot as that user, click your profile icon, choose **Settings**, and open the **Developer** tab. Generate a new API key. Highspot shows you a key and a secret.
  </Step>

  <Step title="Copy both values">
    Copy the key and secret somewhere safe. You'll paste them into GetWhys in the next section. Never share them in chat or email.
  </Step>
</Steps>

## Message for your Highspot admin

If you need a Highspot admin to grant API access, send them something like this:

```text theme={null}
We're connecting Highspot to GetWhys so the sales content in a few of our Spots becomes searchable alongside GetWhys' research interview database. This lets our PMM and GTM teams ask buyer questions in Chat and get answers grounded in both market research and the content we've already published to Sales.

The integration requires:
- API access for one Highspot user (or a service account) under Company Settings > Access and Privacy > API Access
- A Developer API Key and Secret generated by that user
- The account needs view and download access to the Spots we want to import

GetWhys only imports files from the Spots we explicitly subscribe to. Content stays private to our organization — it's not shared with other GetWhys customers or used to train shared models.

Can you add me (or a service account) to API Access so I can generate the credentials?
```

## Connecting Highspot

1. In GetWhys, go to **Integrations** in the left navigation and find the **Highspot** card
2. Paste your **Developer API Key** and **Developer API Secret**
3. Click **Connect Highspot**

GetWhys validates the credentials, creates a webhook subscription in your Highspot instance, and sends two test events through it. When both pass, the card shows **Connected** and the **Webhook** status reads **Validated**. You don't need to configure anything on the Highspot side after this.

<Info>
  GetWhys encrypts your credentials at rest and uses them only to list Spots, read item metadata, download item content, and manage its own webhook subscription.
</Info>

## Subscribing to Spots

Nothing is imported until you subscribe to at least one Spot. GetWhys never requests or downloads content from Spots you haven't subscribed to.

1. On the **Configuration** tab, click **Subscribe to new Spots**
2. Search for a Spot by title and check the ones you want
3. Click the **Subscribe** button at the bottom of the dialog (it shows how many Spots you've selected)

Subscribed Spots appear in the **Spot subscriptions** list. Click **Unsubscribe** next to a Spot to stop importing new and updated items from it. Unsubscribing doesn't delete anything already imported.

<Note>
  You can't change Spot subscriptions while a backfill is running. Wait for it to finish first.
</Note>

## Backfilling existing content

Subscribing only picks up items that are created or updated from that point on. To import what's already in a Spot, run a backfill:

1. Open the **Backfill** tab and click **Start backfill**
2. Choose which subscribed Spots to include, or click **Select all**
3. Click **Start backfill**

GetWhys scans each selected Spot, queues every eligible item, and processes them in the background. The tab shows the backfill's status, when it started, and how many items have completed, with a per-Spot breakdown. Use the arrows to review earlier backfills.

Only one backfill can run at a time. Large Spots can take a while, and the page refreshes automatically while the backfill is in progress.

## How content stays in sync

After you connect, GetWhys keeps imported content current in three ways:

* **Webhook events.** Highspot notifies GetWhys when an item is created, its content is updated, or it's deleted. New and updated items in subscribed Spots are imported; deleted items are removed from GetWhys.
* **Scheduled scan.** Every six hours GetWhys scans your subscribed Spots for items whose content changed without a webhook event and re-imports them. This scan only refreshes items already imported; it doesn't pick up new items.
* **Backfill.** Run one whenever you want to import items that already exist in a Spot.

When an item's content changes, GetWhys replaces the searchable version so only the current content appears in Chat. If the new file is identical to what GetWhys already has, it's skipped without reprocessing.

## Supported content

GetWhys imports downloadable files in these formats, up to 20 MB each:

* `.pdf`
* `.docx`
* `.pptx`
* `.txt`
* `.md`

Items that don't meet these requirements are tracked but not made searchable. This includes SmartPages, web links, reports, unsupported file types, and files larger than 20 MB. Items that Highspot hasn't finished preparing for download are retried automatically.

## Reading the ingestion status

The **Configuration** tab shows counts for every item GetWhys has seen from your subscribed Spots:

| Status | Meaning |
| - | - |
| **Pending** | Waiting for GetWhys to check or process the file. A newly reported item's Spot is unknown at first, so some pending items are discarded once Highspot confirms they belong to an unsubscribed Spot. |
| **Active** | Finished processing and included in Chat results. |
| **Skipped** | From a subscribed Spot, but GetWhys couldn't add it. Usually an unsupported content type or a file over 20 MB. |
| **Failed** | From a subscribed Spot, but processing hit an error. |

**Last event** shows when Highspot most recently sent GetWhys a webhook event. If it stays at **None** after you've added or updated items in a subscribed Spot, see [Troubleshooting](#troubleshooting).

## How imported content is used

Once active, Highspot files behave like any document in Organization Data. They appear in Chat citations and are searchable from any query. See [Organization Data](/features/organization-data).

## Updating credentials

If someone rotates or revokes the Highspot API key, the card shows **Needs attention** and imports pause. Deletions in Highspot are still recorded so GetWhys doesn't keep content that's been removed.

To resume, click **Update credentials**, paste the new **Developer API Key** and **Developer API Secret**, and click **Validate and update**. GetWhys re-tests the webhook subscription with the new credentials. Your Spot subscriptions and imported content are unchanged.

## Disconnecting

On the **Integrations** page, open the **Highspot** card and click **Disconnect**. GetWhys removes its webhook subscription from your Highspot instance and deletes the stored credentials. Previously imported files remain in Organization Data until you delete them there.

<Note>
  **Disconnect** is unavailable while credentials are invalid, because GetWhys needs working credentials to clean up its subscription in Highspot. Update the credentials first, then disconnect.
</Note>

If you reconnect later, GetWhys reattaches the content it imported before so you don't end up with duplicates.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Connection fails with a credentials error">
    Confirm you copied the full key and secret from the **Developer** tab and that the user still has API access under **Access and Privacy** > **API Access**. GetWhys connects to Highspot's `api-su2.highspot.com` API host. If the API URL in your Developer settings shows a different host, contact [support@getwhys.io](mailto:support@getwhys.io) before connecting.
  </Accordion>

  <Accordion title="Connection fails with a webhook validation error">
    GetWhys creates and tests a webhook subscription in Highspot as part of connecting. If the test fails, retry the connection. If it keeps failing, contact [support@getwhys.io](mailto:support@getwhys.io) with the time you attempted to connect.
  </Accordion>

  <Accordion title="New items in a Spot aren't showing up">
    Check that the Spot is listed under **Spot subscriptions** and that the card shows **Connected** rather than **Needs attention**. Then check **Last event**. If it hasn't changed since you added the item, Highspot may not have delivered the event. Run a backfill for that Spot to import it directly.
  </Accordion>

  <Accordion title="An item is counted as Skipped">
    GetWhys imports downloadable `.pdf`, `.docx`, `.pptx`, `.txt`, and `.md` files up to 20 MB. SmartPages, web links, reports, and other content types are skipped. If a file should qualify, confirm the API user has download permission for it in Highspot.
  </Accordion>

  <Accordion title="A Spot I expect to see isn't in the picker">
    The picker only lists Spots the API user can view. Ask your Highspot admin to grant that user access to the Spot, then search for it again.
  </Accordion>
</AccordionGroup>

## Privacy

Highspot content is private to your organization. It's not shared with other GetWhys customers or used to train shared models. GetWhys only downloads files from Spots you've subscribed to.
