​ is an all-in-one messaging platform. You can schedule emails, SMS messages, and more with
Freshpaint helps teams manage and control their customer data. Freshpaint automatically captures every click, pageview, and form submission on your site. This makes it possible for non-technical users to route data from Freshpaint to any marketing or analytics platform.
With Freshpaint and, you can use Freshpaint to attach user metadata and trigger events in to create customized messaging campaigns for your customers.

Destination Info


Getting Started

Before you can pass Freshpaint data to, you'll need to install the Freshpaint javascript SDK and have identify calls set up.
2. Insert your Site ID and Secret API Key. These can be found in under Data & Integrations > Integrations > API
3. That's it! You should now see the enabled status next to
You'll have to enable events in the start sending them to


When you call identify(), if the user already exists, Freshpaint will attach the provided user properties to the corresponding user as customer attributes by calling's single request endpoint for their track api at endpoint: /api/v1/customers.
If the user does not exist, Freshpaint will create the user in
If your account supports both email and id as identifiers in (this is the default setting for accounts created after June 2021), you can identify users using either one.
You can look at all the attributes collected with the user profile in Data & Integrations > Data Index.
If you want to add a custom user property, you just have to add it into the $user_props object in your identify. For example,
freshpaint.identify("userId1234", {
  "token": "<your_env_id>",
  "time": 1676399027,
  "distinct_id": "[email protected]",
  "$device_id": "00000000-0000-0000-0000-00000000",
  "$user_props": {
    "firstname": "John",
    "lastname": "Doe",
    "customProp": 12345

Unsubscribe Users

You can unsubscribe users in by simply adding the unsubscribed: true key value pair to the identify call. For example,
freshpaint.identify("userId1234", {
"email": "[email protected]",
"unsubscribed": true


Freshpaint events will be sent to as Events by hitting their track API endpoint at:{identifier}/events
Make sure the identify call has gone out with either the email or id property prior to sending events to this destination. Anonymous events are only stored in for 30 days.
You can send anonymous events to containing an anonymous_id. When you set the anonymous_id on a person, we associate those anonymous events with a person. This lets you log events before people log in, sign up, or are otherwise identified, and then attribute those events to people after you identify them.
You can view all recent events in's Activity Logs.

Turn on anonymous event merging

When you create a new workspace, anonymous event merging is on by default. If you created your workspace before July 2021, you must enable Anonymous event merging to associate anonymous events with people you identify.
  1. 1.
    Go to Settings > Workspace Settings.
  2. 2.
    Scroll down to Merge Settings and click Settings.
  3. 3.
    Turn on the Anonymous event merge setting.


Freshpaint will automatically send all page view events to Page views show up in as events with the URL of the page as the name of the event.

Configuration Settings

Connection Mode Settings

Both client side and server side connections modes are available for this destination. You can read more about connection modes here.

Event Transformations

Set up transformations to modify your data before it's sent to your destination. Read more about transformations here. Limits has limits on the data collected by their track API. If you are using Freshpaint's HTTP API to send a batch of events to at once, make sure you throttle the import to 100-200 requests per second. Below are the payload size limits for their track API.

User Limits limits user traits as listed below, referred to as Customers in
Data Type
150 bytes
Max length of a person's ID value
Attribute Name
150 bytes
Max length of each attribute name
Attribute Value
1000 bytes
Max length of attribute values
Unique attributes
Max number of attributes allowed per person or Identify call
See's documentation for more information.

Track API Event Rate Limits

Data Type
Event Name
100 bytes
Max length of each event name
Event Data
100000 bytes
Max length of each event data
See's documentation for more information.