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

# Salesforce as a data source

> Bring data from Salesforce to Nekt.

Salesforce is a comprehensive customer relationship management (CRM) platform that helps businesses manage sales, service, and marketing operations. It provides a wide range of tools for lead management, opportunity tracking, customer support, and analytics, enabling organizations to build and maintain strong customer relationships.

<img height="30" src="https://mintcdn.com/nekt/T1f3qXd1gMyx-dJT/assets/logo/logo-salesforce.png?fit=max&auto=format&n=T1f3qXd1gMyx-dJT&q=85&s=ccd70b5eeb3309139a5a0945db14318f" data-path="assets/logo/logo-salesforce.png" />

## Configuring Salesforce as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Salesforce option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

First, you'll need to choose an **Authentication mode**. There are two options:

* **Salesforce Login (OAuth) \[recommended]**: This method uses Salesforce's OAuth 2.0 flow. When prompted, you'll log in to your Salesforce account and grant the necessary permissions. The connector will securely store the refresh token to maintain the connection. This is the most secure and reliable method.
* **Password Flow**: This method uses your username, password, and a security token. To get your security token, follow these steps:
  1. Log in to your Salesforce account.
  2. Go to your personal **Settings**.
  3. In the "Quick Find" box, type `Reset My Security Token` and select it.
  4. Click **Reset Security Token**. The new token will be sent to the email address associated with your account.

<Warning>
  Salesforce has disabled the username-password flow by default for new organizations. If you choose this option, you must ensure that it is enabled for your organization. For more information, see the [Salesforce documentation](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_username-password_flow_blocked_by_default.htm\&release=244\&type=5).
</Warning>

After selecting the authentication mode, the following configurations are available:

* **Salesforce URL**: The URL of your Salesforce instance (e.g., `https://yourcompany.my.salesforce.com`).
* **Objects to sync**: The list of Salesforce objects you want to sync. Their API names are listed in the dropdown menu as they appear in the Setup > Object Manager. The default objects are `Account`, `Contact`, `Lead`, and `Opportunity`.
* **Start Date**: The earliest date from which records will be synced. This should be in DD-MM-YYYY format. Records created or updated after this date will be extracted.

Once you're done, click **Next**.

### 2. Select streams

Choose which data streams you want to sync - you can select all streams that you configured in the previous step or pick specific ones that matter most to you.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.

* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** and make this process faster!

* **Sync Type**: you can choose between INCREMENTAL and FULL\_TABLE.
  * Incremental: every time the extraction happens, we'll get only the new data - which is good if, for example, you want to keep every record ever fetched.
  * Full table: every time the extraction happens, we'll get the current state of the data - which is good if, for example, you don't want to have deleted data in your catalog.

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/runs/scheduling-and-triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can determine when to execute a [full sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync). This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

# Streams and Fields

The Salesforce tap dynamically discovers both objects (streams) and their fields. You can sync any standard or custom Salesforce object by selecting its API name from the dropdown menu during configuration. Below are some of the most common standard objects and their key fields.

## Skills for agents

<Snippet file="agent-skills-intro.mdx" />

<Card title="Download Salesforce skills file" icon="wand-magic-sparkles" href="/sources/salesforce.md">
  Salesforce connector documentation as plain markdown, for use in AI agent contexts.
</Card>
