Reference · built on requestConnectorCRM & sales

Freshsales

Contacts, sales accounts, deals, tasks, and appointments from Freshsales through the Freshworks CRM REST API.

About

Freshsales is the sales CRM in the Freshworks suite. Its REST API sits under your bundle alias at <alias>.myfreshworks.com/crm/sales/api and covers contacts, sales_accounts, deals, tasks, appointments, notes, sales_activities, and phone_calls. Lists run through saved views, so a filter you build in the app becomes a view id the API can page through.

An operator on Fibric reads deals by stage with their expected_close dates and proposes a task, a note, or a stage change for your approval. Every approved change leaves a receipt: what changed, why, and how to undo it.

This is a reference listing. It documents what Fibric would read from Freshsales and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Contacts, listed by view, looked up by email, upserted, and read with their activities
  • Sales accounts (sales_accounts) with their fields and views
  • Deals with amount, deal_stage_id, deal_pipeline_id, expected_close, probability, owner_id, and sales_account_id
  • Tasks and appointments, listed with a filter parameter
  • Sales activities and manual phone call logs (phone_calls)
  • Reference lists from /api/selector, such as owners, deal_stages, and currencies

Proposed actions

  • Target capability: propose a task or a note on a contact, account, or deal
  • Target capability: propose updating a deal's deal_stage_id, amount, or expected_close
  • Target capability: propose an upsert of a contact or sales account
  • Target capability: propose logging a sales activity or a manual phone call

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Route a new contact to the right owner

    Poll a view of contacts created since the last run, look up duplicates by email, and propose an owner and a first task for approval.

    With Lead Response

  • Surface deals past their expected close

    Page a deals view, flag rows whose expected_close is behind today with the stage unchanged, and propose one follow-up task per deal.

    With Stale Pipeline

  • Hand a won deal to the people who deliver it

    When a deal reaches a won stage, read its account, contact, and product, and propose the handoff note and tasks for the onboarding owner.

    With Deal Handoff

Requirements

  • A Freshsales account and its bundle alias, shown under Profile Settings > API Settings
  • A user whose API key covers the records you want read, since each key belongs to one user
  • Saved views in Freshsales for each list the operator pages, because list endpoints take a view id
  • Bulk jobs sized to 100 records per request and no more than 10 concurrent calls
Authentication
A per-user API key from Profile Settings > API Settings, sent as Authorization: Token token=<key> on every request.

Limits

  • 1000 API requests per hour per account; past that Freshsales answers HTTP 429 with Too many requests
  • The API documentation lists no webhook endpoints, so change detection relies on polling views
  • Bulk upsert and bulk delete take 100 records per request with at most 10 concurrent calls; job state is polled at /api/job_statuses/[id]
  • List responses page 25 records at a time through the page parameter

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Freshsales ↗

Questions and answers

How does authentication work for the Freshsales API?
Each user has an API key under Profile Settings > API Settings. Send it as Authorization: Token token=<key> with Content-Type: application/json to https://<bundle_alias>.myfreshworks.com/crm/sales/api/<resource>.
How many requests can I make?
Freshsales allows 1000 API requests per hour per account. Beyond that it answers with HTTP 429 and the message Too many requests. Bulk endpoints add their own limits: 100 records per request and 10 concurrent calls.
Can I list deals without a view?
Listing goes through views. GET /api/deals/filters returns the views available; GET /api/deals/view/[view_id] pages one of them. Single records come from GET /api/deals/[id], and /api/search and /api/lookup cover text and email searches.
Ask about Freshsales

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.