Freshsales logo

Integrate Freshsales with your AI CRM

Personalize engagement, shorten your sales cycle, and grow your business with Freshsales

Explore Triggers and Actions

Add Marketing List Contacts

Add contacts to a Freshsales marketing list. The same official operation also copies contacts that already belong to another list.

ActionTry it

Bulk Assign Contact Owner

Replace the owner of up to 100 Freshsales contacts using explicit contact and owner IDs. Freshsales is known to return a false-success 200 for this endpoint, so this action reads every contact after the write and fails unless every owner_id matches.

ActionTry it

Bulk Assign CPQ Record Owners

Queue one owner assignment for selected CPQ products or documents; acknowledgment does not prove completion. Requires Freshsales CPQ to be licensed and enabled. Observed product bulk paths support OAuth; OAuth behavior for document and template paths remains unverified. https://developer.freshsales.io/api/#products

ActionTry it

Bulk Delete CPQ Records

Queue soft deletion of selected CPQ products or documents so they remain restorable; acknowledgment does not prove completion. Requires Freshsales CPQ to be licensed and enabled. Observed product bulk paths support OAuth; OAuth behavior for document and template paths remains unverified. https://developer.freshsales.io/api/#products

ActionTry it

Bulk Restore CPQ Records

Queue restoration of selected soft-deleted CPQ products or documents using the PUT methods in Freshsales' official cURL examples; acknowledgment does not prove completion. Requires Freshsales CPQ to be licensed and enabled. Observed product bulk paths support OAuth; OAuth behavior for document and template paths remains unverified. https://developer.freshsales.io/api/#products

ActionTry it

Bulk Update CPQ Records

Queue one shared-field update for selected CPQ products or documents. Product pricing and document product-line mutations are not supported by these bulk endpoints; acknowledgment does not prove completion. Requires Freshsales CPQ to be licensed and enabled. Observed product bulk paths support OAuth; OAuth behavior for document and template paths remains unverified. https://developer.freshsales.io/api/#products

ActionTry it

Clone Contact

Create a new Freshsales contact by cloning an existing contact and applying field overrides.

ActionTry it

Clone Custom Module Record

Create a new Freshsales custom-module record by cloning an existing record and applying field overrides.

ActionTry it

Clone Deal

Clone a Freshsales deal, optionally overriding fields on the new deal.

ActionTry it

Clone Sales Account

Clone a Freshsales sales account, optionally overriding fields on the new account.

ActionTry it

Create Appointment

Create a Freshsales appointment, optionally linked to a CRM record or attendees, and return its ID and related records.

ActionTry it

Create Contact

Create a Freshsales contact identified by email addresses, mobile number, Twitter username, or external ID and return its ID and contact fields. Tenant contact-field settings can impose additional requirements; inspect List Contact Fields first.

ActionTry it

Create CPQ Document

Create a Freshsales quote or other CPQ document and return its confirmed ID. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

Create CPQ Product

Create a Freshsales CPQ product and return the provider-confirmed product ID. Requires Freshsales CPQ to be licensed and enabled for the connected account. Product create, get, update, delete, and restore paths support OAuth. Official contract: https://developer.freshsales.io/api/#products

ActionTry it

Create Custom Field

Create a persistent custom field on one explicit Freshsales entity form. This mutates tenant schema, may make future record writes require the field, and cannot be undone through any documented custom-field delete endpoint. Requires confirm_irreversible_schema_change=true.

ActionTry it

Create Custom Module

Create a tenant-wide Freshsales custom-module definition and return its ID and internal entity name. This changes the tenant's CRM schema, immediately creates five saved filters, and consumes one of the documented maximum of 10 custom modules per account.

ActionTry it

Create Custom Module Record

Create one record in a named Freshsales custom module and return its record ID and fields.

ActionTry it

Create Deal

Create a Freshsales deal associated with exactly one existing or new sales account.

ActionTry it

Create Document Link

Attach a web document URL to one explicit Freshsales CRM record.

ActionTry it

Create Marketing List

Create an empty Freshsales marketing list.

ActionTry it

Create Note

Create a Freshsales note on one lead, contact, sales account, or deal.

ActionTry it

Create Sales Account

Create a Freshsales sales account with standard, parent-account, or tenant-defined fields.

ActionTry it

Create Sales Activity

Create a Freshsales sales activity with all provider-mandatory time, owner, type, and CRM-target fields.

ActionTry it

Create Task

Create a Freshsales task with every provider-mandatory assignment, due-date, and CRM-target field.

ActionTry it

Delete Appointment

Delete one Freshsales appointment by ID.

ActionTry it

Delete Contacts

Delete one or more Freshsales contacts through ordinary deletion rather than permanent forget. Provide contact_id for one contact or contact_ids for a bulk request. This toolkit does not expose a restore operation.

ActionTry it

Delete CPQ Document

Soft-delete one Freshsales CPQ document so it can be restored. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

Delete CPQ Product

Soft-delete one Freshsales CPQ product so it can be restored. Requires Freshsales CPQ to be licensed and enabled for the connected account. Product create, get, update, delete, and restore paths support OAuth. Official contract: https://developer.freshsales.io/api/#products

ActionTry it

Delete Custom Module

Delete a Freshsales custom-module definition and change the tenant's CRM schema. Remove all records from the custom module before calling this action.

ActionTry it

Delete Custom Module Records

Delete one or more records from a named Freshsales custom module through ordinary deletion. Provide record_id for one record or record_ids for a bulk request. This action never permanently forgets records or their data.

ActionTry it

Delete Deals

Ordinarily delete one deal or bulk-delete multiple deals. This operation is separate from permanent forget.

ActionTry it

Delete Sales Accounts

Ordinarily delete one account or bulk-delete multiple accounts. This is not permanent forget; associated contacts and deals are deleted only when explicitly requested.

ActionTry it

Delete Sales Activity

Delete one Freshsales sales activity after confirming the provider success code.

ActionTry it

Delete Task

Delete one Freshsales task and return provider-confirmed deletion fields.

ActionTry it

Get Appointment

Return one Freshsales appointment and its related attendees, users, conferences, and notes.

ActionTry it

Get Bulk Upsert Job Status

Get bounded, single-request progress and failure details for one Freshsales bulk-upsert job; this does not poll.

ActionTry it

Get Contact

Return one Freshsales contact by ID, optionally including related resources.

ActionTry it

Get CPQ Document

Get one Freshsales CPQ document, optionally including product line items. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

Get CPQ Product

Get one Freshsales CPQ product, optionally including pricing. Requires Freshsales CPQ to be licensed and enabled for the connected account. Product create, get, update, delete, and restore paths support OAuth. Official contract: https://developer.freshsales.io/api/#products

ActionTry it

Get Custom Module

Return one Freshsales custom-module definition by ID, including the entity name required by custom-module record tools.

ActionTry it

Get Custom Module Record

Return one record by ID from a named Freshsales custom module.

ActionTry it

Get Deal

Get one Freshsales deal by ID, optionally with related resources.

ActionTry it

Get Sales Account

Get one Freshsales sales account by ID, optionally with related resources.

ActionTry it

Get Sales Activity

Get one Freshsales sales activity by ID.

ActionTry it

Get Task

Get one Freshsales task by ID, optionally with collaborators and its CRM target.

ActionTry it

List Appointments

Return one page selected by Freshsales's required appointment filter. Open is documented for upcoming appointments; complete is a separate provider-named filter whose semantics are not further defined. Return the next page number only when Freshsales meta.total proves another page exists. Pages default to 25 appointments (maximum 100); larger pages increase response size and token cost.

ActionTry it

List Configuration Options

List one Freshsales configuration option family for IDs needed by CRM operations. Covers all 21 official selectors without exposing arbitrary paths; each selector returns its complete provider-bounded option set and does not expose pagination.

ActionTry it

List Contact Activities

Return activity history for one Freshsales contact. The limit input is a provider result-size hint, not a guaranteed maximum. Inspect meta.has_next and meta.has_previous to determine whether the response is incomplete; this action does not expose an unproven continuation input.

ActionTry it

List Contact Document Associations

List the file and web-link associations attached to one Freshsales contact, including referenced links, users, and provider totals. This returns metadata only, not file bytes, and exposes no continuation because Freshsales documents none for this endpoint.

ActionTry it

List Contact Fields

List Freshsales contact field definitions, internal names, types, choices, and tenant form metadata for use in contact create and update calls. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Contact Views

List saved Freshsales contact views and their IDs for use with contact listing tools. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Contacts by View

Return one explicitly numbered page from a saved Freshsales contact view, including shaped page totals and the next page number when available.

ActionTry it

List CPQ Document Related Products

List the typed product records associated with one Freshsales CPQ document. Freshsales documents no pagination or continuation parameter for this endpoint. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

List Custom Module Records

Return one saved-view page of records from a named Freshsales custom module and a page cursor when more records are available.

ActionTry it

List Custom Module Views

List saved views for a Freshsales custom module and return the view IDs needed to list its records. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Deal Fields

List standard and tenant-defined Freshsales deal field definitions. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Deal Views

List saved Freshsales deal views and their IDs. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Deals by View

Return one numbered page from a saved Freshsales deal view.

ActionTry it

List Entity Forms

List Freshsales forms for a standard or custom entity so callers can obtain an explicit form ID before creating a custom field. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Marketing List Contacts

Return one documented page of contacts in a Freshsales marketing list. Freshsales can reject this endpoint when the account plan lacks the feature.

ActionTry it

List Marketing Lists

Return one documented page of Freshsales marketing lists.

ActionTry it

List Sales Account Fields

List standard and tenant-defined Freshsales sales-account field definitions. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Sales Account Views

List saved Freshsales sales-account views and their IDs. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Sales Accounts by View

Return one numbered page from a saved Freshsales sales-account view.

ActionTry it

List Sales Activities

Return one bounded Freshsales sales-activity page (25 records by default, 100 maximum) and an explicit next page number.

ActionTry it

List Sales Activity Fields

List standard and tenant-defined Freshsales sales-activity field definitions. Freshsales documents no pagination or continuation parameter for this endpoint.

ActionTry it

List Tasks

Return one Freshsales task page for exactly one documented status/due-date filter. Freshsales uses a fixed 25-record page size; pass next_page back as page to continue.

ActionTry it

Log Phone Call for Existing Record

Create an irreversible manual call log for one existing Freshsales lead, contact, or sales account and optionally create a note. Freshsales documents no call-log delete operation; explicit confirmation is required.

ActionTry it

Log Phone Call for New Record

Create a new Freshsales contact and an irreversible manual call log associated with it, optionally with a note. Contact-field requirements vary by tenant; provide emails when the tenant requires them, but email is not universally required. Neither effect has a documented call-log rollback; explicit confirmation is required.

ActionTry it

Lookup Records by Exact Field

Look up exact matches across one or more Freshsales lead, contact, sales-account, or deal types using one compatible standard or custom field. Freshsales returns a provider-bounded result set and exposes no pagination parameters.

ActionTry it

Move Marketing List Contacts

Move selected contacts or every contact from one Freshsales marketing list to a different destination list.

ActionTry it

Permanently Delete Note

Permanently delete one Freshsales note. Freshsales documents no restore operation; the response contains provider-confirmed deletion fields.

ActionTry it

Permanently Forget Contact

Permanently and irreversibly erase one Freshsales contact and associated data. This is not ordinary deletion, cannot be undone by this toolkit, and requires confirm_permanent_erasure=true.

ActionTry it

Permanently Forget CPQ Document

Permanently and irreversibly delete one CPQ document and all associated data. This cannot be restored and requires confirm_permanent_erasure=true. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

Permanently Forget Custom Module Record

Permanently and irreversibly erase one Freshsales custom-module record and associated data. This is not ordinary deletion, cannot be undone by this toolkit, and requires confirm_permanent_erasure=true.

ActionTry it

Permanently Forget Deal

IRREVERSIBLE: permanently erase one Freshsales deal and associated data. This cannot be restored and requires confirm_permanent_erasure=true.

ActionTry it

Permanently Forget Sales Account

IRREVERSIBLE: permanently erase one Freshsales sales account and associated data. This cannot be restored and requires confirm_permanent_erasure=true.

ActionTry it

Remove Marketing List Contacts

Remove selected contacts or every contact from one Freshsales marketing list. This changes list membership, not the contact records.

ActionTry it

Restore CPQ Document

Restore one soft-deleted Freshsales CPQ document. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

Restore CPQ Product

Restore one soft-deleted Freshsales CPQ product. Requires Freshsales CPQ to be licensed and enabled for the connected account. Product create, get, update, delete, and restore paths support OAuth. Official contract: https://developer.freshsales.io/api/#products

ActionTry it

Search Contacts by Exact Filters

Find exact-match Freshsales contacts with explicit field/operator/value rules.

ActionTry it

Search Records

Fuzzy-search Freshsales users, standard CRM records, and custom-module records in one bounded request.

ActionTry it

Start Bulk Contact Upsert

Start an asynchronous upsert of up to 100 Freshsales contacts. Returns only the provider's job acknowledgment and status URL; this tool does not wait for or verify completion.

ActionTry it

Start Bulk Deal Upsert

Start an asynchronous upsert of up to 100 deals. Returns acceptance and a status URL but does not verify completion.

ActionTry it

Start Bulk Sales Account Upsert

Start an asynchronous upsert of up to 100 sales accounts. Returns acceptance and a status URL but does not verify completion.

ActionTry it

Update Appointment

Update selected fields or attendees on an existing Freshsales appointment and return the updated appointment and related records.

ActionTry it

Update Contact

Update selected fields on an existing Freshsales contact and return the updated contact.

ActionTry it

Update Contact Team Memberships

Add, update, or remove Freshsales contact-team memberships using explicit contact, user, and designation IDs. Removing a membership changes that user's access to the contact; verify all tenant IDs before calling.

ActionTry it

Update CPQ Document

Update document fields or replace its complete product list through the one official PUT contract. Freshworks documents quantity as optional, though some tenants require a positive quantity for every supplied line; products=[] removes all lines. Requires Freshsales CPQ to be licensed and enabled for the connected account. OAuth behavior for CPQ document and template paths remains unverified. Official contract: https://developer.freshsales.io/api/#documents

ActionTry it

Update CPQ Product

Update product fields or add, overwrite, and delete product prices through the one official PUT contract. Requires Freshsales CPQ to be licensed and enabled for the connected account. Product create, get, update, delete, and restore paths support OAuth. Official contract: https://developer.freshsales.io/api/#products

ActionTry it

Update Custom Module

Update selected display, icon, navigation, or description settings on an existing Freshsales custom-module definition. The internal entity name remains stable when display names change.

ActionTry it

Update Custom Module Record

Update selected fields on one record in a named Freshsales custom module and return the updated record.

ActionTry it

Update Deal

Update a Freshsales deal, its contact associations, or replace all deal products. Supplying an empty products list removes every line item.

ActionTry it

Update Deal Team Memberships

Add, update, or remove team memberships for one Freshsales deal.

ActionTry it

Update Marketing List

Rename an existing Freshsales marketing list.

ActionTry it

Update Note

Replace the text and target association of an existing Freshsales note.

ActionTry it

Update or Mark Task Done

Update a Freshsales task through the single documented PUT path; set status=1 to mark it completed or status=0 to reopen it.

ActionTry it

Update Sales Account

Update standard or tenant-defined fields on a Freshsales sales account.

ActionTry it

Update Sales Account Team Memberships

Add, update, or remove team memberships for one Freshsales sales account. Requires an API-key connection; Freshworks does not authorize this operation through its available OAuth scopes.

ActionTry it

Update Sales Activity

Update selected fields on one existing Freshsales sales activity.

ActionTry it

Upload and Attach Document

Upload a required file as multipart/form-data and attach it to one explicit Freshsales CRM record.

ActionTry it

Upsert Contact

Create or update one Freshsales contact matched by a unique identifier and return the resulting contact.

ActionTry it

Upsert Deal

Create or update a deal by one unique standard or tenant-defined field.

ActionTry it

Upsert Sales Account

Create or update a sales account by one unique standard or tenant-defined field.

ActionTry it

How the Freshsales integration works

The Freshsales integration connects your Dench AI CRM directly to Freshsales, so agents can read and act on your Freshsales data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

104 actions are available for agents to invoke on your behalf. Every call runs through Freshsales's own authorization, scoped to the account you connect.

Set up Freshsales in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Freshsales and click Connect — you'll authorize access through Freshsales's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Freshsales in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Freshsales integration work with Dench?

The Dench Freshsales integration connects your AI CRM to Freshsales, so AI agents can work with your Freshsales data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Freshsales via Dench?

The Freshsales integration currently exposes 104 actions, including Add Marketing List Contacts, Bulk Assign Contact Owner, Bulk Assign CPQ Record Owners, Bulk Delete CPQ Records, Bulk Restore CPQ Records, and Bulk Update CPQ Records. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Freshsales to Dench?

No. You connect Freshsales from your Dench workspace using Freshsales's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Freshsales integration secure?

Connections are authorized through Freshsales's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Freshsales connection from your workspace settings at any time.

Freshsales | Dench AI CRM