Crystal
All integrations

Integration

Crystal + Salesforce

Crystal Knows integrates directly with Salesforce to give your team personality insights right where they work. This guide walks you through installation and setup.

Overview

What this integration does

The Crystal Knows integration adds personality insights and communication tips directly to your Salesforce Contact records. Your sales, customer success, and recruiting teams can quickly understand how to communicate more effectively with each contact, without leaving Salesforce.

Before you begin

Prerequisites

Before you begin, make sure you have:

  • Salesforce permissions to install managed packages and create custom fields
  • A Crystal Knows account on a Business tier plan with CRM features enabled (request an upgrade if needed)

Setup steps

Install and connect

  1. 1

    Install the package

    The Crystal Knows Salesforce integration is distributed as a managed package. Contact your Crystal account manager or reach out to our support team to receive your installation link.

    1. 1. Request your package installation link from Crystal ([email protected])
    2. 2. Click the installation link you receive
    3. 3. Log in to your Salesforce org (if not already logged in)
    4. 4. Select Install for All Users (recommended) or choose specific profiles
    5. 5. Click Install
    6. 6. Wait for the installation to complete (you’ll receive an email confirmation)
  2. 2

    Enable Change Data Capture

    In Salesforce Setup → Change Data Capture, add Contact (required) and Lead (required if lead enrichment is enabled) under Selected Entities.

    Salesforce Setup → Change Data Capture with Contact and Lead selected
  3. 3

    Connect your Salesforce account

    After installation, you’ll need to authorize the connection between Crystal Knows and Salesforce.

    When you authorize:

    • Crystal reads basic contact information (like name, email, and company) to match contacts with personality profiles
    • Crystal writes personality data to custom contact fields in Salesforce

    This uses Salesforce’s secure OAuth connection, there are no API keys to manage or copy. Click Allow to complete the connection.

    View required Salesforce scopes

    Crystal requests the following OAuth scopes:

    • apiManage user data via APIs
    • refresh_tokenPerform requests at any time

Step 4

Configure matching and fields

Once connected, you’ll need to set up the fields you want Crystal to populate in Salesforce.

Crystal Fields

Crystal can populate custom fields on Salesforce Contacts with personality data. Choose which fields you want to use:

  • DISC profile: DISC type, archetype, overview, intensity, and percentage scores (D, I, S, C)
  • Behavioral traits: Dominance, social style, risk aversion, skepticism, pragmatism, pace, expressiveness, and leniency
  • Personality insights: Qualities
  • Profile link: A link to the full Crystal profile

Creating fields in Salesforce

You’ll need to create custom fields on the Contact object in Salesforce before Crystal can populate them. Fields marked as “Missing” in the configuration screen haven’t been created yet. To add a field:

  1. 1. Go to Setup → Object Manager → Contact → Fields & Relationships
  2. 2. Click New and create a custom field with the exact API name from the list below
  3. 3. Click Refetch schema in Crystal to detect the new field

Once a field exists in Salesforce, Crystal can read and write to it. Only create the fields you want to use.

Field names reference

Use these exact API names and types when creating custom fields in Salesforce. Click any field name to select it for copying.

Required Control Field

Field API NameType
Use_CrystalSet to Yes to trigger enrichment. Default to unchecked (No) so new contacts aren’t enriched automatically.
Checkbox

DISC Profile (percentages are 0-100)

Field API NameType
CrystalKnows_DISCType
Text
CrystalKnows_Archetype
Text
CrystalKnows_Overview
Long Text Area
CrystalKnows_Disc_Intensity
Text
CrystalKnows_Percentage_D
Number
CrystalKnows_Percentage_I
Number
CrystalKnows_Percentage_S
Number
CrystalKnows_Percentage_C
Number
CrystalKnows_ProfileURL
URL

Behavioral Traits (0-100 scale)

Field API NameType
CrystalKnows_Traits_Dominance
Number
CrystalKnows_Traits_Social
Number
CrystalKnows_Traits_Pace
Number
CrystalKnows_Traits_Expressiveness
Number
CrystalKnows_Traits_Risk_Aversion
Number
CrystalKnows_Traits_Skepticism
Number
CrystalKnows_Traits_Pragmatism
Number
CrystalKnows_Traits_Leniency
Number

Personality Insights

Field API NameType
CrystalKnows_Qualities
Long Text Area
CrystalKnows_Blindspots
Long Text Area
CrystalKnows_Building_Trust
Long Text Area
CrystalKnows_Discussing_Pricing
Long Text Area
CrystalKnows_First_Impression
Long Text Area
CrystalKnows_Following_Up
Long Text Area
CrystalKnows_Negotiating
Long Text Area
CrystalKnows_Product_Demo
Long Text Area
CrystalKnows_Energizers
Long Text Area
CrystalKnows_Drainers
Long Text Area
CrystalKnows_Driving_Action
Long Text Area
CrystalKnows_Strengths
Long Text Area

LinkedIn URL Field (recommended)

Mapping a LinkedIn URL field improves how accurately Crystal matches contacts to personality profiles.

  • Select the Salesforce Contact field that contains LinkedIn profile URLs
  • This is optional, contacts can still be matched by email if no LinkedIn URL is available
Salesforce configuration screen showing LinkedIn URL Field, Crystal Fields checklist, and the note about setting Use_Crystal to Yes

The configuration screen shows which fields exist (checked) and which are missing in your Salesforce org.

Triggering enrichment

Crystal enriches a contact when the Salesforce custom field Use_Crystal is set to Yes. When creating the field in Salesforce, set the default to unchecked (No) so every new contact isn’t enriched automatically.

This gives your team control over which contacts get enriched. You can set it manually on individual contacts, or use a Salesforce Flow to set it to Yes when it makes sense for your process.

Flow examples

  • Contact’s Lead Source or Status meets a condition (e.g., Sales Qualified) → set Use_Crystal to Yes
  • Contact is added to a campaign or list → set Use_Crystal to Yes
  • Contact is associated with an Opportunity in a certain stage → set Use_Crystal to Yes

Refetch schema

After creating new custom fields in Salesforce, click Refetch schema to sync and detect the newly available fields. Crystal will then show them as available instead of “Missing”.

Step 5

Verify it’s working

To confirm the integration is active:

  1. 1

    Open a Salesforce Contact record

  2. 2

    Look for Crystal Knows fields on the contact (e.g., DISC Type, Communication Tips)

  3. 3

    If personality data appears, you’re all set!

Note: Crystal can only provide personality data for contacts that exist in our dataset. Not every contact will have a match, this is normal. Match rates improve when LinkedIn URLs are available.

If nothing appears:

  • Confirm the contact’s Use_Crystal field is set to Yes
  • Check that a LinkedIn URL is mapped (if available for that contact)
  • Try another contact who is more likely to be in our dataset (e.g., someone with a public LinkedIn profile)
  • Allow a few minutes for enrichment to complete

Common issues

Troubleshooting

No Crystal fields visible on the contact

Make sure the Use_Crystal field is set to Yes for that contact. Fields only populate after enrichment runs. Also verify the fields have been added to your Contact page layout.

Use_Crystal field missing or not set

Create this custom Checkbox field on the Contact object. Set it to Yes for any contact you want Crystal to enrich.

LinkedIn URL field not mapped

Without a LinkedIn URL, Crystal matches by email only. For better match rates, map your LinkedIn URL field in the configuration settings.

Some fields show as "Missing" in the config

You need to create these custom fields on the Contact object in Salesforce first (Setup → Object Manager → Contact → Fields & Relationships). Use the exact API name shown, then click Refetch schema in Crystal.

Connected but "Last sync" not updating

Check that at least one contact has Use_Crystal set to Yes. If the issue persists, try disconnecting and reconnecting.

Package installation failed

Ensure you have the necessary permissions to install managed packages. Contact your Salesforce admin if you need elevated permissions.

Removing the integration

Uninstall / disconnect

To stop the integration:

  1. 1. Go to your Crystal Knows integration settings
  2. 2. Click Disconnect

To fully remove the package from Salesforce:

  1. 1. Go to Setup → Installed Packages
  2. 2. Find the Crystal Knows package and click Uninstall

Disconnecting stops future syncing and enrichment. Any custom fields and data already added to your Salesforce contacts will remain unless you remove them manually.

Need help?

If you have questions or run into issues, our support team is happy to help.