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

# CRM Integrations: Overview Guide

## FAQs and general info

<AccordionGroup>
  <Accordion title="Which CRMs can BenefitFlow integrate with?">
    BenefitFlow currently supports native integrations with Salesforce, HubSpot, and Microsoft Dynamics.

    <Frame>
      <img src="https://mintcdn.com/benefitflow/3AlZFAaq1xh6BhV6/images/image-9.png?fit=max&auto=format&n=3AlZFAaq1xh6BhV6&q=85&s=c8eb6f8030edda389a27360240da4953" alt="Which CRMs can BenefitFlow integrate with?" width="1200" height="1060" data-path="images/image-9.png" />
    </Frame>
  </Accordion>

  <Accordion title="What data can BenefitFlow sync to your CRM?">
    BenefitFlow’s Salesforce integration allows users to push Employers, Employer Contacts, Brokers, Broker Office Locations, and Broker Contacts... **and automatically manage the associations between them.**

    <Frame>
      <img src="https://mintcdn.com/benefitflow/Tcouuth1jKoeq3a0/images/image-10.png?fit=max&auto=format&n=Tcouuth1jKoeq3a0&q=85&s=857c54bd0855d42557ce13a975c94a99" alt="What data can BenefitFlow sync to your CRM?" width="1600" height="1600" data-path="images/image-10.png" />
    </Frame>
  </Accordion>

  <Accordion title="How does BenefitFlow prevent duplicate records?">
    Before syncing over any data to your CRM, BenefitFlow will compare our records against the records in your CRM.

    <Frame>
      <img src="https://mintcdn.com/benefitflow/Tcouuth1jKoeq3a0/images/image-11.png?fit=max&auto=format&n=Tcouuth1jKoeq3a0&q=85&s=724908b3412b19956068b6adfab3c6c5" alt="how does BenefitFlow prevent duplicate records?" width="1032" height="440" data-path="images/image-11.png" />
    </Frame>

    **Net-New** = Record will be pushed as a Net New Record.

    **Updates** **Available** = Record already exists in your CRM.  Sync will overwrite the highlighted fields.

    **Synced** = Record already exists in your CRM and no updates are available.
  </Accordion>

  <Accordion title="Matching Fields">
    | **Object**              | **Unique Identifier**  | **Example**                                             |
    | :---------------------- | :--------------------- | :------------------------------------------------------ |
    | Employers               | Website                | walmart.com                                             |
    | Employer Contacts       | Email                  | [john.smith@walmart.com](mailto:john.smith@walmart.com) |
    | Brokers                 | Website                | mercer.com                                              |
    | Broker Office Locations | Website + City + State | mercer.com + New York + NY                              |
    | Broker Contacts         | Email Address          | [john.smith@mercer.com](mailto:john.smith@mercer.com)   |

    <Check>
      BenefitFlow maintains current and historical email addresses, meaning we can establish a match with your pre-existing contacts that may have stale email address.
    </Check>
  </Accordion>

  <Accordion title="How are BenefitFlow fields mapped to your CRM fields?">
    Admin users can configure the mapping table in BenefitFlow to your desired specifications.

    For the full, searchable list of every BenefitFlow field you can map, by object type, see the [Field Mapping Reference](/knowledge-base/crm-field-mapping-reference).

    ### Mapping Table for Accounts

    *(for syncing Broker and Employer records)*

    <Frame>
      <img src="https://mintcdn.com/benefitflow/Tcouuth1jKoeq3a0/images/image-12.png?fit=max&auto=format&n=Tcouuth1jKoeq3a0&q=85&s=9900f8cc228f209e53d2bab37c192805" alt="Mapping Table for Accounts" width="1032" height="564" data-path="images/image-12.png" />
    </Frame>

    <Tip>
      **Tip:** Admins can choose to toggle on/off "Allow Overwrite" on a field-by-field basis.  When overwrite is turned 'off', BenefitFlow will only write to the field if it's current value is 'null' in your CRM.  If turned 'on', BenefitFlow will overwrite any pre-existing values.
    </Tip>

    ### Mapping Table for Child Accounts

    *(for syncing Broker Office records)*

    <Frame>
      <img src="https://mintcdn.com/benefitflow/Tcouuth1jKoeq3a0/images/image-13.png?fit=max&auto=format&n=Tcouuth1jKoeq3a0&q=85&s=c06b831cbdf95b33ac85337e0c4cb811" alt="Mapping Table for Child Accounts" width="1032" height="317" data-path="images/image-13.png" />
    </Frame>

    ### Mapping Table for Contacts

    *(for syncing Employer and Broker Contact records)*

    <Frame>
      <img src="https://mintcdn.com/benefitflow/Tcouuth1jKoeq3a0/images/image-14.png?fit=max&auto=format&n=Tcouuth1jKoeq3a0&q=85&s=6fec09cb15d52f1431d7e16e1c1c7e97" alt="Mapping Table for Contacts" width="1032" height="567" data-path="images/image-14.png" />
    </Frame>
  </Accordion>
</AccordionGroup>

## Other FAQs

<AccordionGroup>
  <Accordion title="Who can setup the CRM integration?">
    BenefitFlow Admin permissions are required to authenticate with your CRM and configure field mappings.  **Your BenefitFlow Customer Success Manager can provide the relevant user(s) with those permissions.**

    That user also requires Salesforce, Dynamics, or HubSpot Admin permissions to provide Read/Write access to BenefitFlow.
  </Accordion>

  <Accordion title="Who is able to sync data from BenefitFlow?">
    Both standard users and admin users can sync data once the integration is set up. Admin users always have full sync access and can also manage field mappings and connection settings.

    By default, standard users can only create **net-new** records in the CRM. However, admins can configure what sync operations standard users are allowed to perform — per object type (Contacts and Accounts) — under **Integration Settings > Preferences > Sync Permissions for Standard Users**.

    The available options are:

    * **Create new and update existing**
    * **Create new only** (default)
    * **Update existing only**

    Leads inherit the permissions set for Contacts.

    <Frame>
      <img src="https://mintcdn.com/benefitflow/I6EFHz9k-x2x7HDR/images/sync-permissions-preferences.png?fit=max&auto=format&n=I6EFHz9k-x2x7HDR&q=85&s=9bf21e8636da89df58d82d0154892194" alt="Sync Permissions for Standard Users section in Integration Settings Preferences tab" width="1860" height="1496" data-path="images/sync-permissions-preferences.png" />
    </Frame>

    <Tip>
      The default setting ("Create new only") matches BenefitFlow's previous behavior. No action is needed unless you want to grant standard users additional sync capabilities.
    </Tip>
  </Accordion>

  <Accordion title="What level of CRM access does BenefitFlow have?">
    BenefitFlow authenticates using OAuth 2.0 and the integration requires that BenefitFlow has read / write access to the relevant tables and fields in your CRM.
  </Accordion>

  <Accordion title="How does BenefitFlow set Contact Owners and Account Owners when syncing?">
    When BenefitFlow creates a new contact in your CRM, it assigns the Contact Owner from the **owner of the associated Account** in your CRM. If that account has no owner yet, BenefitFlow leaves the field blank and your CRM's own default assignment rules apply.

    Syncing updates to an existing contact never changes its owner. Ownership is not based on who clicked "Get Contact" or who initiated the sync. To set owners explicitly, use **Assign Owner** on the list before syncing (admins can also reassign already-synced contacts).

    BenefitFlow does not set an Account Owner when syncing to the Account object.
  </Accordion>
</AccordionGroup>
