The Freshsales steps add, change and find records in your Freshsales account. Contacts, accounts and deals each have steps of their own; a set of record steps with a Record type list covers tasks, appointments, notes, your custom modules — and the three core types too. Fields are read from your account, custom fields included.

For Steps
Contacts Create a contact — Adds a contact, with the fields you fill in · Update a contact — Changes the fields you fill in on a contact · Create or update a contact — Updates the contact with this email, or adds one when there is none · Find contacts — Contacts whose fields hold the values you give · Add to a sales sequence — Puts a contact into a sales sequence, through the field its entry condition watches
Accounts Create an account — Adds an account — a company you sell to · Update an account · Create or update an account — Updates the account with this name, or adds one when there is none · Find accounts
Deals Create a deal — Adds a deal, in the stage you choose · Update a deal — Changes the fields you fill in on a deal — its stage, its value · Find deals
Any type Create a record — Adds a task, an appointment, a note or any other record · Update a record · Create or update a record — Updates the record whose field holds this value, or adds one · Find records · Get a record — A record's fields, by its type and id · Delete a record — Deletes a record of any type, by its id
Links Add a note — Adds a note to a contact, an account or a deal · Associate records — Links a contact to an account, or a deal to a contact or an account

Every step that writes is tagged Changes data; Delete a record is tagged Deletes data. Deals have no field that tells one from another, so they have no Create or update of their own — use Create or update a record with a unique field.

Who can do this

Workspace Admins and Editors. Freshsales is a premium service, marked ◇: on the Free plan its steps say On any paid plan. You can build and test it now; publishing needs a paid plan.

Before you start

A Freshsales connection in this workspace — see Connect Freshsales.

Steps

Create a contact (an account or a deal works the same way):

  1. Select + where the step should go. In the step picker, open Apps, select Freshsales, then Create a contact. Or search Freshsales.
  2. In Connection, choose your Freshsales connection.
  3. Under Fields, each row is one of the contact's fields, by the label your account gives it, with what it takes beside it — text · required, choice — Lead, Customer, person — name or email, date, true or false. Required ones come first. The account's contact fields, required ones first. A choice takes its words, an owner a name or email, a date 2026-10-09.
  4. Fill in the rows you need — First name Rohan, Last name Mehta, Emails rohan@consulace.com, Owner asha@consulace.com. Empty rows are left out.
  5. Select Run this step to try it. This makes a real contact.

For a deal: The account's deal fields, required ones first. Deal stage takes the stage's name — Proposal sent.

Update a contact, account or deal:

  1. In Contact (or Account, Deal), the record's id — The contact's id. For example 16000123456, or the id from a trigger.
  2. Fill in only the rows that should change — Only the fields you fill in change; a value an earlier step did not give leaves its field as it is.

Create or update a contact or an account:

  1. For a contact, in Email, the email — rohan@consulace.com. For an account, in Name, the name — Northwind Logistics. The contact is matched by it.
  2. Fill in the other fields. The output's outcome says created or updated.

Find contacts, accounts or deals:

  1. Under Fields equal, add a row for each field to find by: the field as Freshsales labels it, and the value — Emails and rohan@consulace.com, or Deal stage and Proposal sent. A field (as Freshsales labels it) and the value it must hold, a line each — every line must match. Select Add a field for another row.
  2. In Sort by, Last updated (the default) or Created; in Order, Newest first or Oldest first.
  3. In Most contacts (or Most accounts, Most deals), how many at most — Up to 1,000. It starts at 100.

Add a contact to a sales sequence:

Freshsales has no way for another app to enrol a contact in a sequence. So this step sets a contact field, and the sequence enrols whoever that field matches.

  1. In Freshsales, make a contact field for it — a dropdown named Sequence, say; it can be hidden — and set the sequence to add contacts by condition: that field equals a value, such as Northwind onboarding.
  2. Add Freshsales · Add to a sales sequence.
  3. In Contact, the contact's id or email — The contact's id, or its email.
  4. In Sequence field, choose the field — Freshsales' API cannot enrol a contact directly. Make a contact field (hidden is fine) and set the sequence to add contacts by condition — this field equals the value below. Bizomate sets the field; Freshsales enrols the contact.
  5. In Sequence, the value the condition looks for — Northwind onboarding. The value the sequence's entry condition looks for — for a dropdown field, one of its choices.

Tasks, appointments, notes and custom modules:

  1. Add Create a record, Update a record, Create or update a record or Find records.
  2. In Record type, choose Tasks, Appointments, Notes — or Contacts, Accounts, Deals, or one of your custom modules, marked Custom module. The fields load for that type.
  3. Fill in the fields. The type's fields, required ones first. Related to takes Contact, Account or Deal; Related record id that record's id. A task needs Title, Due date, Related to and Related record id; an appointment Title, Starts and Ends; a note Note, Related to and Related record id.
  4. For Update a record, Record — the record's id.
  5. For Create or update a record, choose Match on — A field whose value is unique — an email, or a custom field marked unique. Give it a value in the fields below. It works for contacts, accounts, deals and custom modules — Freshsales cannot look tasks, appointments or notes up by a field.
  6. For Find records with tasks, choose Tasks — Open (the default), Due today, Due tomorrow, Overdue or Completed; with appointments, Appointments — Upcoming or Past. Fields equal narrows them further, and is needed for contacts, accounts, deals and custom modules.

Get a record, Delete a record:

  1. In Record type, choose the type, and in Record, the id. Notes cannot be read back.

Add a note:

  1. In On, choose A contact, An account or A deal.
  2. In Record, its id; in Note, the text — Call with Northwind Logistics went well.

Associate records:

  1. In Link, choose A contact with an account, A deal with a contact or A deal with an account.
  2. Fill in the boxes it shows — Contact (its id or email), Deal and Account (their ids).

Output

Step What it gives
Create, Update, Create or update, Get a record The record — id, url (its page, https://consulace.myfreshworks.com/crm/sales/contacts/16000123456), each field by Freshsales' API name (first_name, email, owner_id), custom fields (cf_plan) beside them, createdAt and updatedAt. A deal also gives stageName beside deal_stage_id. A task, appointment or note's url is the page of the record it is about.
Create or update The record, and outcome — created or updated.
Find contacts, Find accounts, Find deals, Find records count, the list — contacts, accounts, deals or records — and first.
Add a note The note — id, url (the record it is on), description and its other fields.
Add to a sales sequence contactId, sequenceId (the value set) and added (true).
Associate records linked (true) and the two ids — contactId and accountId, dealId and contactId, or dealId and accountId.
Delete a record id and deleted (true).

Good to know

  • Find gives one item, with count, the list and first. When nothing matches, the run goes down When nothing is found instead, with found set to false — see When a Find step finds nothing.
  • Find tasks and appointments reads the list you choose and checks Fields equal on it. Notes cannot be listed.
  • Create or update looks the record up first, so the output can say which it did. If several match, the most recently updated one is changed.
  • Associate records keeps what is there. A contact keeps its other accounts — the new one is primary only if it had none — and a deal keeps its other contacts. A deal has one account, so linking replaces it.
  • Values are turned into each field's type: a choice by its words, several choices with commas between, an owner by name or email, a date as 2026-10-09, a date and time as 2026-10-09 15:00.
  • After a field changes in Freshsales, select Refresh columns on Fields.
  • Delete a record cannot be undone from Bizomate.
  • On the Free plan, publishing stops with "“Create a contact” needs a paid plan. Change the plan, or remove it and publish the rest." Tests work on any plan.

If something goes wrong

What you see Why What to do
Contact “…” is not a Freshsales id — a number, like 16000123456. The id box came out as something else. Check the value it reads.
Fill in at least one field. or Give a new value for at least one field. A Create or Update step has nothing filled in. Fill in the fields.
Give at least one condition — Freshsales finds records by their fields. Fields equal is empty. Add a row.
Freshsales has no field “…” on contacts. Refresh the fields and choose again. The field was renamed or deleted, or the row's name is misspelt. Select Refresh columns, and use the label exactly.
Deal stage has no choice “…” — its choices are: New, Proposal sent, Won. A value is not one of the field's choices. Use one it lists.
Freshsales has no user “…” on consulace.myfreshworks.com. or Several users on consulace.myfreshworks.com are called “…”. Give their email instead. The owner could not be told from the name. Give the user's email.
Due date needs a date and time, like 2026-10-09 15:00 — “…” is not one. A value does not fit its field. Give a value of that type.
Give Emails a value in the fields — the record is matched on it. Create or update a record has no value for the Match on field. Fill in that field.
Freshsales cannot look tasks up by a field, so they can be created or updated by id only. Create or update a record was given tasks, appointments or notes. Use Create a record or Update a record.
Freshsales cannot list notes. Get one by the record it is on instead. or Freshsales cannot read a note back by its id. Notes cannot be found or read back. Keep the note's id from the step that made it.
Freshsales has no contact with the email …. or Several contacts have the email …. Give the contact's id instead. Contact was given as an email that matches none, or several. Give the contact's id.
Could not load the columns — "Freshsales refused: … Check the connection's details on Connections. What you mapped is kept." The key was reset. Select Reconnect, or replace the key on Connections.
Nothing to pick — "This account has no deal stages. Add a pipeline in Freshsales." There is nothing in Freshsales to choose. Add it in Freshsales, then Refresh.
"Could not reach Freshsales: …" or "Freshsales did not answer within 30 seconds." Freshsales could not be reached. The step can try again — see Make a step try again when it fails.