Freshsales
Connect Freshsales to manage contacts, sales accounts, deals, products, tasks, appointments, and sales activities.
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.
Contacts
All contacts in your territory.
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.
API Settings
Credentials for calling the Freshsales REST API as this user.
- Your API key
- sfg9****t7t8
- Bundle alias
- acme.myfreshworks.com
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.
API Settings
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:
| Field | What to enter |
|---|---|
| Freshsales domaintext | Your 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 keysecret | In 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.