InTouch Hub · Blue Isle Software

Freshsales

Manage contacts, accounts, and sales deals in Freshsales (Freshworks CRM) via REST.

freshsalesfreshworkscrmsales

Freshsales

Manage contacts, accounts, and sales deals in Freshsales (Freshworks CRM) via its REST API.

Grounded in the Freshworks CRM API reference.

What it does

Calls the real Freshsales endpoints and returns the raw JSON response body as result along with the HTTP status. Non-2xx responses are returned (not hidden) so the caller can inspect errors; only transport-level failures fail the step.

Operations

operation method + endpoint required inputs
get_contact GET /api/contacts/{id} id
list_contacts GET /api/contacts/view/{viewId} viewId
create_contact POST /api/contacts email or mobileNumber
get_account GET /api/sales_accounts/{id} id
get_deal GET /api/deals/{id} id

Freshsales lists contacts through a saved filtered view, so list_contacts takes a viewId (find one under Contacts > Views in the UI, the id is in the URL).

create_contact requires at least one of email or mobileNumber (per Freshsales rules); firstName and lastName are optional.

API key setup

  1. Log in to Freshsales.
  2. Go to Profile Settings > API Settings.
  3. Copy Your API Key.
  4. Pass it as the apiKey input. It is sent as Authorization: Token token=<apiKey>.

You also need your bundle subdomain (domain): for https://acme.myfreshworks.com the domain is acme. A bare alias (acme) or a full host (acme.myfreshworks.com) are both accepted.

Examples

Get a contact:

{
  "apiKey": "YOUR_API_KEY",
  "domain": "acme",
  "operation": "get_contact",
  "id": "401000123456"
}

List contacts in a saved view:

{
  "apiKey": "YOUR_API_KEY",
  "domain": "acme",
  "operation": "list_contacts",
  "viewId": "3000012345"
}

Create a contact:

{
  "apiKey": "YOUR_API_KEY",
  "domain": "acme",
  "operation": "create_contact",
  "firstName": "Jane",
  "lastName": "Doe",
  "email": "[email protected]"
}

Get a deal:

{
  "apiKey": "YOUR_API_KEY",
  "domain": "acme",
  "operation": "get_deal",
  "id": "5000056789"
}

Output

{
  "result": "<raw JSON response body from Freshsales>",
  "status": "200"
}