How to integrate Freshsales MCP with Atomic Agent

Connect Atomic Agent to Freshsales MCP. List open freshsales deals closing this month, create contacts from this sales prospect list, and more using natural language, with authentication handled for you.

Freshsales logoFreshsales
Api KeyOauth2

Freshsales is a CRM platform for managing contacts, accounts, deals, and sales activities. It helps sales teams personalize engagement and shorten the sales cycle.

104 Tools

Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,500+ apps through Composio, including Freshsales.

This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a Freshsales account. See the Atomic Agent documentation for installation instructions.

Also integrate Freshsales with

How Atomic Agent connects to Freshsales

Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.

Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

Connect Freshsales to Atomic Agent

  1. Sign up or sign in to the Composio dashboard. Copy your API key.
  2. In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
  3. Ask Atomic Agent to do something in Freshsales. It searches Composio for the right tool.
  4. On first use, open the sign-in link returned in the chat. Connect your Freshsales account, then return to Atomic Agent to continue.

Headless setup

Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY

What is the Freshsales MCP server, and what's possible with it?

The Freshsales MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Freshsales account. It provides structured and secure access to your CRM records, sales activities, marketing lists, and CPQ data, so your agent can create and organize customer records, manage deals and sales tasks, schedule appointments, and handle products and documents on your behalf.

  • Contact and account management: Have your agent create, clone, assign owners to, and delete Freshsales contacts and sales accounts.
  • Deal and sales workflow support: Let the agent create, clone, and delete deals, add notes, create sales activities, and assign follow-up tasks.
  • Appointments and marketing lists: Direct your agent to create or delete appointments, create marketing lists, and add contacts to those lists.
  • Products and sales documents: Instruct your agent to create, update, clone, assign, restore, or delete Freshsales CPQ products and documents.
  • Custom CRM data: Have your agent create custom modules and fields, add or clone records, attach document links, and remove custom records when needed.

Use Freshsales from Atomic Agent

With your account connected, ask Atomic Agent to work with Freshsales in natural language. You can connect more apps through the same Composio integration as you need them.

Visit the Atomic Agent website or inspect the Atomic Agent source code.

Troubleshooting

Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See Composio pricing for the current limits that apply to your connection.

TOOLS

Supported Tools

Every Freshsales action and event your agent gets out of the box.

Add Marketing List Contacts

Add contacts to a Freshsales marketing list.

Bulk Assign Contact Owner

Replace the owner of up to 100 Freshsales contacts using explicit contact and owner IDs.

Bulk Assign CPQ Record Owners

Queue one owner assignment for selected CPQ products or documents; acknowledgment does not prove completion.

Bulk Delete CPQ Records

Queue soft deletion of selected CPQ products or documents so they remain restorable; acknowledgment does not prove completion.

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.

Bulk Update CPQ Records

Queue one shared-field update for selected CPQ products or documents.

Clone Contact

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

Clone Custom Module Record

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

Clone Deal

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

Clone Sales Account

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

Create Appointment

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

Create Contact

Create a Freshsales contact identified by email addresses, mobile number, Twitter username, or external ID and return its ID and contact fields.

Create CPQ Document

Create a Freshsales quote or other CPQ document and return its confirmed ID.

Create Custom Field

Create a persistent custom field on one explicit Freshsales entity form.

Create Custom Module

Create a tenant-wide Freshsales custom-module definition and return its ID and internal entity name.

Create Custom Module Record

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

Create Deal

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

Create Document Link

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

Create Marketing List

Create an empty Freshsales marketing list.

Create Note

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

Create CPQ Product

Create a Freshsales CPQ product and return the provider-confirmed product ID.

Create Sales Account

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

Create Sales Activity

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

Create Task

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

Delete Appointment

Delete one Freshsales appointment by ID.

Delete Contacts

Delete one or more Freshsales contacts through ordinary deletion rather than permanent forget.

Delete CPQ Document

Soft-delete one Freshsales CPQ document so it can be restored.

Delete Custom Module

Delete a Freshsales custom-module definition and change the tenant's CRM schema.

Delete Custom Module Records

Delete one or more records from a named Freshsales custom module through ordinary deletion.

Delete Deals

Ordinarily delete one deal or bulk-delete multiple deals.

Permanently Delete Note

Permanently delete one Freshsales note.

Delete CPQ Product

Soft-delete one Freshsales CPQ product so it can be restored.

Delete Sales Accounts

Ordinarily delete one account or bulk-delete multiple accounts.

Delete Sales Activity

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

Delete Task

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

Permanently Forget Contact

Permanently and irreversibly erase one Freshsales contact and associated data.

Permanently Forget CPQ Document

Permanently and irreversibly delete one CPQ document and all associated data.

Permanently Forget Custom Module Record

Permanently and irreversibly erase one Freshsales custom-module record and associated data.

Permanently Forget Deal

IRREVERSIBLE: permanently erase one Freshsales deal and associated data.

Permanently Forget Sales Account

IRREVERSIBLE: permanently erase one Freshsales sales account and associated data.

Get Appointment

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

Get Contact

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

Get CPQ Document

Get one Freshsales CPQ document, optionally including product line items.

Get Custom Module

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

Get Custom Module Record

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

Get Deal

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

Get Bulk Upsert Job Status

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

Get CPQ Product

Get one Freshsales CPQ product, optionally including pricing.

Get Sales Account

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

Get Sales Activity

Get one Freshsales sales activity by ID.

Get Task

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

List Appointments

Return one page selected by Freshsales's required appointment filter.

List Configuration Options

List one Freshsales configuration option family for IDs needed by CRM operations.

List Contact Activities

Return activity history for one Freshsales contact.

List Contact Document Associations

List the file and web-link associations attached to one Freshsales contact, including referenced links, users, and provider totals.

List Contact Fields

List Freshsales contact field definitions, internal names, types, choices, and tenant form metadata for use in contact create and update calls.

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.

List Contact Views

List saved Freshsales contact views and their IDs for use with contact listing tools.

List CPQ Document Related Products

List the typed product records associated with one Freshsales CPQ document.

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.

List Custom Module Views

List saved views for a Freshsales custom module and return the view IDs needed to list its records.

List Deal Fields

List standard and tenant-defined Freshsales deal field definitions.

List Deals by View

Return one numbered page from a saved Freshsales deal view.

List Deal Views

List saved Freshsales deal views and their IDs.

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.

List Marketing List Contacts

Return one documented page of contacts in a Freshsales marketing list.

List Marketing Lists

Return one documented page of Freshsales marketing lists.

List Sales Account Fields

List standard and tenant-defined Freshsales sales-account field definitions.

List Sales Accounts by View

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

List Sales Account Views

List saved Freshsales sales-account views and their IDs.

List Sales Activities

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

List Sales Activity Fields

List standard and tenant-defined Freshsales sales-activity field definitions.

List Tasks

Return one page of Freshsales tasks for exactly one status or due-date filter.

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.

Log Phone Call for New Record

Create a new Freshsales contact and an irreversible manual call log associated with it, optionally with a note.

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.

Move Marketing List Contacts

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

Remove Marketing List Contacts

Remove selected contacts or every contact from one Freshsales marketing list.

Restore CPQ Document

Restore one soft-deleted Freshsales CPQ document.

Restore CPQ Product

Restore one soft-deleted Freshsales CPQ product.

Search Contacts by Exact Filters

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

Search Records

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

Start Bulk Contact Upsert

Start an asynchronous upsert of up to 100 Freshsales contacts.

Start Bulk Deal Upsert

Start an asynchronous upsert of up to 100 deals.

Start Bulk Sales Account Upsert

Start an asynchronous upsert of up to 100 sales accounts.

Update Appointment

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

Update Contact

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

Update Contact Team Memberships

Add, update, or remove Freshsales contact-team memberships using explicit contact, user, and designation IDs.

Update CPQ Document

Update document fields or replace its complete product list through the one official PUT contract.

Update Custom Module

Update selected display, icon, navigation, or description settings on an existing Freshsales custom-module definition.

Update Custom Module Record

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

Update Deal

Update a Freshsales deal, its contact associations, or replace all deal products.

Update Deal Team Memberships

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

Update Marketing List

Rename an existing Freshsales marketing list.

Update Note

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

Update CPQ Product

Update product fields or add, overwrite, and delete product prices through the one official PUT contract.

Update Sales Account

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

Update Sales Account Team Memberships

Add, update, or remove team memberships for one Freshsales sales account.

Update Sales Activity

Update selected fields on one existing Freshsales sales activity.

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.

Upload and Attach Document

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

Upsert Contact

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

Upsert Deal

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

Upsert Sales Account

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

FAQ

Frequently asked questions

With a standalone Freshsales MCP server, the agents and LLMs can only access a fixed set of Freshsales tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Freshsales and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. Atomic Agent fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Freshsales tools.

Yes, absolutely. You can configure which Freshsales scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Freshsales data and credentials are handled as safely as possible.

Start with Freshsales.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Freshsales tool your agent needs.Free to start.

Start building