Skip to Content
IntegrationsFreshsales

Freshsales

Connect a Freshsales (Freshworks CRM) account to keep your CRM records in sync and react to changes. metamorphOS creates and updates contacts, deals, and accounts, adds notes, and can start a process when a Freshsales workflow reports that a deal has changed.

What you can do

  • Contacts: create, look up, and update contacts.
  • Deals: create, look up, and update deals, and list the deals in a saved view.
  • Accounts: create a sales account.
  • Notes: attach a note to a contact, deal, or account.
  • Deal-change events: trigger a process automatically when a Freshsales workflow fires on a deal (for example, when a deal is updated).

Before you start

You need a Freshsales (Freshworks CRM) account and a user that can read and write contacts, deals, accounts, and notes. Your API key inherits that user’s permissions, so pick a user with the access you need.

Set up Freshsales

  1. Get your API key. Click your profile picture, then go to Settings → API Settings. Freshsales shows your personal API key there; copy it.
  2. Note your account domain. Your account lives at a your-subdomain.freshsales.io address, shown in your browser’s address bar while you are signed in (for example, acme for acme.freshsales.io). You supply this subdomain when connecting.
  3. Create a deal webhook (optional). To trigger a process when a deal changes, go to Admin Settings → Workflows → Create Workflow, target the Deals module, choose a trigger such as on deal updated, and add a Trigger Webhook action. Set the request type to POST, send JSON, and include the deal’s id in the payload. Point the callback URL at the address metamorphOS provides, and add a custom header named X-Webhook-Token with a long, random secret value. Save and activate the workflow.

Connect in metamorphOS

Activate the Freshsales connector from the marketplace, add an account, and provide:

  • API key: the key from your Freshsales API Settings.
  • Account subdomain: your Freshsales subdomain (for example, acme). Each account can point at a different Freshsales account.

Receive deal-change events

To start a process when a deal changes, set up the workflow webhook described in the setup steps above, then give metamorphOS the matching secret:

  • Store the same value you entered in the workflow’s X-Webhook-Token header as the connector’s webhook signing secret on the account.
  • On every delivery, metamorphOS checks the incoming token against that stored secret and rejects any delivery that does not match.

Good to know

  • Freshsales workflow webhooks are not cryptographically signed. Authentication relies on the shared token you set in the X-Webhook-Token header, so always use an HTTPS callback URL and rotate the secret as needed.
  • Listing deals requires a Freshsales saved view; supply the view’s id, which you can find in the CRM’s deal list views. There is no way to enumerate views.
  • Adding a note requires choosing whether it attaches to a contact, a deal, or a sales account.
  • There are no delete actions, and custom deal fields are specific to each Freshsales account, so they may need adjusting before an update writes them.
Last updated on