Back

Freshsales Suite API Essential Guide

Aug 15, 20246 minute read

What type of API does Freshsales Suite provide?

Freshsales Suite (previously known as Freshsales.io) has a REST API.

Key points:

  • Freshsales APIs belong to the Representational State Transfer (REST) category.
  • They allow performing RESTful operations such as reading, modifying, adding or deleting data from your Freshsales account.
  • The API uses standard HTTP methods like GET, POST, PUT, DELETE for different operations.
  • Authentication is done using an API key provided to each user.

API Details:

  • The API endpoints follow the format: https://domain.freshsales.io/api/resource
  • It uses JSON as the data format.
  • Common API commands include:
    • GET: Fetch one or more objects
    • POST: Create an object
    • PUT: Update an object
    • DELETE: Remove an object
  • The API provides access to various resources like leads, contacts, deals, tasks, appointments, etc.

Best Practices:

  • Use the provided API key for authentication in the Authorization header.
  • Include the Content-Type header set to application/json.
  • Use appropriate HTTP methods for different operations.
  • Refer to the official API documentation for detailed endpoint information and request/response formats.

In summary, Freshsales Suite provides a RESTful API that allows developers to integrate and interact with the CRM programmatically using standard HTTP methods and JSON data format.

Does the Freshsales Suite API have webhooks?

Availability of Webhooks

Yes, the official Freshsales Suite API does have webhooks functionality.

Types of Events

The search results mention a few examples of events that can trigger webhooks:

  1. Deal-related events:

    • When a deal is moved to "Won" status
    • When a new deal is created
  2. Contact-related events:

    • When a new contact is added
  3. List-related events:

    • When a contact is added to a list (e.g., "list.add_contact")

Key Points to Consider

  1. Webhooks can be configured as part of workflows in Freshsales Suite.

  2. Webhooks allow you to send HTTP requests to third-party applications when specific events occur in Freshsales Suite.

  3. You can configure various aspects of the webhook, including:

    • Request type (POST, GET, PUT/PATCH, DELETE)
    • Callback URL
    • Authentication parameters
    • Custom headers
    • Encoding
    • Content type
    • Custom payload
  4. Freshsales Suite supports REST APIs for webhook operations.

  5. There's a feature called "external events" that allows creating webhooks at runtime.

  6. For external applications wanting to capture Freshsales Suite events, you can either use the app platform within Freshsales Suite or rely on product features like workflows to configure webhooks.

  7. The payload sent by webhooks includes various attributes such as account_id, app_settings, event data, domain, headers, and timestamp.

Best Practices

  1. Test your webhook configuration using the provided testing functionality to ensure it's working correctly.

  2. Be aware of authentication requirements for your webhook endpoints and configure them appropriately.

  3. Consider using custom payloads to include additional relevant information in your webhook requests.

  4. Familiarize yourself with the payload structure to properly handle incoming webhook data in your external application.

  5. If you're developing an external application to capture Freshsales Suite events, consider using the app platform for more flexibility, or use the workflow feature if you need to avoid the app platform.

Rate Limits and other limitations

Here are the key points about the API rate limits for the Freshsales Suite API:

API Request Limits

  • The API request limits are tiered based on frequency:

    • Per hour limit: Maximum number of requests allowed per hour
    • Per minute limit: Maximum number of requests allowed per minute
  • The specific limits vary by plan:

    • Free plan: 1000 requests per hour, 400 requests per minute
    • Growth plan: 1000 requests per hour, 400 requests per minute
    • Pro plan: 2000 requests per hour, 400 requests per minute
    • Enterprise plan: 5000 requests per hour, 400 requests per minute
  • The limits are at the account level, not per user [1][3]

Exceeding Limits

  • If the limit is reached, the API will return a 429 (Too Many Requests) status code [1][2][3]

Requesting Increased Limits

  • For accounts with multiple integrations or high API usage, you can request an increase to the API access limit by emailing [email protected] [3]

Best Practices

  • Use API calls efficiently and avoid unnecessary requests
  • Consider caching data where possible to reduce API calls
  • Monitor your API usage to stay within limits

Key Considerations

  • The limits apply to all activities performed through API requests [2][3]
  • Limits are calculated on a per account basis, regardless of number of users [2][3]

In summary, the Freshsales Suite API has tiered rate limits based on plan level, with options to request increases if needed. Staying within these limits requires efficient API usage and monitoring.

Latest API Version

Based on the search results provided, I could not find a definitive answer about the most recent version of the Freshsales Suite API. The search results do not contain specific version information for the API. However, I can provide some relevant information about the Freshsales API based on the available results:

  1. The Freshsales API is a REST API that allows developers to perform operations such as reading, modifying, adding, or deleting data from the Freshsales CRM [1].

  2. Authentication for the API is done using an API key and Bundle alias. The Bundle alias is used to specify which CRM account to use in the API if you have multiple CRM accounts in your Freshworks Org [1].

  3. There have been some recent changes to the API request limits. The limits have been upgraded from hourly to per-minute access per account, with a limit of 400 requests/minute across all plans [2].

  4. Freshworks offers an API Add-on for users who exceed the API limits offered in their plan [2].

  5. The API documentation is available at https://developers.freshworks.com/crm/api/ [1].

  6. There was a recent issue reported by a user regarding a 404 error when trying to fetch the list of deals using the API, suggesting that there might have been some changes to the API endpoints [3].

  7. For the most up-to-date and accurate information about the Freshsales Suite API, it's recommended to check the official documentation or contact Freshsales support directly [3][4].

While I couldn't provide the specific version number you asked for, this information should give you an overview of the current state of the Freshsales API. If you need the exact version number, I recommend checking the official Freshsales developer documentation or contacting their support team directly.

How to get a Freshsales Suite developer account and API Keys?

To get a developer account for Freshsales Suite and create an API integration, you need to follow these steps:

1. Sign up for a Freshsales account

If you don't already have one, sign up for a Freshsales account at https://www.freshworks.com/freshsales-crm/.

2. Access API Settings

Once logged in to your Freshsales account:

  1. Click on your profile picture and select "Profile Settings".
  2. Click on the "API Settings" tab.

3. Obtain API Key and Bundle Alias

In the API Settings section, you will find:

  • Your API key - This is a unique identifier required for authentication.
  • Your Bundle alias - This specifies which CRM account to use if you have multiple accounts in your Freshworks organization.

4. Set up Authentication

To authenticate API requests, you'll need to include your API key in the request headers:

Authorization: Token token=YOUR_API_KEY

5. Use the API

You can now start making API requests to Freshsales endpoints. The general format for API URLs is:

https://<Bundle Alias>.myfreshworks.com/crm/sales/api/<resource_name>

For example:

https://widgetz.myfreshworks.com/crm/sales/api/contacts/144

What can you do with the Freshsales Suite API?

Based on the search results, here are the key data models you can interact with using the Freshsales Suite API, along with what is possible for each:

Contacts

  • Create, read, update and delete contact records
  • Fetch contact details including name, email, phone, etc.
  • Update contact fields like status, owner, etc.
  • Associate contacts with accounts, deals, etc.

Accounts

  • Create, read, update and delete account records
  • Fetch account details like name, industry, revenue, etc.
  • Update account fields like owner, status, etc.
  • Associate accounts with contacts, deals, etc.

Deals

  • Create, read, update and delete deal records
  • Fetch deal details like value, stage, close date, etc.
  • Update deal fields like stage, owner, probability, etc.
  • Associate deals with contacts, accounts, etc.

Leads

  • Create, read, update and delete lead records
  • Fetch lead details like name, email, source, etc.
  • Update lead fields like status, owner, score, etc.
  • Convert leads to contacts/accounts/deals

Tasks

  • Create, read, update and delete task records
  • Fetch task details like due date, assignee, status, etc.
  • Update task fields like status, priority, etc.
  • Associate tasks with contacts, deals, etc.

Appointments

  • Create, read, update and delete appointment records
  • Fetch appointment details like date, attendees, etc.
  • Update appointment fields like status, notes, etc.

Sales Activities

  • Create, read, update and delete sales activity records
  • Fetch activity details like type, outcome, notes, etc.
  • Associate activities with contacts, deals, etc.

Custom Fields

  • Create, read, update and delete custom fields
  • Fetch custom field definitions and values
  • Update custom field values on records

Users

  • Fetch user details like name, email, role, etc.
  • Update certain user fields

Configuration Data

  • Fetch configuration data like deal stages, lead sources, etc.
  • Update certain configuration settings

The API allows performing standard CRUD operations on most of these data models, as well as associating records across models. Custom fields and configuration data can also be accessed and managed via the API.