Skip to main content

Freshsales

Freshsales is a comprehensive CRM platform designed to help businesses automate sales processes, manage leads, and improve customer relationships through intelligent lead scoring, sales pipeline management, email tracking, and seamless integration with marketing and support tools.

Freshsales icon

Power end-to-end data operations for your Freshsales API with Nexla. Our bi-directional Freshsales connector is purpose-built for Freshsales, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Freshsales or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Freshsales workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Freshsales credential, you need to have a Freshsales account and obtain an API key from your Freshsales account settings. The API key is required to authenticate API requests to the Freshsales API.

To obtain your API key, follow these steps:

  1. Sign in to your Freshsales account using your credentials.

  2. Click your profile picture in the top-right corner of the screen and select Settings from the dropdown menu.

  3. In the Settings page, click the API settings tab to access the API configuration section.

  4. Your API key will be displayed in the field labeled Your API key. Click Copy to copy the API key to your clipboard, or you can manually copy it.

  5. Store the API key securely, as you will need it to configure your Nexla credential. The API key provides access to your Freshsales account data, so treat it as sensitive information.

  6. Note your Freshsales domain name, which is typically in the format domain.freshsales.io. You can find your domain name in your Freshsales account URL (e.g., if your account URL is https://acme.freshsales.io, your domain is acme.freshsales.io). The domain name is used to construct API endpoint URLs for your specific Freshsales instance.

The API key is used to authenticate all API requests to Freshsales. The API key is sent in the Authorization header with the Token key and the API key as the value (e.g., Token: {api_key}). The Freshsales API provides access to various CRM resources including leads, contacts, deals, accounts, and users. For detailed information about obtaining API keys, API authentication, and available endpoints, refer to the Freshsales API documentation and Freshsales API key support article.

Authenticate

Credentials required

FieldRequiredSecretDescription
API Key ValueYesYes
DomainYesNoYour freshsales domain name, for example: "domain.freshsales.io"

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Freshsales

FreshsalesCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Freshsales uses API key authentication for all API requests. Enter your Freshsales API key in the API Key Value field. This is the API key you obtained from your Freshsales account settings in Prerequisites. The API key is sent in the Authorization header with the Token key and the API key as the value (e.g., Token: {api_key}).

  3. Enter your Freshsales domain name in the Domain field. This should be your Freshsales domain name in the format domain.freshsales.io. For example, if your Freshsales URL is https://acme.freshsales.io, you would enter acme.freshsales.io in this field. The domain is used to construct the API endpoint URLs for your Freshsales instance.

    The domain name should not include the protocol (https://) or any path components. Only enter the domain portion, such as acme.freshsales.io. The domain is used to construct API endpoint URLs in the format https://{domain}/api/{endpoint}. You can find your domain name in your Freshsales account URL or account settings. For detailed information about API endpoints and domain configuration, see the Freshsales API documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Freshsales connector tile, then select the credential that will be used to connect to the Freshsales account, and click Next; or, create a new Freshsales credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Freshsales endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

List all resources

List all resources of a given type

  • Enter the resource type you want to fetch in the Resource type field. This should be the type of resource you want to retrieve, such as leads, contacts, deals, accounts, or users. The resource type determines which Freshsales API endpoint will be used to fetch data.
  • Enter the view ID in the View id field. This is the numeric identifier for a specific view or filter in Freshsales that defines which records should be retrieved. The view ID determines which subset of records from the specified resource type will be returned by the API.
  • The endpoint uses GET requests to https://{domain}/api/{resource_type}/view/{view_id} where {domain} is your Freshsales domain and {resource_type} and {view_id} are the values you configured. The endpoint URL is automatically constructed based on your credential configuration and the resource type and view ID you specify.
  • The endpoint uses pagination (iteration.type: paging.incrementing) to retrieve all records. Pagination starts from page 1 and uses the page query parameter to navigate through pages. The per_page parameter controls how many records are returned per page, with a default of 100 records per page. The endpoint will automatically fetch all pages until all records are retrieved.
  • The response data path is $.{resource_type}[*], which extracts all records from the resource type array in the API response. Additional metadata is extracted from $.meta[*] for pagination and other information.
  • The date format is yyyy-MM-dd with a time unit of dd (days), which is used for incremental data extraction based on record dates.

This endpoint retrieves all records of a specified resource type from a specific view in Freshsales. The endpoint requires API key authentication via the Token header, which is handled automatically by your credential configuration. The resource type determines which Freshsales API endpoint will be used, and the view ID determines which subset of records will be returned. Pagination is handled automatically, and the endpoint will fetch all pages until all records are retrieved. The endpoint supports various resource types including leads, contacts, deals, accounts, and users. For detailed information about available resource types, view IDs, and API response formats, see the Freshsales API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Freshsales data sources can also be manually configured to ingest data from any valid Freshsales API endpoint, including endpoints not covered by the pre-built templates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Freshsales API endpoints typically follow the pattern https://{domain}/api/{resource_type}/{endpoint_path} and return data in JSON format. The endpoint requires API key authentication via the Token header, sent in the format token={api_key}, which is handled automatically by your credential configuration. The domain is automatically retrieved from your credential configuration.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Freshsales data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Freshsales destination, and select the Send to Destination option from the menu. Select the Freshsales connector from the list of available destination connectors, then select the credential that will be used to connect to the Freshsales account, and click Next; or, create a new Freshsales credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Freshsales endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create resource

Create new resource of a given type

  • Enter the resource type you want to create in the Resource type field. This should be the type of resource you want to create, such as leads, contacts, deals, accounts, or users. The resource type determines which Freshsales API endpoint will be used to create the resource.
  • The endpoint uses POST requests to https://{domain}/api/{resource_type} where {domain} is your Freshsales domain and {resource_type} is the value you configured. The endpoint URL is automatically constructed based on your credential configuration and the resource type you specify.
  • The endpoint sends data from your Nexset as the request body in JSON format. The request body is automatically formatted according to the schema fields and data mapping you configure. Each record in your Nexset will be sent as a JSON object containing the resource data to create.
  • Batch mode is disabled by default for this endpoint (batch.mode: false), which means each record from your Nexset will be sent as a separate API request. This ensures that each resource is created individually.
  • This endpoint does not automatically create a data source to track the responses received from the Freshsales API after each call.

The request body must be properly formatted JSON that matches the Freshsales API specification for creating resources. The endpoint requires API key authentication via the Token header, which is handled automatically by your credential configuration. The Content-Type: application/json header is automatically included in requests. The API key is sent in the format token={api_key} in the request header. The domain is automatically retrieved from your credential configuration. The resource type determines which Freshsales API endpoint will be used, and the request body must contain the required fields for that resource type. For detailed information about creating resources, including required fields, field names, and request formats, see the Freshsales API documentation.

Manual configuration

Freshsales destinations can also be manually configured to send data to any valid Freshsales API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Freshsales API endpoints typically follow the pattern https://{domain}/api/{resource_type}/{endpoint_path} and use JSON format for request bodies. The endpoint requires API key authentication via the Token header, sent in the format token={api_key}, which is handled automatically by your credential configuration.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Freshsales endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Freshsales endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.