Freshsales
Keep Freshsales up to date with every customer, deal and order, without copy and paste.
27 ways to read, 24 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Freshsales, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create appointmentApproval by rule
- Create contactApproval by rule
- List appointmentsRead
Example flow
- Freshsales · List appointmentsDone
- Freshsales · Create appointmentNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Freshsales.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Freshsales
- Freshsales's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write Freshsales contacts, accounts, deals, tasks, appointments, sales activities, notes, products, CPQ documents and custom module records, plus call logs, email search and list reads.
Freshworks Inc. API docs- Source actions
- 27
- Destination actions
- 24
- Data types
- 22
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Appointments4
- Create appointmentDestinationNot retried automaticallyApproval before production
Creates a appointment.
- Get appointmentSource
One appointment.
- List appointmentsSource
Appointments visible to the API user.
- Update appointmentDestinationProvider duplicate protectionApproval before production
Updates mapped appointment fields.
Configuration1
- List configuration optionsSource
Option lists such as deal pipelines, deal stages, lead sources, territories, contact statuses and sales activity types.
Contact activities1
- List contact activitiesSource
Timeline of one contact: stage changes, appointments, notes, emails and more.
Contacts lookup1
- Look up contacts by fieldSource
Exact lookup of contacts by email or another field.
Contacts6
- Create contactDestinationNot retried automaticallyApproval before production
Creates a contact with custom fields.
- Get contactSource
One contact with custom fields.
- List contactsSource
Contacts in a saved view, with custom fields.
- Find contacts by emailSource
Exact match of contacts on email address through filtered search; the address is sent in the JSON body.
- Update contactDestinationProvider duplicate protectionApproval before production
Updates mapped contact fields.
- Upsert contactDestinationProvider duplicate protectionApproval before production
Creates or updates a contact matched on id or a unique field (id, emails, mobile_number, external_id).
Cpq documents3
- Create documentDestinationNot retried automaticallyApproval before production
Creates a CPQ document such as a draft quote for a deal and contact from a template.
- Get documentSource
One CPQ document (for example a quote) with its products.
- Update documentDestinationProvider duplicate protectionApproval before production
Updates a document's stage, validity, addresses, owner or custom fields.
Custom module records3
- Create custom module recordDestinationNot retried automaticallyApproval before production
Creates a record in a custom module with custom fields.
- List custom module recordsSource
Records of a custom module (for example loans or properties) in a saved view.
- Update custom module recordDestinationProvider duplicate protectionApproval before production
Updates a custom module record's name, owner or custom fields.
Custom module views1
- List custom module viewsSource
Saved views of a custom module; use the ID with List custom module records.
Deal products1
- List deal productsSource
Products attached to one deal with quantity, price and discount.
Deals5
- Create dealDestinationNot retried automaticallyApproval before production
Creates a deal with custom fields.
- Get dealSource
One deal with custom fields.
- List dealsSource
Deals in a saved view, with custom fields.
- Update dealDestinationProvider duplicate protectionApproval before production
Updates mapped deal fields.
- Upsert dealDestinationProvider duplicate protectionApproval before production
Creates or updates a deal matched on id or a unique field (id or a unique custom field).
Fields1
- List fieldsSource
Form fields for contacts, accounts, deals or sales activities, including custom fields and choices.
Marketing list contacts1
- List contacts in a marketing listSource
Contacts that belong to one marketing list.
Marketing lists1
- List marketing listsSource
Marketing lists (read-only; list membership changes are not automated).
Notes2
- Create noteDestinationNot retried automaticallyApproval before production
Adds a note to a contact, account or deal.
- Update noteDestinationProvider duplicate protectionApproval before production
Updates the text of a note.
Phone calls1
- Log callDestinationNot retried automaticallyApproval before production
Logs a manual call against an existing contact, with an optional note. It does not place a call.
Products3
- Create productDestinationNot retried automaticallyApproval before production
Creates a product.
- Get productSource
One product.
- Update productDestinationProvider duplicate protectionApproval before production
Updates mapped product fields.
Records1
- Search recordsSource
Full-text search across contacts, accounts, deals and users.
Sales accounts5
- Create accountDestinationNot retried automaticallyApproval before production
Creates a account with custom fields.
- Get accountSource
One account with custom fields.
- List accountsSource
Accounts in a saved view, with custom fields.
- Update accountDestinationProvider duplicate protectionApproval before production
Updates mapped account fields.
- Upsert accountDestinationProvider duplicate protectionApproval before production
Creates or updates a account matched on id or a unique field (id, name).
Sales activities4
- Create sales activityDestinationNot retried automaticallyApproval before production
Creates a sales activity.
- Get sales activitySource
One sales activity.
- List sales activitiesSource
Sales activities visible to the API user.
- Update sales activityDestinationProvider duplicate protectionApproval before production
Updates mapped sales activity fields.
Tasks4
- Create taskDestinationNot retried automaticallyApproval before production
Creates a task.
- Get taskSource
One task.
- List tasksSource
Tasks visible to the API user.
- Update taskDestinationProvider duplicate protectionApproval before production
Updates mapped task fields.
Users1
- List usersSource
Users (owners) in the Freshsales account.
Views1
- List viewsSource
Saved views (filters) for contacts, accounts or deals; use the ID with the list operations.
Access and limits
- Authentication
- Freshsales API key (Authorization: Token token=...)
- Plans and access
- All Freshsales (Freshworks CRM) plans include the REST API; CPQ products need plans with CPQ. The API key acts as its user and returns only records that user can access.
- Test environment
- Use a Freshsales trial account or a sandbox on Enterprise plans.
- Rate limits
- 1,000 API requests per hour per account (higher on some plans); HTTP 429 when exceeded.
- Pagination
- page (from 1) and per_page with meta.total_pages; the default page size is 25.
- Provider events
- Workflow automations can call a webhook on record events, with custom headers (no signature). Flows can start the moment something happens: when a contact is created; when a contact is updated; when a deal is created; when a deal is updated.
Before you build a flow
- Uses the myfreshworks.com/crm/sales API. Legacy *.freshsales.io accounts and freshworks.com aliases are not supported.
- Contacts, accounts and deals are listed through saved views (List views provides the view IDs).
- per_page is sent with the page size; Freshworks documents the default of 25 but not a maximum, so Nexra caps it at 100.
- Contact subscription status, subscription types and do-not-disturb are returned read-only and never written.
- Notes can be created and updated but Freshsales documents no notes list endpoint; products have no documented list endpoint.
- Freshsales has no idempotency key; uncertain creates are not repeated automatically. Upserts converge on the unique identifier.
- Deletes, forgets, clones, restores, bulk jobs, owner bulk-assignment, team member changes, marketing list creation and membership changes, document product line edits and email sending are not automated.
- Look up contacts by field (contacts_lookup.search) and Search records (records.search) send the search value in the URL query because that is the only form of those Freshsales endpoints.
- Filtered search is documented for contacts by email only (contact_email.email with is_in); other attributes are not exposed.
- Contact activities return the most recent entries up to the limit and are not paginated.
- Custom module views use GET /api/{module}/filters as documented; the documentation shows no single-record read for custom modules, so none is offered.
- The marketing list contacts response shape (contacts with meta.total_pages) is inferred from the other list endpoints; the documentation's example is empty.
Developer reference
- Create the Freshworks Inc. credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Freshsales, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/freshsales and the Connections API.
