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

# Salesforce

## How it works

The Salesforce connector indexes documents from your Salesforce instance, organized around the Object types you specify. See the example below for more details.

## Setting Up

### Authorization

1. **Log Into Salesforce**
   Sign in to your Salesforce account. The user must be an organization member or have admin access to the data you'd like to index.
2. **Open Settings**
   Click your profile avatar and select **Settings**.
3. **Reset Your Security Token**
   Navigate to **My Personal Information → Reset My Security Token**.
4. **Check Your Email**
   Your new security token will be sent to your registered email address.
5. **Use Your Credentials in ASSIST AI**
   Once the token has been regenerated, you can use it along with your username and password to authorize your ASSIST AI connector.

## Indexing

1. **Open the Salesforce Connector**
   Navigate to the **Admin Panel** in ASSIST AI and select the **Salesforce Connector**.
2. **Create a New Credential**
   Click **Create New** and provide your `Username`, `Password`, and `Security Token` from the steps above. Select the newly created credential and click **Continue**.
3. **Define the Salesforce Objects to Index**

   <Accordion title="Simple">
     Enter the [**Salesforce Object(s)**](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_list.htm) you wish to index and organize your ASSIST AI documents by.

     * Make sure to use the singular version of object name (e.g. Opportunity instead of Opportunities)
     * If no objects are indicated, it will default to indexing by **Account**
     * Each ASSIST AI Document extracted from Salesforce contains all fields and associations of each object. For example, when indexing each Account we include the fields of the AccountFeed and AccountShare objects as well (but not the associations of those objects). This can lead to bloated queries and memory intensive indexing in larger salesforce instances.
         <Tip>
           Use the Advanced mode to have finer grain control over what is indexed.
         </Tip>
   </Accordion>

   <Accordion title="Advanced">
     Specify which objects, fields, and associations get indexed with a json [object.](http://object.Top)
     [Top](http://object.Top) level keys are Salesforce Objects, each value is a JSON object specifying:

     * `fields`: a list of strings describing the fields of the object to index
     * `associations`: a JSON object mapping a Salesforce Object associated with the parent object to a list of fields to be indexed for the child object
       ```text theme={null}
       {
         "Account": {
           "fields": ["Id", "Name", "Industry", "CreatedDate", "lastModifiedDate"],
           "associations": {
               "Contact": ["Id", "FirstName", "LastName", "Email"],
               "Opportunity": ["Id", "Name", "StageName", "Amount", "CloseDate"]
           }
         },
         "Lead": {
           "fields": ["Id", "FirstName", "LastName", "Company", "Status"],
           "associations": {}
         }
       }
       ```
   </Accordion>
4. **Connect and Start Indexing**
   Click **Connect** to create the connector. ASSIST AI will automatically begin indexing your Salesforce data.

## Example

If you choose to organize information by **Account** and click Connect, ASSIST AI will generate a document for every Account in your Salesforce instance. Each document will include all information associated with that Account, as well as data from its child objects (such as associated Contacts, Notes, and more). This means that all Contacts linked to an Account will also be captured automatically.

If you also want to index Contacts that are not attached to any Account, you can specify both **Account** and **Contact** as separate objects to index alongside each other.

\\
