Integrations

Freshsales

Connect Freshsales to manage contacts, sales accounts, deals, products, tasks, appointments, and sales activities.

API credentialsCRM & SalesFreshsales API docs

You end up pasting your Freshsales bundle alias and the API key from the API Settings tab of Profile Settings. PopMCP sends it as an Authorization: Token token=<key> header.

Setup time
3 min
Auth
API credentials
API base URL
https://YOUR-BUNDLE.myfreshworks.com/crm/sales/api
Rate limits
1,000 API requests per hour per account. Going over returns HTTP 429 Too many requests.

Before you begin

  • A Freshsales or Freshworks CRM account on any plan
  • A user login that can see the records you want the AI to reach, because the key inherits that user's permissions and territory scope
  • Know whether your account sits on the newer myfreshworks.com host or the legacy freshsales.io host

Get your credentials

Open Profile Settings

Sign in to Freshsales, click your profile picture in the top-right corner, and select Profile Settings.

Open this screen →

acme.myfreshworks.com/crm/sales/contacts
SearchAcme Sales

Contacts

All contacts in your territory.

All ContactsMy ContactsRecently Modified
Dana Okafor
Profile SettingsSwitch ProductLogout

This is the personal menu, not the Admin Settings gear.

Open the API Settings tab

In Profile Settings click the API Settings tab. The key sits in Your API key, with Bundle alias printed directly below it.

Open this screen →

acme.myfreshworks.com/crm/sales/personal-settings/api-settings
SearchAcme Sales
Profile Settings / API Settings

API Settings

Credentials for calling the Freshsales REST API as this user.

Personal SettingsEmail SettingsCalendar SettingsAPI Settings
This key carries your own record permissions and territory scope.
Your API key
Your API key
sfg9****t7t8
Bundle alias
acme.myfreshworks.com
CopyReset API key

Both values PopMCP needs are on this one tab.

Copy the bundle alias into the domain field

Paste Bundle alias into PopMCP's Freshsales domain field. Newer accounts read acme.myfreshworks.com and legacy accounts read acme.freshsales.io.

Paste the API key and connect

Copy the value from Your API key into PopMCP's API key field and click Connect.

acme.myfreshworks.com/crm/sales/personal-settings/api-settings
SearchAcme Sales
Profile Settings / API Settings

API Settings

Personal SettingsEmail SettingsCalendar SettingsAPI Settings
API key copied
Your API key
sfg9****t7t8
Done

Resetting the key here immediately breaks any app using the old one.

Connect in PopMCP

Open your workspace, choose Freshsales in the marketplace, and fill in the connect dialog:

FieldWhat to enter
Freshsales domaintextYour Freshsales URL host, e.g. your-company.myfreshworks.com (newer accounts) or your-company.freshsales.io (legacy). You can paste just the first part (your-company) or the full URL. We'll work it out. This is the account the MCP is locked to.
API keysecretIn Freshsales: click your profile picture (top-right) → Settings → 'API Settings' → copy 'Your API key'. The key inherits the permissions of that user. Stored encrypted.Encrypted with AES-256-GCM on save and never shown again.

PopMCP verifies the credential against Freshsales immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Verify it worked

PopMCP shows the Freshsales connection as Connected against your bundle alias, and asking it to list recent contacts or open deals returns real records from your CRM.

Troubleshooting

401 Authentication Failure

Why: The key was pasted with the `Token token=` prefix included, or it belongs to a different Freshworks bundle than the domain entered.

Fix: Paste only the raw key value from the API Settings tab, and confirm the domain matches the bundle alias printed under it.

404 on every endpoint

Why: The domain field points at the wrong host, for example freshsales.io for an account that lives on myfreshworks.com.

Fix: Copy the bundle alias exactly as Freshsales prints it on the API Settings tab and reconnect.

403 Access Denied on some records

Why: The key inherits the permissions and territory scope of the user who owns it.

Fix: Generate the key from a user with wider record access, or broaden that user's role in Admin Settings.

429 Too many requests

Why: The account exceeded 1,000 API requests in the rolling hour.

Fix: Wait for the hour to reset and batch requests instead of looping record by record.

Reference

On this page