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.
- Sign in to Freshsales → click your avatar → API Settings → Copy API key.
- 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 aboveAvailable operations
14 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Create Account | General | Create a sales account |
| Create Contact | General | Create a new contact |
| Create Deal | General | Create a new deal |
| Create Note | General | Add a note to a contact |
| Create Task | General | Create a new task |
| Get Contact | General | Get contact details |
| Get Deal | General | Get deal details |
| List Accounts | General | List sales accounts in a view |
| List Contacts | General | List contacts in a view |
| List Deals | General | List deals in a view |
| List Tasks | General | List all tasks |
| Search | General | Search across contacts, deals, accounts |
| Update Contact | General | Update a contact |
| Update Deal | General | Update a deal |
Operations
Create Account
Create a sales account
| Parameter | Required | Type | Description |
|---|---|---|---|
Sales Account sales_account | Yes | text |
Tips
- sales_account: {name, website, industry, owner_id}.
Create Contact
Create a new contact
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact contact | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
Deal deal | Yes | text |
Tips
- deal: {name, amount, deal_stage_id, pipeline_id, owner_id, sales_account_id}.
Create Note
Add a note to a contact
| Parameter | Required | Type | Description |
|---|---|---|---|
Note note | Yes | text | |
Contact Id contact_id | Yes | text |
Tips
- contact_id + note: {description}. Adds a note to the contact's timeline.
Create Task
Create a new task
| Parameter | Required | Type | Description |
|---|---|---|---|
Task task | Yes | text |
Tips
- task: {title, description, targetable_type, targetable_id, due_date}.
Get Contact
Get contact details
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact Id contact_id | Yes | text |
Tips
- contact_id. include=sales_accounts,owner to fold related data.
Get Deal
Get deal details
| Parameter | Required | Type | Description |
|---|---|---|---|
Deal Id deal_id | Yes | text |
Tips
- Returns deal + stage + pipeline + linked contacts/accounts.
List Accounts
List sales accounts in a view
| Parameter | Required | Type | Description |
|---|---|---|---|
View Id view_id | Yes | text |
Tips
- view_id required. Sales accounts are B2B customer orgs.
List Contacts
List contacts in a view
| Parameter | Required | Type | Description |
|---|---|---|---|
View Id view_id | Yes | text |
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
| Parameter | Required | Type | Description |
|---|---|---|---|
View Id view_id | Yes | text |
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
Search across contacts, deals, accounts
No input parameters.
Tips
- Free-text search across contacts, deals, accounts. q parameter.
Update Contact
Update a contact
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact contact | Yes | text | |
Contact Id contact_id | Yes | text |
Tips
- PUT-style on contact object. Send only fields to change.
Update Deal
Update a deal
| Parameter | Required | Type | Description |
|---|---|---|---|
Deal deal | Yes | text | |
Deal Id deal_id | Yes | text |
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.