1. Overview
Freshworks CRM (formerly Freshsales) is a sales automation solution that helps businesses manage leads, customer relationships, and sales pipelines. It provides a unified platform for sales teams to track contacts, deals, and activities.
With the GoInsight Freshworks CRM node, you can seamlessly integrate CRM operations into your automated workflows. This allows you to manage the entire lifecycle of your sales data, including:
- Account Management: Create, retrieve, update, and delete sales accounts.
- Contact Management: Manage your customer contacts by creating, retrieving, updating, and deleting them.
- Deal Tracking: Keep your sales pipeline up-to-date by creating, retrieving, updating, and deleting deals.
- Activity Management: Automate the creation and management of tasks, notes, and appointments associated with your contacts and deals.
- Data Retrieval: Fetch lists of accounts, contacts, deals, and other resources with powerful filtering and pagination.
2. Prerequisites
Before using this node, you will need to have a valid Freshworks CRM account. You may also need administrative privileges or specific permissions to create and manage API credentials required for authentication.
3. Credentials
For a detailed guide on how to obtain and configure your credentials, please refer to our official documentation: Credentials Configuration Guide.
4. Supported Operations
Summary
This node provides a comprehensive set of operations organized around key Freshworks CRM resources like Accounts, Contacts, Deals, and Activities. The table below summarizes the available actions.
| Resource | Operation | Description |
|---|---|---|
| Account | Create an Account | Creates a new account in Freshworks CRM. |
| Account | Delete an Account | Deletes an existing account in Freshworks CRM by its ID. |
| Account | Get an Account | Retrieves an existing account from Freshworks CRM by its ID. |
| Account | Get Many Accounts | Retrieves a paginated list of accounts from Freshworks CRM. |
| Account | Update an Account | Updates an existing account in Freshworks CRM by its ID. |
| Appointment | Create an Appointment | Creates an appointment in Freshworks CRM. |
| Appointment | Delete an Appointment | Deletes an appointment in Freshworks CRM specified by its ID. |
| Appointment | Get an Appointment | Retrieves an appointment in Freshworks CRM specified by its ID. |
| Appointment | Get Many Appointments | Retrieves multiple appointments from Freshworks CRM. |
| Appointment | Update an Appointment | Updates an existing appointment in Freshworks CRM. |
| Contact | Create a Contact | Create a new contact in Freshsales CRM. |
| Contact | Delete a Contact | Delete an existing contact in Freshsales CRM by its ID. |
| Contact | Get a Contact | Get an existing contact in Freshsales CRM by its ID. |
| Contact | Get Many Contacts | List all contacts in Freshsales CRM with pagination. |
| Contact | Update a Contact | Update an existing contact in Freshsales CRM. |
| Deal | Create a Deal | Create a new deal in Freshsales CRM. |
| Deal | Delete a Deal | Delete an existing deal in Freshsales CRM by its ID. |
| Deal | Get a Deal | Retrieve an existing deal in Freshsales CRM by its ID. |
| Deal | Get Many Deals | Retrieve a list of deals in Freshsales CRM with pagination. |
| Deal | Update a Deal | Update an existing deal in Freshsales CRM. |
| Note | Create a Note | Create a new note associated with a specified object. |
| Note | Delete a Note | Delete a note in Freshsales CRM by its ID. |
| Note | Update a Note | Update a note in Freshsales CRM by its ID. |
| Sales Activity | Get a Sales Activity | Retrieve a specific sales activity by its ID. |
| Sales Activity | Get Many Sales Activities | Retrieve a paginated list of sales activities. |
| Search | Lookup a Search | Lookup records by query string, filter, and entity types. |
| Search | Query a Search | Search records by query string and specified entity types. |
| Task | Create a Task | Create a new task (sales activity). |
| Task | Delete a Task | Delete a task (sales activity) by its ID. |
| Task | Get a Task | Fetches the details of a task specified by its ID. |
| Task | Get Many Tasks | Fetches a list of tasks with pagination and filtering. |
| Task | Update a Task | Updates the details of a task specified by its ID. |
Operation Details
Create an Account
Creates a new account in Freshworks CRM.
Input Parameters:
- Name: Account name.
Options:
- Website: Account website URL (optional).
- AccountType: Account type (optional), Optional values: ("Customer", "Partner", "Reseller", "Vendor", "Competitor", "Prospect", "Other").
- Employees: Number of employees (optional).
- Phone: Phone number of the account.
Output:
- Account (object): The created account object.
- StatusCode (number): 201 indicates success, -1 indicates parameter error, other values indicate business or HTTP errors.
- ErrorMessage (string): Error message if any; empty if the operation succeeded.
Delete an Account
Deletes an existing account in Freshworks CRM by its ID.
Input Parameters:
- AccountId: ID of the account to delete.
Output:
- StatusCode (number): Operation status code: 204 indicates successful deletion, -1 indicates parameter error, 500 indicates exception, other values indicate HTTP error status.
- ErrorMessage (string): Error message if any; empty if the operation succeeded.
Get an Account
Retrieves an existing account from Freshworks CRM by its ID.
Input Parameters:
- AccountId: ID of the account to retrieve.
Output:
- Account (object): The retrieved account object.
- StatusCode (number): Operation status code: 200 for success, -1 for parameter error, 500 for exception, other values for HTTP error status codes.
- ErrorMessage (string): Error message if any; empty if the operation succeeded.
Get Many Accounts
Retrieves a paginated list of accounts from Freshworks CRM.
Options:
- Page: Page number to retrieve.
- PerPage: Number of accounts per page.
- ViewID: The ID of View.
Output:
- Accounts (object-array): List of account objects.
- Meta (object): Pagination metadata: page (integer): Current page number. page_size (integer): Number of records per page. total (integer): Total number of records.
- StatusCode (number): Operation status code: 200 for success, -1 for parameter error, 500 for exception, other values for HTTP error status codes.
- ErrorMessage (string): Error message if any; empty if the operation succeeded.
Update an Account
Updates an existing account in Freshworks CRM by its ID. Only provided fields will be updated.
Input Parameters:
- AccountId: ID of the account to update.
Options:
- Name: Updated account name.
- Description: Updated account description.
- Website: Updated account website URL.
- Phone: Updated phone number.
- Fax: Updated fax number.
- Twitter: Updated Twitter handle.
- Industry: Updated industry.
- Ownership: Updated ownership type.
- Employees: Updated number of employees.
- OwnerId: Updated owner ID.
- CustomUpdates: Custom Update Fields.
Output:
- Account (object): The updated account object returned by Freshworks CRM.
- StatusCode (number): Operation status code: 200 for success, -1 for parameter error, 500 for exception, other values for HTTP error status codes.
- ErrorMessage (string): Error message if any; empty if the operation succeeded.
Create an Appointment
Creates an appointment in Freshworks CRM.
Input Parameters:
- Title: Appointment title.
- FromDate: Appointment start datetime in ISO8601 format.
- EndDate: Appointment end datetime in ISO8601 format.
Options:
- TimeZone: Timezone of the appointment.
- Location: Appointment location.
- AppointmentAttendeesAttributes: JSON string of attendees list.
- Description: Appointment description.
Output:
- AppointmentAttendees (object-array): List of attendee objects.
- Users (object-array): List of user objects.
- Contacts (object-array): List of contact objects.
- Appointment (object): Created appointment object.
- StatusCode (number): HTTP status code or system code.
- ErrorMessage (string): Error message if any; empty on success.
Delete an Appointment
Deletes an appointment in Freshworks CRM specified by its ID.
Input Parameters:
- AppointmentId: ID of the appointment to delete, must be greater than 0.
Output:
- Deleted (bool): Indicates whether the appointment was successfully deleted.
- StatusCode (number): Operation status code: 204 for deletion success, -1 for parameter error, 500 for exception, other values for HTTP error codes.
- ErrorMessage (string): Error message if any; empty if the operation succeeded.
Get an Appointment
Retrieves an appointment in Freshworks CRM specified by its ID.
Input Parameters:
- AppointmentId: ID of the appointment to retrieve; must be greater than 0.
Output:
- Appointment (object): The retrieved appointment object.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter error, 500 indicates exception error, other values indicate HTTP error codes.
- ErrorMessage (string): Error message if any; empty when the operation succeeds.
Get Many Appointments
Retrieves multiple appointments from Freshworks CRM according to the specified filter and include parameters.
Options:
- FilterParam: Filter parameter for appointments; required; valid values are "open" or "complete".
- Include: Optional comma-separated list of associated resources to include: "creater", "targetable", "appointment_attendees".
Output:
- Users (object-array): List of embedded user objects when include contains "creater".
- Appointments (object-array): List of appointment objects.
- Meta (object): Pagination metadata, including total count and other pagination details.
- StatusCode (number): HTTP status code: 200 indicates success; -1 indicates parameter error; 500 indicates exception error; other values indicate HTTP error codes.
- ErrorMessage (string): Error message if any; empty when the operation succeeds.
Update an Appointment
Updates an existing appointment in Freshworks CRM specified by its ID and provided fields.
Input Parameters:
- AppointmentId: ID of the appointment to update; must be greater than 0.
Options:
- Title: Optional new appointment title.
- Description: Optional new appointment description.
- FromDate: Optional new start time in ISO 8601 format.
- EndDate: Optional new end time in ISO 8601 format.
- TimeZone: Optional time zone (e.g., "Asia/Shanghai").
- Location: Optional appointment location.
- AppointmentAttendeeIds: Optional comma-separated list of attendee IDs, (e.g., "94649, 94648, 94650").
Output:
- Appointment (object): The updated appointment object.
- StatusCode (number): Operation status code: 200 indicates success; -1 indicates parameter error; 500 indicates exception error; other values indicate HTTP error codes.
- ErrorMessage (string): Error message if any; empty when the operation succeeds.
Create a Contact
Create a new contact in Freshsales CRM using the provided contact properties.
Input Parameters:
- FirstName: Contact’s first name.
- LastName: Contact’s last name.
- Email: Contact’s email address.
Options:
- MobileNumber: Contact’s mobile phone number.
- Address: Contact’s address. Optional.
- JobTitle: Contact’s job title. Optional.
Output:
- Contact (object): Created contact object returned by Freshsales API.
- StatusCode (number): HTTP status code from API (200/201) or error codes (-1, 500).
- ErrorMessage (string): Error description if any.
Delete a Contact
Delete an existing contact in Freshsales CRM by specifying its contact ID.
Input Parameters:
- ContactId: ID of the contact to delete. Required.
Output:
- Deleted (bool): Indicates whether the contact was successfully deleted.
- StatusCode (number): HTTP status code: 204 if delete succeeded, 404 if not found, -1 for parameter error, 500 for exception.
- ErrorMessage (string): Error description if any.
Get a Contact
Get an existing contact in Freshsales CRM by specifying its contact ID.
Input Parameters:
- ContactId: ID of the contact to retrieve. Required.
Output:
- Contact (object): Retrieved contact object returned by Freshsales API.
- StatusCode (number): HTTP status code: 200 if successful, -1 for parameter error, 500 for exception.
- ErrorMessage (string): Error description if any.
Get Many Contacts
List all contacts in Freshsales CRM with pagination support.
Options:
- Page: Page number to retrieve.
- PerPage: Number of contacts per page.
- ViewID: The ID of view.
Output:
- Contacts (object-array): List of retrieved contact objects returned by the API.
- Meta (object): Pagination metadata: total numbers
- StatusCode (number): HTTP status code: 200 if successful, -1 for parameter error, 500 for exception.
- ErrorMessage (string): Error message if any.
Update a Contact
Update an existing contact in Freshsales CRM based on the contact ID. The API will update the contact with the provided fields.
Input Parameters:
- ContactId: The ID of the contact to update.
Options:
- FirstName: Contact's first name.
- LastName: Contact's last name.
- Email: Contact's email address, optional.
- MobileNumber: Contact's mobile number, optional.
- Address: Contact's address, optional.
- JobTitle: Contact's job title, optional.
- Facebook: Contact's Facebook profile, optional.
- Twitter: Contact's Twitter profile, optional.
- CustomUpdates: Custom Update Fields.
Output:
- Contact (object): The updated contact object returned by the API.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error.
- ErrorMessage (string): Error message if any, empty string if operation is successful.
Create a Deal
Create a new deal in Freshsales CRM with the provided fields.
Input Parameters:
- Name: Name of the deal.
- Amount: Value of the deal.
Options:
- BaseCurrencyAmount: Value of the deal in base currency
- Probability: The probability of winning the deal (number >=0 and <=100).
- SalesAccountID: ID of the account that the deal belongs to.
Output:
- Deal (object): The created deal object returned by the API.
- StatusCode (number): Operation status code: 201 indicates creation success, -1 indicates parameter validation error, 500 indicates exception error.
- ErrorMessage (string): Error message if any, empty string if operation is successful.
Delete a Deal
Delete an existing deal in Freshsales CRM identified by its ID.
Input Parameters:
- DealId: The ID of the deal to delete.
Output:
- Deleted (bool): Indicates whether the deal was successfully deleted.
- StatusCode (number): Operation status code: 204 indicates deletion success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error message if any, empty string if operation is successful.
Get a Deal
Retrieve an existing deal in Freshsales CRM identified by its ID.
Input Parameters:
- DealId: The ID of the deal to retrieve.
Output:
- Deal (object): The deal object returned by the API.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error message if any, empty string if operation is successful.
Get Many Deals
Retrieve a list of deals in Freshsales CRM with pagination support.
Options:
- Page: Page number to retrieve, starting from 1.
- PerPage: Number of deals to return per page.
- ViewID: The ID of View.
Output:
- Deals (object-array): The list of deal objects returned by the API.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error message if any, empty string if operation is successful.
Update a Deal
Update an existing deal in Freshsales CRM identified by its ID with provided fields.
Input Parameters:
- DealId: The ID of the deal to update.
Options:
- Name: Name of the deal
- Amount: Value of the deal
- BaseCurrencyAmount: Value of the deal in base currency.
- Probability: The probability of winning the deal (value >=0 and <=100).
- SalesAccountId: ID of the account that the deal belongs to.
- CustomUpdates: Custom Updates(JSON Format).
Output:
- Deal (object): The updated deal object returned by the API.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error message if any, empty string if operation is successful.
Create a Note
Create a new note in Freshsales CRM associated with a specified object.
Input Parameters:
- Description: Description of the note.
- TargetableId: ID of contact/account against whom note has been created
Options:
- TargetableType: String that denotes against which entity note has been created. Possible values are either "Contact" or "SalesAccount" or "Deal".
Output:
- Note (object): The created note object returned by the API upon success.
- StatusCode (number): Operation status code: 201 indicates successful creation, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if the operation is successful.
Delete a Note
Delete a note in Freshsales CRM identified by its ID.
Input Parameters:
- NoteId: The ID of the note to delete.
Output:
- Deleted (bool): Indicates whether the note was successfully deleted.
- StatusCode (number): Operation status code: 204 indicates deletion success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error message if any; empty string if the operation is successful.
Update a Note
Update a note in Freshsales CRM identified by its ID with provided content.
Input Parameters:
- NoteId: The ID of the note to update.
Options:
- Description: Description of the note.
- TargetableId: ID of contact/account against whom note has been created.
- TargetableType: String that denotes against which entity note has been created. Possible values are either "Contact" or "SalesAccount" or "Deal".
Output:
- Note (object): The updated note object returned by the API.
- StatusCode (number): Operation status code: 200 indicates update success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if the operation is successful.
Get a Sales Activity
Retrieve a specific sales activity in Freshsales CRM identified by its ID.
Input Parameters:
- ActivityId: The ID of the sales activity to retrieve.
Output:
- Activity (object): The sales activity object returned by the API.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if the operation is successful.
Get Many Sales Activities
Retrieve a paginated list of sales activities in Freshsales CRM.
Options:
- Page: Page number to retrieve, starting from 1.
- PerPage: Number of records per page.
Output:
- Activities (object-array): List of sales activity objects returned by the API.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if the operation is successful.
Lookup a Search
Lookup records in Freshsales CRM by query string, filter attribute, and entity types.
Input Parameters:
- Q: Query string for lookup search (e.g., phone number, name).
- FilterField: The field name to filter by (e.g., "Email, Name,Custom Field").
- Entities: Comma-separated list of entity types to search (e.g., "contact, deal, sales_account").
Output:
- Results (object): List of matching record objects, each object may contain fields such as id, type, and attributes of the entity.
- StatusCode (number): Operation status code: 200 indicates success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if successful.
Query a Search
Search records in Freshsales CRM by query string and specified entity types.
Input Parameters:
- Q: Search query string.
- Include: Comma-separated list of entities to include (e.g. "contact,deal,sales_account").
Options:
- PerPage: Number of results per page (1–100).
Output:
- Results (object-array): Array of matched record objects, each object may contain: id (string): Record ID type (string): Entity type, e.g. "contact" name (string): Display name email (string): Email address (if applicable) avatar (string): Avatar URL (if applicable)
- StatusCode (number): HTTP status code: 200 success, -1 parameter error, 500 exception error.
- ErrorMessage (string): Error description if any; empty string if successful.
Create a Task
Create a new task (sales activity) in Freshsales CRM.
Input Parameters:
- Title: Title of the task.
- DueDate: Timestamp that denotes when the task is due to be completed
- TargetableId: ID of contact/account against whom task has been created.
- TargetableType: String that denotes against which entity task has been created. Possible values are either "Contact" or "SalesAccount" or "Deal"
- OwnerId: ID of the user to whom the task has been assigned
Output:
- Task (object): The newly created task object returned by the API.
- StatusCode (number): Operation status code: 201 indicates creation success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if successful.
Delete a Task
Delete a task (sales activity) identified by its ID in Freshsales CRM.
Input Parameters:
- TaskId: The ID of the task (sales activity) to delete.
Output:
- Deleted (bool): Indicates whether the task was successfully deleted.
- StatusCode (number): Operation status code: 204 indicates deletion success, -1 indicates parameter validation error, 500 indicates exception error, other values correspond to HTTP status codes.
- ErrorMessage (string): Error description if any; empty string if successful.
Get a Task
Fetches the details of a task specified by its ID in Freshsales CRM. Supports embedding related resources using the include parameter.
Input Parameters:
- TaskId: The task ID to query.
Options:
- Include: Optional, comma-separated list of extended resources to include, e.g., users,targetable.
Output:
- Users (object-array): List of embedded user information.
- Contacts (object-array): List of embedded target contact information.
- Task (object): Task details object.
- StatusCode (number): Operation result code, 200 indicates success, -1 indicates parameter error, 500 indicates exception error.
- ErrorMessage (string): Error description, empty string when successful.
Get Many Tasks
Fetches a list of tasks from Freshsales CRM with support for pagination, sorting, and embedding related resources.
Options:
- Include: Optional, a comma-separated list of related resources to embed, e.g., users,contacts, owner.
- PageSize: Optional, number of items per page, default 25.
- PageNumber: Optional, page number to retrieve, default 1.
- Filter: Only one filter is allowed at a time. Getting multiple filtered tasks is not possible. For example, you can’t get both open and overdue tasks in a single request.
- Sort: Optional, field to sort by, prefix with - for descending order, e.g., due_date.
Output:
- Tasks (object-array): List of task objects.
- Users (object-array): List of embedded user information.
- Contacts (object-array): List of embedded contact information.
- Meta (object): Pagination metadata, such as total count and current page.
- StatusCode (number): Operation result code: 200 indicates success, -1 indicates parameter error, 500 indicates exception error.
- ErrorMessage (string): Error description, empty if successful.
Update a Task
Updates the details of a task specified by its ID in Freshsales CRM. Supports updating title, description, due date, owner, related entity, and collaborators.
Input Parameters:
- TaskId: The ID of the task to update.
Options:
- Title: Optional, new title for the task.
- Description: Optional, new description for the task.
- DueDate: Optional, new due date in ISO 8601 format.
- OwnerId: Optional, user ID of the new owner.
- TargetableId: Optional, ID of the related contact, account, or deal.
- TargetableType: Optional, type of related entity: Contact, SalesAccount, or Deal.
- TaskUsers: Optional, comma-separated list of collaborator user IDs (e.g., 1,2,3).
Output:
- Users (object-array): List of collaborator information.
- Task (object): The updated task object.
- StatusCode (number): HTTP status code: 200 for success, -1 for parameter errors, 500 for exceptions.
- ErrorMessage (string): Error message if the operation fails, empty on success.
5. Example Usage
This section guides you through creating a simple workflow to add a new contact to your Freshworks CRM.
Workflow Overview:
The workflow will consist of a Start node, a Freshworks crm: Create a Contact node, and an Answer node.
Step-by-Step Guide:
- Add the Tool Node:
- On your workflow canvas, click the "+" button to add a new node.
- Select the "Tools" tab in the pop-up panel.
- Find and select "Freshworks crm" from the list of tools.
- From the list of supported operations, click on "Create a Contact" to add the node to your canvas.
- Configure the Node:
- Click on the newly added "Create a Contact" node to open its configuration panel on the right.
- Credentials: In the credentials field at the top of the panel, click the dropdown menu and select your pre-configured Freshworks CRM credential.
- Parameters: Fill in the required input parameters for the contact.
- FirstName: Enter the first name of the contact, for example, "John".
- LastName: Enter the last name of the contact, for example, "Doe".
- Email: Enter the contact's email address, for example, "john.doe@example.com".
- Run and Validate:
- Once all required parameters are correctly filled, the error indicator on the top-right of the workflow canvas will disappear.
- Click the "Run" button on the top-right of the canvas to execute the workflow.
- After a successful run, you can click the log icon in the top-right corner to view the detailed inputs and outputs of the node, confirming that the contact was created successfully.
Final Workflow:
After completing these steps, your workflow is fully configured. When you run it, a new contact will be created in your Freshworks CRM account.
6. FAQs
Q: I'm getting a 401 or 403 error. What should I do?
A: These errors typically indicate an issue with your API credentials. Please check the following:
- Ensure your API key and domain are correct in the credential configuration.
- Verify that the user associated with the API key has the necessary permissions to perform the requested operation in Freshworks CRM.
Q: Why is my "Create a Contact" operation failing without a clear error message?
A: Make sure you have provided all the required input parameters (FirstName, LastName, Email). A missing required field is a common cause of failure. Also, ensure the email address is in a valid format.
Q: Can I update custom fields on a contact or deal?
A: Yes, you can use the CustomUpdates parameter available in the Update a Contact and Update a Deal operations. This parameter accepts a JSON string allowing you to specify the custom fields and their new values.
7. Official Documentation
For more in-depth information about the Freshworks CRM API, please refer to the Freshworks crm Official API Documentation.
Leave a Reply.