Add Marketing List Contacts
Add contacts to a Freshsales marketing list. The same official operation also copies contacts that already belong to another list.
Personalize engagement, shorten your sales cycle, and grow your business with Freshsales
Add contacts to a Freshsales marketing list. The same official operation also copies contacts that already belong to another list.
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.
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
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
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
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
Create a new Freshsales contact by cloning an existing contact and applying field overrides.
Create a new Freshsales custom-module record by cloning an existing record and applying field overrides.
Clone a Freshsales deal, optionally overriding fields on the new deal.
Clone a Freshsales sales account, optionally overriding fields on the new account.
Create a Freshsales appointment, optionally linked to a CRM record or attendees, and return its ID and related records.
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.
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
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
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.
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.
Create one record in a named Freshsales custom module and return its record ID and fields.
Create a Freshsales deal associated with exactly one existing or new sales account.
Attach a web document URL to one explicit Freshsales CRM record.
Create an empty Freshsales marketing list.
Create a Freshsales note on one lead, contact, sales account, or deal.
Create a Freshsales sales account with standard, parent-account, or tenant-defined fields.
Create a Freshsales sales activity with all provider-mandatory time, owner, type, and CRM-target fields.
Create a Freshsales task with every provider-mandatory assignment, due-date, and CRM-target field.
Delete one Freshsales appointment by ID.
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.
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
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
Delete a Freshsales custom-module definition and change the tenant's CRM schema. Remove all records from the custom module before calling this action.
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.
Ordinarily delete one deal or bulk-delete multiple deals. This operation is separate from permanent forget.
Ordinarily delete one account or bulk-delete multiple accounts. This is not permanent forget; associated contacts and deals are deleted only when explicitly requested.
Delete one Freshsales sales activity after confirming the provider success code.
Delete one Freshsales task and return provider-confirmed deletion fields.
Return one Freshsales appointment and its related attendees, users, conferences, and notes.
Get bounded, single-request progress and failure details for one Freshsales bulk-upsert job; this does not poll.
Return one Freshsales contact by ID, optionally including related resources.
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
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
Return one Freshsales custom-module definition by ID, including the entity name required by custom-module record tools.
Return one record by ID from a named Freshsales custom module.
Get one Freshsales deal by ID, optionally with related resources.
Get one Freshsales sales account by ID, optionally with related resources.
Get one Freshsales sales activity by ID.
Get one Freshsales task by ID, optionally with collaborators and its CRM target.
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.
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.
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.
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.
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.
List saved Freshsales contact views and their IDs for use with contact listing tools. Freshsales documents no pagination or continuation parameter for this endpoint.
Return one explicitly numbered page from a saved Freshsales contact view, including shaped page totals and the next page number when available.
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
Return one saved-view page of records from a named Freshsales custom module and a page cursor when more records are available.
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.
List standard and tenant-defined Freshsales deal field definitions. Freshsales documents no pagination or continuation parameter for this endpoint.
List saved Freshsales deal views and their IDs. Freshsales documents no pagination or continuation parameter for this endpoint.
Return one numbered page from a saved Freshsales deal view.
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.
Return one documented page of contacts in a Freshsales marketing list. Freshsales can reject this endpoint when the account plan lacks the feature.
Return one documented page of Freshsales marketing lists.
List standard and tenant-defined Freshsales sales-account field definitions. Freshsales documents no pagination or continuation parameter for this endpoint.
List saved Freshsales sales-account views and their IDs. Freshsales documents no pagination or continuation parameter for this endpoint.
Return one numbered page from a saved Freshsales sales-account view.
Return one bounded Freshsales sales-activity page (25 records by default, 100 maximum) and an explicit next page number.
List standard and tenant-defined Freshsales sales-activity field definitions. Freshsales documents no pagination or continuation parameter for this endpoint.
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.
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.
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.
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.
Move selected contacts or every contact from one Freshsales marketing list to a different destination list.
Permanently delete one Freshsales note. Freshsales documents no restore operation; the response contains provider-confirmed deletion fields.
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.
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
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.
IRREVERSIBLE: permanently erase one Freshsales deal and associated data. This cannot be restored and requires confirm_permanent_erasure=true.
IRREVERSIBLE: permanently erase one Freshsales sales account and associated data. This cannot be restored and requires confirm_permanent_erasure=true.
Remove selected contacts or every contact from one Freshsales marketing list. This changes list membership, not the contact records.
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
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
Find exact-match Freshsales contacts with explicit field/operator/value rules.
Fuzzy-search Freshsales users, standard CRM records, and custom-module records in one bounded request.
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.
Start an asynchronous upsert of up to 100 deals. Returns acceptance and a status URL but does not verify completion.
Start an asynchronous upsert of up to 100 sales accounts. Returns acceptance and a status URL but does not verify completion.
Update selected fields or attendees on an existing Freshsales appointment and return the updated appointment and related records.
Update selected fields on an existing Freshsales contact and return the updated contact.
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.
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
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
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.
Update selected fields on one record in a named Freshsales custom module and return the updated record.
Update a Freshsales deal, its contact associations, or replace all deal products. Supplying an empty products list removes every line item.
Add, update, or remove team memberships for one Freshsales deal.
Rename an existing Freshsales marketing list.
Replace the text and target association of an existing Freshsales note.
Update a Freshsales task through the single documented PUT path; set status=1 to mark it completed or status=0 to reopen it.
Update standard or tenant-defined fields on a Freshsales sales account.
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.
Update selected fields on one existing Freshsales sales activity.
Upload a required file as multipart/form-data and attach it to one explicit Freshsales CRM record.
Create or update one Freshsales contact matched by a unique identifier and return the resulting contact.
Create or update a deal by one unique standard or tenant-defined field.
Create or update a sales account by one unique standard or tenant-defined field.
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.
Sign in to your Dench workspace and open Integrations.
Find Freshsales and click Connect — you'll authorize access through Freshsales's own sign-in flow. No API keys or code required.
Ask an agent to use Freshsales in chat, or call it from an automation.
Manage or disconnect the connection any time from workspace settings.
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.
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.
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.
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.