Skip to main content

Setting up the required permissions for connecting Salesforce

This article guides you through setting up the necessary Salesforce permissions for integrating with your Fin workspace.

Updated over 2 weeks ago

To power seamless automation and intelligent support experiences, Fin integrates deeply with your Salesforce instance. This integration requires specific object and field-level permissions, which allow Fin to create, update, and sync Salesforce cases and related data.

This article will walk you through:

  • Why these permissions are important

  • Who needs them

  • How to implement them

  • A complete reference table of the required permissions


Why These Permissions Matter

Fin relies on Salesforce data to create cases, post summaries, read contact information, and route conversations to agents. Without the proper permissions, Fin may be unable to interact with your Salesforce environment effectively—resulting in failed syncs, blocked automations, or limited functionality.


Who Needs These Permissions?

There are two key Salesforce users involved in the integration:

  • The connected Salesforce user – the one linked during integration setup

  • The user assigned as Fin – the user Fin impersonates when responding, posting, or taking workflow actions

Both require access to different objects and operations for things to run smoothly.


How to Implement the Permissions

The recommended approach is to assign a custom Permission Set in Salesforce:

  1. Go to Setup → Permission Sets

  2. Create a new permission set (e.g., Fin x Salesforce Integration)

  3. Assign the permissions shown in the table below

  4. Assign the permission set to your connected Salesforce user

Make sure the following Salesforce features are also enabled:

  • Chatter

  • Topics (under Setup → Chatter Settings → Allow Topics)

  • Feed Tracking (via Setup → Object Manager → [Object] → Feed Tracking)

  • Digital Experiences, for some visibility-based fields


Required Salesforce Permissions Table

Salesforce Object

Fields

Operations

Who Needs It

Why It's Needed

EmailMessage

Id, FromName, FromAddress, ToAddress, Subject, ThreadIdentifier, HtmlBody, TextBody, CreatedById, CreatedDate, Incoming, ParentId, LastModifiedDate, LastModifiedById

Create, Read

Connected User, Fin

Used to create messages and replies for email-to-case workflows

CaseFeed

Id, Title, Body, Type, CreatedBy.*, CreatedDate, Visibility, ParentId, LastModifiedDate

Read

Connected User

Required for tracking case activity

FeedItem

Id, Body, ParentId, IsRichText, Type, Visibility, CreatedDate, CreatedById, LastEditById

Create

Connected User, Fin

Adds conversation transcripts and AI summaries to cases

Case

Id, Subject, Description, ContactId, OwnerId, SuppliedEmail, SuppliedName, Origin, SourceId, FinInvolved__c, FinResolutionState__c

Create, Read, Update

All roles

Core case creation, handoff, and field sync

Topic

Id, Name

Create, Read

Connected User

Adds or queries case topics for tracking Fin’s involvement

TopicAssignment

TopicId, EntityId

Create

Connected User

Assigns topics to cases

Contact

Id, Email, CreatedDate, FirstName, LastName

Create, Read

Connected User

Needed when creating or associating contacts to cases

User

Id, ContactId, FirstName, LastName, Email, UserType, IsActive

Read

Connected User

Enables assigning cases to specific users

Group

Id, Name, Type

Read

Connected User

Grants visibility into Salesforce queues

QueueSobject

QueueId, SobjectType

Read

Connected User

Allows selection of queues for routing cases

Tip: Fields marked with __c (e.g., FinInvolved__c) are custom fields used to track AI involvement and resolution state. Make sure they’re configured in Settings → Salesforce Integration.


Implementation Checklist

Before you go live, make sure to:

  • Assign the custom Fin Integration Permission Set

  • Enable Chatter, Topics, and Feed Tracking in Salesforce

  • Confirm visibility for custom fields like FinInvolved__c and FinResolutionState__c

  • Test the integration using a sandbox or non-production environment


Helpful Salesforce Docs

Did this answer your question?