Freshsales integration

SME CRM: contacts, deals, accounts, tasks, notes, sales pipeline

Help CentreConnectors

Overview

Freshsales (Freshworks CRM) is a sales-focused CRM for SMBs and mid-market. The Automize Freshsales connector covers contacts, deals, accounts, tasks, notes, and saved views.

  • Regions: Each Freshsales account has its own sub-domain (yourcompany.myfreshworks.com or yourcompany.freshsales.io).
  • Plans: Growth, Pro, Enterprise – all expose the API. Some features (advanced workflows, custom objects) need Pro+.

Setting up the connection

Auth type: API Key.

  1. Sign in to Freshsales → click your avatar → API Settings → Copy API key.
  2. In Automize, open Settings → Connectors → Freshsales → Add connection. Enter sub-domain + API key (sent as 'Token token=<key>' Authorization header).

Find your credentials at https://yourcompany.myfreshworks.com/crm/settings/api.


Rate limits

Freshsales enforces 1,000 req/hour on Growth, more on higher tiers. Connector retries 429 with backoff.


Data model

Freshsales primitives:

    Sales Account (B2B customer) ─── Contacts
                                └─ Deals
    Pipeline ─── Stages ─── Deals
    Views (saved filters) for Contacts/Deals/Accounts/Leads
    Tasks ─── linked to any of the above

Available operations

14 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Create AccountGeneralCreate a sales account
Create ContactGeneralCreate a new contact
Create DealGeneralCreate a new deal
Create NoteGeneralAdd a note to a contact
Create TaskGeneralCreate a new task
Get ContactGeneralGet contact details
Get DealGeneralGet deal details
List AccountsGeneralList sales accounts in a view
List ContactsGeneralList contacts in a view
List DealsGeneralList deals in a view
List TasksGeneralList all tasks
SearchGeneralSearch across contacts, deals, accounts
Update ContactGeneralUpdate a contact
Update DealGeneralUpdate a deal

Operations

Create Account

Create a sales account

ParameterRequiredTypeDescription
Sales Account sales_accountYestext

Tips

  • sales_account: {name, website, industry, owner_id}.

Create Contact

Create a new contact

ParameterRequiredTypeDescription
Contact contactYestext

Tips

  • contact: {first_name, last_name, email, mobile_number, job_title, sales_accounts:[{id}]}.

Errors

  • Validation failed – Email already exists or required field missing. Use Search Contact first to dedupe.

Create Deal

Create a new deal

ParameterRequiredTypeDescription
Deal dealYestext

Tips

  • deal: {name, amount, deal_stage_id, pipeline_id, owner_id, sales_account_id}.

Create Note

Add a note to a contact

ParameterRequiredTypeDescription
Note noteYestext
Contact Id contact_idYestext

Tips

  • contact_id + note: {description}. Adds a note to the contact's timeline.

Create Task

Create a new task

ParameterRequiredTypeDescription
Task taskYestext

Tips

  • task: {title, description, targetable_type, targetable_id, due_date}.

Get Contact

Get contact details

ParameterRequiredTypeDescription
Contact Id contact_idYestext

Tips

  • contact_id. include=sales_accounts,owner to fold related data.

Get Deal

Get deal details

ParameterRequiredTypeDescription
Deal Id deal_idYestext

Tips

  • Returns deal + stage + pipeline + linked contacts/accounts.

List Accounts

List sales accounts in a view

ParameterRequiredTypeDescription
View Id view_idYestext

Tips

  • view_id required. Sales accounts are B2B customer orgs.

List Contacts

List contacts in a view

ParameterRequiredTypeDescription
View Id view_idYestext

Tips

  • view_id required – Freshsales scopes list ops by view (saved filter).
  • List views first to discover the IDs (Get All Views endpoint, not exposed here).

List Deals

List deals in a view

ParameterRequiredTypeDescription
View Id view_idYestext

Tips

  • view_id required. include=stage,deal_pipeline,owner.

List Tasks

List all tasks

No input parameters.

Tips

  • Filter by filter (open, due_today, overdue, completed).

Search across contacts, deals, accounts

No input parameters.

Tips

  • Free-text search across contacts, deals, accounts. q parameter.

Update Contact

Update a contact

ParameterRequiredTypeDescription
Contact contactYestext
Contact Id contact_idYestext

Tips

  • PUT-style on contact object. Send only fields to change.

Update Deal

Update a deal

ParameterRequiredTypeDescription
Deal dealYestext
Deal Id deal_idYestext

Tips

  • Update deal_stage_id to move through pipeline. Set status as 'won' or 'lost' for terminal states.

FAQ

Why does List Contacts need a view_id?
Freshsales scopes list endpoints to saved views. Even 'All Contacts' is a view (with its own ID). Discover via the Get All Views endpoint (not exposed here – fetch via direct API call once + cache the IDs).
Custom fields?
Send in custom_field object: contact.custom_field.cf_priority='High'. Use field's snake_case API name with cf_ prefix.
Freshsales vs Freshdesk?
Same Freshworks family. Freshsales = sales CRM (deals, pipelines, accounts). Freshdesk = customer support (tickets). Same auth model; different API surface.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.