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

# Connect Your CRM to Piper AI: HubSpot, Salesforce, Pipedrive

> Sync call notes, deal fields, and meeting records automatically to HubSpot, Salesforce, or Pipedrive — so your CRM stays accurate without any manual data entry.

Connecting your CRM is one of the highest-value steps in the Piper AI setup process. Once integrated, Piper automatically logs a meeting record after every call, enriches deal and contact fields with data extracted from the conversation, and syncs notes across all related CRM objects — no manual data entry required. Piper never overwrites existing CRM values; it appends new information, so your existing data is always preserved.

## Choosing Your CRM

CRM connection is a one-time choice made during your team's onboarding, in the **Connect CRM** step of the Guided Setup wizard — not something you set up repeatedly from Settings.

<Steps>
  <Step title="Pick HubSpot, Salesforce, or Pipedrive">
    Choose the CRM your team uses, or select **Continue without CRM** to skip for now. Connecting one upgrades your team to the **Pro** plan; skipping keeps you on **Starter**.
  </Step>

  <Step title="Confirm Super Admin access">
    Make sure the account you connect with has Super Admin rights in that CRM — the OAuth authorization needs this to log meetings and update records correctly.
  </Step>

  <Step title="Complete the OAuth flow">
    Sign in and grant access. If you choose Salesforce, you'll also be asked to connect to your production org or a **Sandbox** (for testing against `test.salesforce.com`).
  </Step>
</Steps>

<Note>
  Whichever CRM you pick (or skip) here is what you're left with: **Settings → Integrations** only ever shows the one CRM your team already connected, for checking status or reconnecting if the connection breaks (see [Troubleshooting CRM Sync](/troubleshooting/crm-sync)) — it doesn't offer a way to connect a CRM you skipped, or switch to a different one afterward.
</Note>

If you're connecting Salesforce, see [Salesforce Permissions](/getting-started/salesforce-permissions) for what the consent screen requests and why it looks broad.

***

## What Piper Creates in HubSpot

<Warning>
  The account used to connect HubSpot must be a **Super Admin** in HubSpot, or the connection will have insufficient permissions to log meetings and update CRM records.
</Warning>

After every processed call, Piper automatically creates a **HubSpot Meeting** associated with the relevant deal and contacts. Each meeting record includes:

| Field         | Value                                       |
| ------------- | ------------------------------------------- |
| **Notes**     | AI-generated call summary and key takeaways |
| **Attendees** | All participants identified on the call     |
| **Duration**  | Scheduled duration of the meeting           |
| **Outcome**   | Set to **Completed**                        |

In addition, Piper:

* Fills configured **Deal fields** with data extracted from the conversation (e.g., budget, timeline, next steps).
* Syncs call notes to all linked **Contacts**, **Companies**, and **Deals** in HubSpot.

***

## What Piper Creates in Salesforce

After every processed call, Piper logs a meeting record and syncs notes and deal field data to the relevant Salesforce objects — Contacts, Accounts, Opportunities, and Leads — following the same behavior as the HubSpot integration. Leads get full record creation, updates, and notes, but not deal-stage fields, since a Lead isn't a Deal.

***

## What Piper Creates in Pipedrive

After every processed call, Piper logs an activity and syncs data to the relevant Pipedrive objects:

| Object          | What Piper does                                                        |
| --------------- | ---------------------------------------------------------------------- |
| **Activity**    | Logs the call with the AI summary, attendees, and duration             |
| **Notes**       | Adds the AI-generated call summary to the linked records               |
| **Deal fields** | Fills configured deal fields with data extracted from the conversation |

In addition, Piper syncs notes and field data to the related **Persons**, **Organizations**, and **Deals** — following the same per–Meeting Type Auto-Sync rules as HubSpot and Salesforce.

***

## CRM Auto-Sync

The **Fields Auto-Sync** toggle controls exactly which data Piper writes to your CRM after each call. You configure it per Meeting Type, so you can have different sync rules for discovery calls, demos, and QBRs.

To configure Auto-Sync:

1. Navigate to **Settings → Meeting Types**.
2. Select the Meeting Type you want to configure.
3. Toggle **Fields Auto-Sync** to enable or disable each sync category:

| Sync Category       | What It Controls                                                                |
| ------------------- | ------------------------------------------------------------------------------- |
| **Notes**           | Syncs the AI-generated call summary and transcript highlights to the CRM record |
| **CRM Fields**      | Fills structured deal and contact fields (e.g., next steps, MEDDIC criteria)    |
| **Logged Meetings** | Creates a meeting activity record in the CRM linked to the relevant objects     |

<Tip>
  If you want full automation, enable all three sync categories for your primary Meeting Types. For internal or non-deal meetings, you can disable CRM Fields and Logged Meetings to keep your CRM clean.
</Tip>

<Note>
  If two or more of your internal team members attend the same call, Piper currently logs and syncs each attendee's calendar entry independently — so you may see duplicate **Notes** or **Logged Meetings** for that single call in your CRM (one set per internal attendee). Turning off a sync category stops that category from syncing altogether; it does not deduplicate a multi‑attendee call. This is a known limitation, not a configuration issue — reach out to your CSM if it's affecting your CRM data.
</Note>

<Note>
  Call scores aren't part of the three Auto-Sync categories above. To sync a call's score to your CRM, map it to a numeric field per Meeting Type under **Settings → Meeting Types → \[type] → Call Scoring → Numerical CRM Fields** — see [Meeting Types](/settings/meeting-types#configurable-components) for details.
</Note>

### Piper Appends, Never Overwrites

Piper AI is designed to complement your existing CRM data, not replace it. When syncing notes and fields, Piper **appends** new information to existing records rather than overwriting them. This means:

* Existing deal field values are preserved if Piper does not have a more recent value to add.
* Call notes are added as new entries rather than replacing prior notes.
* No historical CRM data is lost as a result of Piper's sync.

***

## Reconnecting After an Auth Failure

<Note>
  CRM OAuth tokens can expire or be revoked — for example, if a user's password changes, CRM admin revokes the app, or your organization enforces session timeouts. If Piper stops syncing to your CRM, the integration tile in **Settings → Integrations** will display a warning banner. Click **Reconnect** and complete the OAuth flow again to restore the connection. Only Owners/Admins on Piper's **Pro** plan see a working **Reconnect** button — Standard users see a message to contact their Team Owner instead.
</Note>

For more details on all available integrations, see the [Integrations Settings](/settings/integrations) reference.
