Skip to main content

Fluint <> Salesforce: Technical Documentation

Automatically sync CRM opportunities for reps on Team License plans, keeping pipeline details up-to-date in Fluint and Fluint content accessible in Salesforce.

Written by Audrey
Updated over a month ago

Salesforce Integration Overview ✨

Fluint's Salesforce integration creates a connection between your CRM and Fluint workspace. This integration automatically syncs your opportunities (deals), contacts, accounts, and email activity, ensuring deal context in Fluint always reflects your latest Salesforce data. Documents generated in Fluint will also sync back to your Salesforce records as files, keeping entire teams aligned.

Coming soon: You'll also be able to sync Fluint data (think: MEDDPICC info, next steps) back to custom fields in your SFDC instance.

Why Connect Salesforce?

Our Salesforce integration provides several key benefits:

  • Automatic deal sync - Opportunities import into Fluint for all licensed reps without manual creation

  • Real-time updates - Changes (such as opportunity stage) in Salesforce reflect automatically in Fluint and can be tied to content actions, like Playbooks.

  • Email activity tracking - Salesforce email messages sync to relevant deals as additional context that better enable Olli's output abilities.

  • Content sync-back - Documents generated in Fluint (business cases, deal reviews, account plans, etc.) attach to Salesforce opportunity records

How the Integration Works

Fluint's Salesforce integration is designed to be lightweight and straightforward:

OAuth Connection

  • Single OAuth connection

    • Recommended: Set up a dedicated API integration user (not tied to a single person)

  • No managed package installation required

API-Based Sync

  • Fluint pulls data from Salesforce APIs on a time interval

  • Read-level integration for most objects

  • Minimal impact on your Salesforce API limits (throttled for large instances)

What Gets Synced with Fluin:

  • Opportunity stages (to match Fluint's pipeline stages)

  • Opportunity records (deals with names, stages, owners, and key details)

  • Contacts associated with opportunities

  • Email messages related to opportunities

  • Account records

Content Sync-Back:

  • Documents created in Fluint are stored as Content Document objects in Salesforce

  • Each document update creates a new Content Version

  • Files appear on the opportunity record under the Files related list


Salesforce Prerequisites & Configuration

Before connecting Fluint to Salesforce, your Salesforce admin needs to configure several settings to ensure a smooth integration:

1. Verify Your Salesforce Edition Supports API Access

Salesforce editions offer different levels of API access, which can affect how the Fluint integration works. Before setting up your integration, confirm whether your Salesforce edition includes API access.

  • Some editions include full API access by default, while others may offer limited access or require additional purchases

  • To check if your Salesforce edition supports the necessary API access, please refer to Salesforce's official documentation on API access by edition

  • If your Salesforce edition does not include the required API access, contact your Salesforce account representative to upgrade your edition

2. Create and Configure Integration User

The user that connects the Salesforce integration should either be a System Administrator or a user that has been assigned a user profile with sufficient permissions.

We do not use managed packages; the integration is API-based and requires a SFDC standard user license.

A. Create a Custom User Profile: To create a new user profile for the integration:

    1. Log in to Salesforce

    2. Go to Setup

    3. In the Quick Find box, search for Profiles

    4. Click on the New button

    5. Choose an existing profile to clone - you'll need to use a Standard User

    6. Important: Please ensure that you clone a user profile with the Salesforce User License.

B. Configure User Profile Permissions: After creating the profile, you'll need to set specific permissions:

    1. Go to Setup > Profiles

    2. Select the user profile you created

    3. Click Edit at the top of the page

    4. Ensure the checkboxes for the necessary permissions below are checked:

Required Administrative Permissions:

    • API Enabled

    • One of the following:

      • Approve Uninstalled Connected Apps - Choose this if API Access Control isn't enabled

      • Use Any API Client - Choose this if API Access Control is enabled (can be enabled by contacting Salesforce Customer Support)

Additional Required Permissions:

  • View Setup and Configuration

  • View Roles and Role Hierarchy

  • Manage Custom Permissions

  • Customize Application

  • Modify Metadata Through Metadata API Functions

  • Allows Users to Modify Named Credentials and External Credentials

  • Click Save at the top or bottom of the page


Required Salesforce Object Permissions

Your Salesforce admin will need to grant Read access to the following objects and fields for the integration user:

1. User Object

Object Permission: Read

Required Fields:

  • Id (User ID)

  • FirstName

  • LastName

  • Username

  • IsActive

Purpose: Identifies Salesforce users and matches them to Fluint accounts via email address.

2. OpportunityStage Object

Object Permission: Read

Required Fields:

  • Id (Opportunity Stage ID)

  • ApiName

  • DefaultProbability

  • Description

  • ForecastCategory

  • ForecastCategoryName

  • IsActive

  • IsClosed

  • IsWon

  • MasterLabel

  • SortOrder

Purpose: Syncs your Salesforce opportunity stages to Fluint's deal pipeline stages.

3. Opportunity Object

Object Permission: Read

Required Fields:

  • Id (Opportunity ID)

  • Name (Opportunity Name)

  • StageName

  • OwnerId

  • IsClosed

  • IsDeleted

  • CreatedDate

  • Type

Purpose: Syncs your Salesforce opportunities as deals in Fluint.

4. Contact Object

Object Permission: Read

Required Fields:

  • Id (Contact ID)

  • FirstName

  • LastName

Purpose: Syncs contact information associated with your opportunities.

5. EmailMessage Object

Object Permission: Read

Required Fields:

  • Id (Email Message ID)

  • ActivityId

  • BccAddress

  • CcAddress

  • EmailTemplateId

  • FirstOpenedDate

  • FromAddress

  • FromName

  • Headers

  • HtmlBody

  • Incoming

  • IsBounced [May require special permission]

  • IsClientManaged [May require special permission]

  • IsDeleted

  • IsExternallyVisible

  • IsOpened

  • IsTracked

  • LastOpenedDate

  • MessageDate

  • MessageIdentifier

  • Name (Subject)

  • ParentId [May require special permission]

  • RelatedToId

  • ReplyToEmailMessageId

  • Status

  • Subject

  • TextBody

  • ThreadIdentifier

  • ToAddress

  • ValidatedFromAddress

Purpose: Syncs email activity related to opportunities, providing rich context for your deals.

Note: Some EmailMessage fields may require special Salesforce permissions or Enhanced Email features to be enabled.

Recommended Salesforce Object Permissions

Your Salesforce admin will need to grant Read access to the following objects if you use them in your organization. These are optional, but highly recommended:

1. Task Object

Object Permission: Read

Required Fields:

  • Id (Task ID)

  • Subject

  • Description

  • TaskSubtype

  • WhatId

  • WhoId

  • ActivityDate

  • OwnerId

  • Status

  • Priority

  • IsClosed

  • IsDeleted

  • CreatedDate

  • LastModifiedDate

  • CallDurationInSeconds

  • CallDisposition

  • CallType

  • CallObject

Purpose: Syncs Salesforce tasks to associate activities with deals in Fluint.

2. Event Object

Object Permission: Read

Required Fields:

  • Id (Event ID)

  • Subject

  • Description

  • WhatId

  • WhoId

  • StartDateTime

  • EndDateTime

  • OwnerId

  • Location

  • IsAllDayEvent

  • IsDeleted

Purpose: Syncs Salesforce calendar events to associate meetings and activities with deals in Fluint.

3. OpportunityContactRole Object

Object Permission: Read

Required Fields:

  • Id (OpportunityContactRole ID)

  • ContactId

  • OpportunityId

  • Role

  • IsPrimary

  • IsDeleted

Purpose: Maps stakeholder relationships between Contacts and Opportunities, enabling Fluint to identify key decision-makers and influencers on deals.

4. Account Object

Object Permission: Read

Required Fields:

  • Id

  • Name

  • OwnerId

  • Website

  • Industry

  • BillingCity

  • BillingState

  • BillingCountry

  • IsDeleted

Purpose: Syncs Salesforce account data to enrich deal context with company details like industry, location, and website.


Setting Object and Field Permissions

For Custom User Profile - Object Access

  1. Click the gear icon in the top-right corner and select Setup

  2. In the left-hand search bar, type Object Manager and open it

  3. Choose the object you need (for example, Account, Opportunity, Contact, etc.)

  4. Go to Object Access in the left navbar

  5. Select the Profiles tab at the top

  6. Click Edit and grant the necessary permissions for the custom user profile that you created:

    • If the integration needs to read data, ensure that Read, View All Records, and View All Fields are checked

    • If the integration needs to write data (for content sync-back), ensure that all boxes are checked

For Standard User Profile - Field-Level Security

  1. Click the gear icon in the top-right corner and select Setup

  2. In the left-hand search bar, type Object Manager and open it

  3. Select the object you want to configure

  4. Select Fields & Relationships from the left navbar

  5. Find the field you want to adjust and click it

  6. Click Set Field-Level Security

  7. Ensure the checkbox for Visible is selected for the user profile you're using for the integration

  8. If the user profile is not visible in this list, it means that it does not have access to the object. You should choose a different user profile or create a custom user profile as described above

  9. Repeat for all fields that the integration needs to read, especially custom fields


Configuring Opportunity Page Layout

To ensure that documents synced from Fluint are visible to your team, you need to add the Files related list to your Opportunity page layout.

To add Files related list:

  1. Go to Setup

  2. Search for Object Manager in the Quick Find box

  3. Click on Opportunity

  4. Select Page Layouts from the left sidebar

  5. Click on the page layout your team uses (typically Opportunity Layout)

  6. Scroll down to the Related Lists section

  7. If Files is not already present, drag it from the palette on the left into the Related Lists section

  8. Click Save

This allows users to see content documents synced from Fluint directly on the Opportunity record.


Connecting Fluint to Salesforce

Prerequisites:

  • Salesforce admin access

  • Team plan in Fluint

  • User list already added in Fluint

  • Integrations admin access in Fluint

⚠️ Make sure your list of users have been added to Fluint first before connecting SFDC! That will ensure best results for the initial backfill.

Implementation Steps:

1. Create Integration User (Recommended)

  • Set up a dedicated API integration user in Salesforce

  • This ensures the connection isn't tied to a single person's account

  • Grant the user appropriate permissions (see Required Permissions above)

2. Connect in Fluint

  • Go to Settings > Integrations

  • Select Salesforce and enter your SFDC subdomain

  • Click "Connect to Salesforce"

  • Authenticate using your integration user credentials

  • Review and approve the permission requests

Screenshot 2025-10-30 at 2.02.10 PM


3. Install All Integration Objects within Fluint

*In order, top to bottom is recommended:


4. Configure Backfill Parameters (optional)

*Discuss with your CSM during Onboarding if additional filtering like the below is needed:

  • Date range - From beginning of time, last year, last two years, etc.

  • Stage or record type filters - Such as excluding Closed Lost deals, or Renewal records

  • Owner matching - Only opportunities owned by licensed Fluint users will sync

  • Consider deal volume to avoid cluttering user dashboards

5. Verify Integration

  • Once installed, Fluint will perform an initial data import to populate existing deals

  • Check your Fluint deal pipeline

  • Look for the Salesforce logo on deal cards

  • Verify that active opportunities are appearing correctly


Understanding User and Deal Matching

Email-Based Matching: Fluint matches users by comparing email addresses in Fluint to user email addresses in Salesforce. This is how the system connects the two platforms.

Opportunity Owner Sync:

  • Fluint imports opportunities based on the Opportunity Owner field

  • Only opportunities owned by licensed Fluint users will sync

  • Opportunities owned by users not in Fluint are excluded from import

  • When new users are added to Fluint, a backfill runs to load their opportunities

Data Retention:

  • Once an opportunity is imported to Fluint, data is retained even if the user exits your company

  • Data can be purged upon request for GDPR compliance


Implementation Checklist ✨

  • Verify Salesforce edition supports API access

  • Configure refresh token policy to "Refresh token is valid until revoked"

  • Set IP Relaxation to "Relax IP restrictions"

  • Verify API access control settings (Permitted Users)

  • Create dedicated API integration user in Salesforce

  • Ensure your user profile has a Salesforce User License

  • Grant all required administrative permissions to profile

  • Grant all required object and field permissions

  • Configure field-level security for all required fields

  • Add Files related list to Opportunity page layout

  • Ensure user list has been provided to Fluint for license assignment

  • Determine backfill parameters (date range, stage filters)

  • Connect Salesforce via OAuth in Fluint Settings

  • Install objects within Fluint, in order: User → Opportunity Stage → Opportunity → Contact → Email Message

  • Verify deals are syncing correctly

  • Test document creation and sync-back to Salesforce


Security & Data Privacy 🔒

  • No data is deleted in Salesforce by the integration

  • Content sync-back only occurs when you explicitly generate documents

  • All data transmission is encrypted

  • GDPR compliance: User data can be purged upon request


Troubleshooting Common Issues

Integration Not Syncing

Problem: Opportunities aren't appearing in Fluint

  • Verify the integration user has Read access to all required objects and fields

  • Check that opportunities are owned by licensed Fluint users

  • Confirm email addresses match between Salesforce and Fluint

  • Review backfill parameters and date range filters

Permission Errors

Problem: Error messages about insufficient permissions

  • Verify the integration user profile has "API Enabled" checked

  • Confirm either "Approve Uninstalled Connected Apps" or "Use Any API Client" is enabled

  • Check that field-level security is set to Visible for all required fields

  • Ensure object-level permissions include Read and View All Records

Token Expiration

Problem: Integration stops working after a period of time

  • Verify refresh token policy is set to "Refresh token is valid until revoked"

  • Confirm IP Relaxation is set to "Relax IP restrictions"

  • Reconnect the integration in Fluint Settings if needed

Documents Not Appearing in Salesforce

Problem: Fluint-generated documents aren't showing on Opportunity records

  • Verify the Files related list is added to the Opportunity page layout

  • Check that the integration user has Create access to ContentDocument objects

  • Confirm the opportunity exists in both Salesforce and Fluint


SFDC FAQs

Q: Do I need to install a managed package? A: No, Fluint uses OAuth and standard Salesforce APIs. No package installation is required.

Q: Will this affect my Salesforce API limits? A: Fluint's integration is designed to be lightweight and throttled for large instances, so the impact on API limits is minimal.

Q: Can I sync opportunities from multiple Salesforce orgs? A: Currently, Fluint supports one Salesforce org per Fluint workspace.

Q: What happens if a user leaves the company? A: Their opportunity data remains in Fluint unless you request it to be purged for GDPR compliance.

Q: Can I filter which opportunities sync to Fluint? A: Yes, you can work with your Fluint team to configure filters based on date range, stage, record type, or other criteria.

Q: How often does data sync? A: Fluint pulls data from Salesforce APIs on a regular time interval to keep information up-to-date. Data is typically up to date within 5-10 minutes.

Q: Can I customize which fields sync? A: The standard integration syncs the fields listed in this guide. For custom field syncing, please contact your Fluint CSM.


Getting Help

If you encounter issues with your Salesforce integration:

  • Live chat - Click the chat icon in Fluint

  • Email support - support@fluint.io

  • Include details - Specific error messages help troubleshooting

  • Custom requirements - Contact your CSM for custom filtering

Did this answer your question?