> For the complete documentation index, see [llms.txt](https://docs.spara.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spara.com/integrations/crm-integrations.md).

# CRM Integrations

How to integrate Spara with your CRM.

Spara has native CRM integrations that enable bidirectional data syncs between your CRM and Spara. Syncing data from your CRM means Spara never reasks questions your team has already answered, and Spara's behavior can react to each lead based on where they are in your sales funnel.

Connect your CRM under [**Settings > Integrations**](https://app.spara.co/settings/integrations).

| CRM                                                            | Spara reads from CRM                                                                     | Spara writes to CRM                  |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ------------------------------------ |
| [Salesforce](/integrations/crm-integrations/salesforce.md)     | Any mapped field on Lead and Contact; specific fields on Account, Owner, and Opportunity | Any mapped field on Lead and Contact |
| [Hubspot (CRM)](/integrations/crm-integrations/hubspot-crm.md) | Any mapped Contact property; Company and Owner when enabled; Deals                       | Any mapped Contact property          |
| [Marketo](/integrations/crm-integrations/marketo.md)           | Any mapped Lead field                                                                    | Any mapped Lead field                |

In addition, Spara provides [Developer: Webhooks](https://docs.spara.com/developers/spara-api/webhooks) and [Developer: Web API](https://docs.spara.com/developers/spara-api/web-api) for completely customizable workflows and data flows into and out of your CRM.

## How the native integration works

Spara's native integrations are designed to work out of the box with a simple, opinionated sync model. Two assumptions drive everything:

1. **Spara creates a CRM record as soon as it knows a lead's email address.** The moment an email is captured (in chat, on a call, or via a webform), Spara matches the lead to an existing CRM record or creates a new one (if you've turned on creating new records). Spara does not wait for additional fields to be gathered first.
2. **Spara pushes every update, as it happens.** Each time a lead's field changes in Spara (a new answer gathered in conversation, an enrichment result, a booked meeting), Spara writes the mapped fields to the CRM record. Conversation transcripts sync shortly after a conversation goes quiet.

Both behaviors require that you grant Spara permission to write: sync only runs for the record types you turn on, and only within the permissions of the CRM user that authorized the connection.

{% hint style="info" %}
Need different behavior, for example only creating a CRM record once a set of required fields is known? Custom sync restrictions are available for Enterprise customers. See [Guide: Working Around CRM Sync Limitations](https://docs.spara.com/guides/crm-sync-workarounds).
{% endhint %}

## Objects Spara syncs

Spara's data model centers on three core objects, **Lead**, **Account**, and **Owner**, plus read-only Deal data for analytics. For a tour of the objects and the full field reference, see [Developer: Spara Objects & Fields](https://docs.spara.com/developers/data-model).

| Spara object                      | CRM equivalent                                           | Spara reads        | Spara writes   |
| --------------------------------- | -------------------------------------------------------- | ------------------ | -------------- |
| Lead                              | Salesforce Lead & Contact; HubSpot Contact; Marketo Lead | Yes                | Yes            |
| [Accounts](/pipeline/accounts.md) | Salesforce Account; HubSpot Company                      | Yes                | No (read-only) |
| [Owners](/pipeline/owners.md)     | Salesforce User; HubSpot Owner                           | Yes                | No (read-only) |
| Deal                              | Salesforce Opportunity; HubSpot Deal                     | Yes, for analytics | No (read-only) |

Spara also records every lead interaction (messages, calls, emails, meetings) as **Events** in the Spara platform. Events power [Analytics](/pipeline/analytics.md) and workflow triggers, but are not yet available for CRM sync as structured activity records. Conversation content can still reach your CRM; see each CRM's page for how transcripts sync.

## Key limitations

The native integration favors simplicity over configurability. Be aware of these boundaries:

* **Writes go to Lead and Contact records only.** Spara never updates Accounts, Owners, Deals, or Opportunities in your CRM; those objects are read-only.
* **CRM objects outside the core model are not synced directly.** Objects like Salesforce Campaigns or custom objects have no Spara equivalent. For Enterprise customers, Spara's engineering team can map fields from unsupported CRM objects onto Spara's Lead, Account, and Owner objects.
* **Records are created as soon as an email is known.** To wait for more, add a **Create condition** in your [Salesforce](/integrations/crm-integrations/salesforce.md#create-condition) or [Hubspot (CRM)](/integrations/crm-integrations/hubspot-crm.md#writing-to-hubspot-contacts) settings. Only admins can edit it.
* **Import Rules (which CRM records are imported as new Leads) are configured by your Spara customer success representative**, not self-serve.

For workarounds to each of these, see [Guide: Working Around CRM Sync Limitations](https://docs.spara.com/guides/crm-sync-workarounds).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.spara.com/integrations/crm-integrations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
