Freshsales is a CRM and is part of the broader Freshwork suite. With Freshpaint and Freshsales together, you can sync users in Freshpaint to contacts and leads in Freshsales.

Destination Information





Getting Started

To set up the Freshsales integration, do the following steps:

  1. Go to Freshsales and navigate to Settings > API Settings.

  2. Copy and paste your API Key, along with your Freshsales subdomain into Freshpaint. Your Subdomain is the part of the URL before

  3. If you are using Freshsales Classic (October 2020 and previous), check the Freshsales Classic option.

  4. That's it! You should now see the Freshsales destination enabled in Freshpaint.


When you call freshpaint.identify, Freshpaint will create or update either a lead or a contact in Freshsales by calling their leads API endpoint at: https:/<yourdomainhere>/crm/sales/api/leads/upsert or by calling their contacts API endpoint at: https:/<yourdomainhere>/crm/sales/api/contacts/upsert.

In order for Freshsales to properly merge users together, you must use email as your user identifier in Freshpaint.

If you are using Freshsales Classic (October 2020 and previous), by default, Freshpaint will create users as leads. If you would like to create users as contacts instead pass the property:

fs_contact: true

If you are using the newer version of Freshsales (post October 2020), it does not have a separate concept of leads. You will need to pass in "fs_contact": true in order for the contact to be created in Freshsales.

Any user properties passed to Freshpaint will be mapped to the corresponding Freshsales property with the same builtin name. You can see a list of the properties Freshsales supports for leads here and for contacts here.

You can read more about identifying contacts and leads in Freshsales here.


When you send an event to Freshsales, Freshpaint will create a sales activity in Freshsales by calling their sales activity API endpoint at: /api/sales_activities

You can view your sales activities by going to Settings > Manage Sales Activities

Events sent to Freshsales will show up as sales activities under your contact. In order for an event to show up as a sales activity, Freshsales needs a few things:

Sales Activity Type ID

Events must have one of the following:

1. The event has a "sales_activity_type_id": <number> property corresponding to one of the default sales activity types or a custom sales activity type you've created in your account. Note the value must be a number.


2. The name of the event must match the internal name of a sales activity type.

Freshsales is unable to process events that do not have a sales activity type provided in one of these two ways

See Freshsales' documentation for more about sales activity types.

User identity (email address)

In order for Freshsales to properly associate the sales activity with a user in Freshsales, you must first identify the user with the email of the user.

Freshsales is unable to process events that are not associated with users identified by an email address.

If you are using an older version of Freshsales (October 2020 and previous), by default, Freshpaint will attach the sales activity to a lead with the user's email. If you add the property "fs_contact": true as an event property and Freshpaint will attach the event to a contact with the user's email instead.

If you are using a newer version of Freshsales, there is only the concept of contacts - you must add the property"fs_contact": true as an event property in order for a contact to be created.

Configuration Options

Connection Mode Settings

Only server-side connection mode is available for this destination. All events will be sent to Freshsales using Freshpaint's servers. Your website will not send data directly to Freshsales.

Event Transformations

Set up transformations to modify your data before it's sent to your destination. Read more about transformations here.

Last updated