Skip to main content

Fin for Salesforce unlocked package

This article is for Salesforce System Administrators setting up Fin AI Agent with Salesforce Cases or Fin Messenger. It is available on plans that include the Salesforce integration — check your Intercom plan if you're unsure.

The Fin for Salesforce unlocked package gives Fin the Salesforce permissions and custom case fields it needs to create, read, and update Salesforce cases on behalf of your customers. An unlocked package is a container of Salesforce metadata — fields, permission sets, and related configuration — that is automatically added to your Salesforce org when you install it. The unlocked package installs the following components:

What custom fields does the Fin for Salesforce package add to Salesforce?

The unlocked package adds four custom fields to the Salesforce Case object. These fields allow Fin to track its involvement, resolution state, spam detection, and conversation ID on each case. If you're creating these fields manually instead of installing the package, the Application Programming Interface (API) names must match exactly.

Field Name

Metadata

FinInvolved__c

Stores whether Fin was involved in this case

  • Type: Checkbox

  • Label: FinInvolved

  • Default Value: false

FinResolutionState__c

Stores Fin's resolution state

  • Type: Picklist

  • Label: FinResolutionState

  • Values:

    • Soft Resolution
      (API Name: soft_resolution)

    • Hard Resolution
      (API Name: hard_resolution)

    • Routed to Team
      (API Name: routed_to_team)

    • Abandoned
      (API Name: abandoned_negative_feedback)

FinMarkedAsSpam__c
Stores whether the conversation has been marked as spam by Fin

  • Type: Checkbox

  • Label: FinMarkedAsSpam

  • Default Value: false

FinConversationId__c
Stores the conversation identifier for linking to the Fin platform

  • Label: FinConversationId

  • Length: 255 characters

Note: FinConversationId__c is a Text field (type: Text, max length: 255 characters). Ensure this is set correctly when creating the field manually.


What permissions does the Fin for Salesforce package require?

The Fin for Salesforce unlocked package creates a PermissionSet named Fin for Salesforce permissions (API name: Fin_for_Salesforce_permissions). This PermissionSet must be assigned to the Salesforce user that connects Fin to your Salesforce org. It grants the minimum permissions Fin needs to manage cases, and includes:

Object Permissions

  • Case: Create, Read, Edit (no Delete, no Modify/View All Records)

  • Contact: Read, Edit (no Create/Delete, no Modify/View All Records)

  • Account: Read, Edit (no Create/Delete, no Modify/View All Records)

Field Permissions (Read and Edit access)

  • Case Fields: ContactId, Description, FinInvolved__c, FinMarkedAsSpam__c, FinConversationId__c, FinResolutionState__c, Origin, SourceId, Subject, SuppliedEmail, SuppliedName

  • Contact Fields: Email

  • Task Fields: ActivityDate, Description, Type, WhatId, WhoId

System Permissions

  • API Enabled

  • Can Insert Feed System Fields

  • Edit Task

  • View All Users

  • View Roles

  • View Setup

Changelog

v1.0 - Version 1

  • Creates 4 custom case fields FinInvolved__c, FinResolutionState__c, FinMarkedAsSpam__c & FinConversationId__c

  • Creates 1 permission set named Fin for Salesforce permissions


FAQs

How do I install the Fin for Salesforce package?

The package is linked in the deploy step in the Fin Messenger and Salesforce Cases channel. You can also install it from the links below

OR

What do I do if I do not want to install the package?

If you prefer not to install the unlocked package, you can manually create the same Salesforce components. Follow these steps to set up Fin for Salesforce without installing the package:

  1. Create the four custom Case fields defined in the "What custom fields does the Fin for Salesforce package add to Salesforce?" section of this article: FinInvolved__c, FinResolutionState__c, FinMarkedAsSpam__c, and FinConversationId__c. The API names must match exactly as documented.

  2. Create a PermissionSet with the object permissions, field permissions, and system permissions listed in the "What permissions does the Fin for Salesforce package require?" section of this article. The API name of the PermissionSet must be exactly Fin_for_Salesforce_permissions. This will unlock the Install and assign permissions in Salesforce step in your deploy flow.

  3. Assign the PermissionSet to the Salesforce user that connected Fin to Salesforce.

  4. Future updates to the package will be documented in the changelog.

How do I migrate from the unmanaged package?

Preferred approach:

  1. Pause Fin.

  2. Unassign the Salesforce user from the Intercom Fin AI permission PermissionSet, this will allow you to uninstall the unmanaged package.

  3. Uninstall the unmanaged package. During uninstallation, Salesforce will prompt you to save your data — select this option, as you'll permanently lose the values stored in FinInvolved__c and FinResolutionState__c if you skip it. The screenshot below shows the Salesforce uninstallation screen where you select the data retention option.

    The Salesforce uninstall screen, showing the option to retain and save field data before uninstalling the unmanaged package. Select this option to avoid losing FinInvolved__c and FinResolutionState__c values.

  4. Once uninstallation is complete, Salesforce will email you when your data export is ready. Download the saved field data as a .csv file by clicking Data in the Salesforce data export screen, as shown below.

    The Salesforce data export screen after uninstallation, showing the Data button used to download the saved FinInvolved__c and FinResolutionState__c values as a .csv file.

  5. Go to Settings > Salesforce Integration > Install and assign permissions in Salesforce

  6. Hit Install Fin for Salesforce

Once installed you can leverage the DataLoader to import the csv file from step 4 and update your Cases with FinInvolved__c & FinResolutionState__c.

Optional approach:

Manually add or update components from the unlocked package documented in this article. Updates to the unlocked package will be documented here in the changelog.

Note: The unmanaged package does not support upgrades. This means new fields and components added in future releases — such as FinMarkedAsSpam__c and FinConversationId__c — will not be automatically available to orgs still on the unmanaged package. While Fin will continue working for existing functionality, you'll miss new features that require additional fields or permissions. Migrating to the unlocked package is the recommended path to stay current. Future additions will be documented in the changelog above.


💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?