InTouch Hub · Blue Isle Software

Freshsales

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

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

crmcrm-salesemailfreshworkslogsalesstatus

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"
}

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes Freshsales API key. Found in Freshsales > Profile Settings > API Settings. Sent as 'Authorization: Token token='.
domain string yes Your Freshsales bundle subdomain, e.g. 'acme' for https://acme.myfreshworks.com. Just the alias, not the full URL.
operation string yes One of: get_contact, list_contacts, create_contact, get_account, get_deal
id string no Record id — required for get_contact, get_account, and get_deal.
viewId string no Filtered-view id — required for list_contacts (GET /api/contacts/view/{viewId}).
firstName string no First name — optional property for create_contact.
lastName string no Last name — optional property for create_contact.
email string no Email address for create_contact. At least one of email, mobileNumber is required by Freshsales.
mobileNumber string no Mobile number for create_contact. At least one of email, mobileNumber is required by Freshsales.