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):
- Select + where the step should go. In the step picker, open Apps, select Freshsales, then Create a contact. Or search Freshsales.
- In Connection, choose your Freshsales connection.
- 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.
- 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.
- 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:
- In Contact (or Account, Deal), the record's id — The contact's id. For example 16000123456, or the
idfrom a trigger. - 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:
- 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.
- Fill in the other fields. The output's
outcomesays created or updated.
Find contacts, accounts or deals:
- 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.
- In Sort by, Last updated (the default) or Created; in Order, Newest first or Oldest first.
- 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.
- 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.
- Add Freshsales · Add to a sales sequence.
- In Contact, the contact's id or email — The contact's id, or its email.
- 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.
- 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:
- Add Create a record, Update a record, Create or update a record or Find records.
- 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.
- 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.
- For Update a record, Record — the record's id.
- 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.
- 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:
- In Record type, choose the type, and in Record, the id. Notes cannot be read back.
Add a note:
- In On, choose A contact, An account or A deal.
- In Record, its id; in Note, the text — Call with Northwind Logistics went well.
Associate records:
- In Link, choose A contact with an account, A deal with a contact or A deal with an account.
- 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 andfirst. When nothing matches, the run goes down When nothing is found instead, withfoundset 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. |