- Home
- Resources
- Integrations
- Freshworks CRM
Freshworks CRM n8n integrationAutomate Freshworks CRM with n8n.
Create, read, update or delete a record without opening the CRM. The Freshworks CRM n8n integration covers 32 operations over 8 resources: accounts, contacts, deals, appointments and notes. There is no trigger node here, so the workflow starts elsewhere and this one handles the CRM side.
Verified Trustpilot reviews · AI, automation & growth agency
What does the Freshworks CRM n8n integration actually give you?
The Freshworks CRM node is a direct line to the Freshworks CRM API from inside an n8n workflow. It exposes 32 operations over 8 resources, and each one maps to an object a sales team already knows: an account, a contact, a deal, an appointment, a note. You pick the resource, you pick the operation, you fill in the fields the node asks for, and the record moves without anyone opening the CRM.
Three shapes of workflow come back over and over. The first is inbound capture. A form, a chat or a landing page produces a lead, the workflow runs contact.create with First Name, Last Name and Email Address, then files the company with account.create so the sales team opens a complete record instead of a bare name.
The second is pipeline hygiene. A Schedule Trigger fires every morning, deal.getAll reads a saved view, and the workflow branches from there: deals that moved get deal.update, deals that closed get a short note.create summary attached to the right record. The CRM stops being the place where people forget to write things down.
The third is reporting and hand-off. Accounts and deals leave Freshworks CRM towards Google Sheets for a pipeline view the whole company can read, a digest goes out through Gmail, and a one-line message lands in Slack when a large deal is created. Marketing tools such as ActiveCampaign sit on the same bus, fed by the contact operations.
Two things are worth knowing before you build. Freshworks CRM has no trigger node in n8n, so nothing inside the CRM can start a workflow on its own: a Schedule Trigger at a fixed interval, an n8n Webhook called by another service, or the trigger of a different tool does that job. And anything outside the catalogue operations goes through the HTTP Request node, which calls any endpoint of the tool's API while reusing the same credential through predefined authentication.
Field by field, the node is generous: 24 optional entries on a new contact, 26 on a contact update, 17 on a new account. Most of the ID-shaped fields, owner, territory, lifecycle stage, deal stage, are dropdown lists that n8n loads from your account, so you are not keeping a spreadsheet of internal identifiers on the side. An expression such as {{ $json.field }}, which reads a value from the item arriving in the node, covers the rest.
How do you connect Freshworks CRM to n8n?
- 01
Generate your API key
Authentication runs on an API key. Freshworks CRM's own API authentication documentation walks through where to generate one for the account you want n8n to act as. Nothing extra is needed on the n8n side: the node ships with n8n, on n8n Cloud and on a self-hosted instance alike, with no install step and no additional cost.
- 02
Read your domain off the URL
The credential also asks for a Domain, and it wants the subdomain only. Freshworks CRM accounts live at an address of the form
subdomain.myfreshworks.com, so an account you reach athttps://n8n.myfreshworks.comis entered asn8n. Copy the piece that sits before the first dot, and stop there. - 03
Save the credential once
Open the Credentials menu in n8n, create a Freshworks CRM credential, paste the API Key and the Domain, save. A credential is set up once and reused everywhere: in the node, it shows up in a dropdown list, so there is no key to paste again for the second, fifth or tenth workflow you build on the same account.
What can the Freshworks CRM node do?
The Freshworks CRM node exposes 32 operations across 8 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Delete | Lookup | Query |
|---|---|---|---|---|---|---|---|
| Account | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Appointment | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Contact | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Deal | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Note | ✓ | ✓ | ✓ | ||||
| Sales Activity | ✓ | ✓ | |||||
| Search | ✓ | ✓ | |||||
| Task | ✓ | ✓ | ✓ | ✓ | ✓ |
Operations index
Account
5 operationsCreate an account
account.createWhat you see in n8n
Notes & use cases
Adds an account to Freshworks CRM. Only the name is mandatory, so a short web form is enough to open a clean record that the sales team can enrich later.
Key parameters
- Name: name of the account, the one required field, usually mapped from the incoming item with an expression such as
{{ $json.field }}. - Additional Fields: an optional collection of 17 entries, among them Website, Industry Type Name or ID, Number of Employees and Owner Name or ID, the user the account is assigned to.
Delete an account
account.deleteWhat you see in n8n
Notes & use cases
Removes one account from Freshworks CRM. The node works from the record identifier and not from the company name, so the id has to arrive from a lookup or from an earlier step of the workflow.
Key parameters
- Account ID: ID of the account to delete. Take it from a previous node with
{{ $json.field }}rather than typing it by hand, so the workflow stays reusable.
Get an account
account.getWhat you see in n8n
Notes & use cases
Reads a single account back out of Freshworks CRM. This is the usual way to give a workflow the context the triggering system never had, since a form or a payment webhook rarely knows who owns the account.
Key parameters
- Account ID: ID of the account to retrieve, the only field the operation needs.
Get many accounts
account.getAllWhat you see in n8n
Notes & use cases
Pulls a list of accounts, scoped by a view. Views are the saved lists configured inside Freshworks CRM, and the node asks for one before it returns anything.
Key parameters
- View Name or ID: required. Pick the view from the list, or pass its ID with an expression.
- Return All: switched on, n8n chains the API pages until the whole view has come back; switched off, Limit caps how many accounts the node returns.
Update an account
account.updateWhat you see in n8n
Notes & use cases
Changes fields on an account that already exists. Nothing is mandatory beyond the identifier, so a workflow can touch a single field and leave the rest of the record alone.
Key parameters
- Account ID: ID of the account to update.
- Update Fields: a collection of 18 entries, including Name, Annual Revenue, Territory Name or ID and Parent Sales Account ID, which points at the parent account of the record.
Appointment
5 operationsCreate an appointment
appointment.createWhat you see in n8n
Notes & use cases
Books an appointment in Freshworks CRM straight from a workflow. Three fields carry the meeting: a title and two timestamps.
Key parameters
- Title, Start Date and End Date: the title plus the timestamps that denote the start and the end of the appointment. On an all-day appointment they hold the start date and the end date.
- Additional Fields: 9 entries, including Is All-Day, Location, Time Zone, plus Target Type and Target ID, the record the appointment is created against.
Delete an appointment
appointment.deleteWhat you see in n8n
Notes & use cases
Drops one appointment from Freshworks CRM. Useful when the cancellation happens somewhere else than the CRM, which is what usually goes wrong with meetings booked through an external page.
Key parameters
- Appointment ID: ID of the appointment to delete. It comes from the item that created the meeting, kept in a spreadsheet row or in a database alongside the booking reference.
Get an appointment
appointment.getWhat you see in n8n
Notes & use cases
Fetches one appointment by its identifier. Handy in the middle of a workflow, when a later step needs the details of the meeting rather than just its reference.
Key parameters
- Appointment ID: ID of the appointment to retrieve, the single field the operation requires.
Get many appointments
appointment.getAllWhat you see in n8n
Notes & use cases
Lists appointments, with two filters that make the result usable instead of overwhelming. No field is required, so the operation runs as soon as it is dropped in a workflow.
Key parameters
- Time:
upcomingorpast, the filter that decides which side of today you are reading. - Include: pulls related data along with each appointment, either
appointment_attendees,createrortargetable. - Return All: on, every page is chained; off, Limit caps the number of appointments returned.
Update an appointment
appointment.updateWhat you see in n8n
Notes & use cases
Edits an appointment already in the calendar, from its identifier. Everything else is optional, which is what makes rescheduling cheap to automate.
Key parameters
- Appointment ID: ID of the appointment to update.
- Update Fields: 13 entries, including Start Date, End Date, Location, Attendees and Outcome Name or ID, the outcome of the Appointment sales activity type.
Contact
5 operationsCreate a contact
contact.createWhat you see in n8n
Notes & use cases
Files a new person in Freshworks CRM. Three fields are required, and they are the three a lead form collects anyway.
Key parameters
- First Name, Last Name and Email Address: the identity of the contact, typically mapped from the form payload with
{{ $json.field }}. - Additional Fields: 24 optional entries, among them Job Title, Mobile Number, Lifecycle Stage Name or ID, Medium and Sales Account Names or IDs, the accounts the contact belongs to.
Delete a contact
contact.deleteWhat you see in n8n
Notes & use cases
Erases a contact record from Freshworks CRM. The identifier is the only thing standing between the workflow and the deletion, so this one is worth guarding with an IF node upstream.
Key parameters
- Contact ID: ID of the contact to delete, read from a lookup or carried along by the item that started the run.
Get a contact
contact.getWhat you see in n8n
Notes & use cases
Looks up one contact and brings the record into the workflow. The step that turns an identifier into something a message or a report can actually use.
Key parameters
- Contact ID: ID of the contact to retrieve.
Get many contacts
contact.getAllWhat you see in n8n
Notes & use cases
Returns contacts in bulk. Nothing is required here, and the view is optional, which makes this the operation to reach for when you want a whole segment rather than one person.
Key parameters
- View Name or ID: optional. Point at a saved list, or leave it empty to read more broadly.
- Return All: on, n8n chains the API pages to the end of the list; off, Limit sets the maximum number of contacts returned.
Update a contact
contact.updateWhat you see in n8n
Notes & use cases
Rewrites fields on an existing contact. The widest update surface in the node, and the one that keeps a CRM honest between two manual reviews.
Key parameters
- Contact ID: ID of the contact to update, the only required field.
- Update Fields: 26 entries, including Contact Status Name or ID, Owner Name or ID, Subscription Status Name or ID, Job Title and Territory Name or ID.
Deal
5 operationsCreate a deal
deal.createWhat you see in n8n
Notes & use cases
Opens a deal in the pipeline. Two required fields, a name and an amount, and the opportunity exists where the forecast is read.
Key parameters
- Name and Amount: the label of the deal and its value, both required.
- Additional Fields: 14 entries, including Deal Pipeline Name or ID, Deal Stage Name or ID, Sales Account Name or ID, Currency Name or ID and Probability, a number between 0 and 100.
Delete a deal
deal.deleteWhat you see in n8n
Notes & use cases
Takes a deal out of Freshworks CRM for good. Distinct from marking it lost, which is a stage change and belongs to the update operation.
Key parameters
- Deal ID: ID of the deal to delete.
Get a deal
deal.getWhat you see in n8n
Notes & use cases
Retrieves one deal from its identifier, so the rest of the workflow can branch on what the record actually says rather than on what the trigger assumed.
Key parameters
- Deal ID: ID of the deal to retrieve, the single required field.
Get many deals
deal.getAllWhat you see in n8n
Notes & use cases
Walks through a list of deals. This is the reporting workhorse of the node, and the one place where the pagination switch really matters.
Key parameters
- View Name or ID: optional. A saved view narrows the read to the deals you care about.
- Return All: on, every page of the API is chained until the list is complete; off, Limit fixes the maximum number of deals the node hands to the next step.
Update a deal
deal.updateWhat you see in n8n
Notes & use cases
Moves a deal along, or corrects it. Stage, amount and owner all live in the same optional collection, so one node can handle several kinds of change.
Key parameters
- Deal ID: ID of the deal to update.
- Update Fields: 16 entries, including Amount, Deal Stage Name or ID, Probability and Deal Reason Name or ID, the reason for losing the deal, which can only be set on a deal in the Lost stage.
Note
3 operationsCreate a note
note.createWhat you see in n8n
Notes & use cases
Attaches a written note to a record. All three fields are required, because a note without a target has nowhere to live.
Key parameters
- Content: the content of the note.
- Target Type: the kind of entity the note belongs to,
Contact,DealorSalesAccount. - Target ID: the ID of that entity, of the type chosen just above.
Delete a note
note.deleteWhat you see in n8n
Notes & use cases
Deletes a note from Freshworks CRM. Small operation, real use: automated notes pile up fast, and a workflow that writes them should usually know how to take them back.
Key parameters
- Note ID: ID of the note to delete, kept from the step that created it.
Update a note
note.updateWhat you see in n8n
Notes & use cases
Corrects a note after the fact, or moves it to another record. Three optional fields, one required identifier.
Key parameters
- Note ID: ID of the note to update.
- Update Fields: 3 entries, Content, Target Type and Target ID, which together let a note be rewritten or re-attached to a different entity.
Sales Activity
2 operationsGet a sales activity
salesActivity.getWhat you see in n8n
Notes & use cases
Reading one sales activity means naming it by its identifier, and the node hands that single record to the rest of the workflow.
Key parameters
- Sales Activity ID: the ID of the sales activity to retrieve. Type it in, or pull it from the item coming into the node with an expression, the n8n syntax that reads a value from the previous step, written
{{ $json.field }}. Left empty, a required field stops the node before it calls Freshworks CRM.
Get many sales activities
salesActivity.getAllWhat you see in n8n
Notes & use cases
The list side of the same resource. Rather than one identifier, the node brings back several sales activities in a single execution, each one as its own item for the following steps.
Key parameters
- Return All: switched on, n8n chains the pages of the API until every sales activity has come through.
- Limit: only read when Return All stays off, and it caps how many sales activities land in the workflow.
Search
2 operationsQuery a search
search.queryWhat you see in n8n
Notes & use cases
Search covers several kinds of Freshworks CRM records at once. You give a term, you tick the record types it applies to, and each match arrives as a separate item.
Key parameters
- Search Term: the term used for searching entities, often built from an incoming value with an expression such as
{{ $json.field }}. - Search on Entities: the types the search runs against, among
contact,deal,sales_accountanduser. Several can be ticked together. - Return All and Limit: every match, or a capped number of them.
Lookup a search
search.lookupWhat you see in n8n
Notes & use cases
Lookup starts from an exact value, not a loose term: pick the field it searches against, give the value, and matching records come back.
Key parameters
- Search Field:
email,name, orcustomField, the last one being allowed only on custom fields of type Text field, Number, Dropdown or Radio button. - Custom Field Name and Custom Field Value: the custom field targeted and the value looked for.
- Field Value: the value searched for on the selected field.
- Entities, in Options: related entities queried at once, among
contact,dealandsales_account. The field has to exist in each, otherwise the API returns an error.
Task
5 operationsCreate a task
task.createWhat you see in n8n
Notes & use cases
A task is created in Freshworks CRM and attached to the record it concerns, which is why five fields are required.
Key parameters
- Title: the title of the task.
- Due Date: the timestamp that says when the task is due to be completed.
- Owner Name or ID: the user the task is assigned to, chosen in the list or set with an expression.
- Target Type:
Contact,DealorSalesAccount. - Target ID: the ID of that entity, whose type comes from Target Type.
- Additional Fields: Creator Name or ID, Outcome Name or ID, Task Type ID.
Delete a task
task.deleteWhat you see in n8n
Notes & use cases
One identifier, and the task leaves the CRM. No other field takes part, so the whole question is where that identifier comes from.
Key parameters
- Task ID: the ID of the task to delete. Coming from a previous step, it reads as an expression like
{{ $json.field }}, and a required field left empty blocks the execution.
Get a task
task.getWhat you see in n8n
Notes & use cases
Before touching a task, many workflows read it first. That single read is what this operation does: one identifier in, one task record out.
Key parameters
- Task ID: the ID of the task to retrieve, typed in the field or resolved from the incoming item.
Get many tasks
task.getAllWhat you see in n8n
Notes & use cases
Filtering is what makes this list genuinely useful rather than a wall of tasks. The node returns tasks as items, and the Filters collection narrows the set before it reaches the next step.
Key parameters
- Status, in Filters:
completed,due_today,due_tomorrow,openoroverdue. - Include, in Filters:
owner,targetableorusers. - Return All: on, n8n walks the pages until the last task; off, Limit caps the number of tasks returned.
Update a task
task.updateWhat you see in n8n
Notes & use cases
Editing an existing task works on one identifier plus the fields you decide to touch. Everything you leave out of the Update Fields collection stays as it is in Freshworks CRM.
Key parameters
- Task ID: the ID of the task to update, the only required field.
- Update Fields: Title, Due Date, Owner Name or ID, Creator Name or ID, Outcome Name or ID, Task Type ID, Target Type and Target ID. Target Type sets the kind of entity, Target ID names it.
Need help automating Freshworks CRM with n8n?
A person reads every message.



