Workflows in Freshsales allow you to automate actions as soon as an event trigger occurs or at a specific date/time. You can automatically update field properties, send email alerts, create follow-up tasks, and send notifications to third-party apps via webhooks.


You can use the readily available workflow templates and alter them to suit your use-cases. These templates can be found under Admin settings > Teams & Territories > Workflows:


You can click on the Preview button to look at the workflows's structure and setup. Clicking on the "enable" button enables the workflow template into live action. You can also choose to make changes to the template, Save the workflow as draft and deploy it when necessary.


Alternatively, you can choose to manually tailor-make your workflows. Here's how you do it:

WORKING EXAMPLE: To understand workflows better, let’s consider a simple example. Let’s consider that you would like to send an automated welcome email to new prospects created every day. 

Refer to the blue box throughout this article to understand step-by-step how this working example is configured in a workflow.


1. Go to Admin Settings > Teams & Territories>  Workflows. This opens the workflows page from where you can configure workflows. You can either opt to create a workflow or choose from the Workflow templates on this page.  

In the case of our example, let’s opt to create a workflow from scratch.

Working Example Step 1(WES 1): Select Contact when configuring your workflow



2. Click . This opens the page where you can configure a workflow from scratch.

3. Give your Workflow a name and a description and select the module on which you plan to run the workflow. You can choose between one of the following modules: 

  • Contacts

  • Accounts

  • Deals

  • Tasks

  • Meetings

  • Call logs

  • Custom modules

WORKING EXAMPLE: In the case of our example, let’s opt to create a workflow from scratch.

Working Example Step 1(WES 1): Select Contact when configuring your workflow


NOTE: Once a module is selected, and other conditions are set in place, you cannot switch to other modules. Trying to do so will erase all conditions and triggers set in place for the module.



4. Configuring your workflows consists of setting up three components:

  1. Triggers

  2. Conditions
  3. Actions

  • Triggers: Triggers define the frequency with which the workflow is to be activated for a record. Choose between triggers that run on a record when it is created or updated or run periodically— say monthly, weekly, or yearly. Similarly, you can also opt to run the workflows only once for the record or recurrently. Here are the triggers that are offered:

    • Based on record action (Availability: Growth plan onwards)—

      • When the record is created: The Workflow is executed only when the record is created.

      • When the record is created or updated: The Workflow is executed every single time the record is created or updated to modify the fields in the condition section.

    • Based on date & time (Availability: Pro plan onwards)

      • Every Day: Workflow is executed daily at a specified time for all records.

      • Every Week: Workflow is executed weekly on a specified day of the week and at a specific time for all records.

      • Every Month: Workflow is executed weekly at a specified day of the week and at a specific time for all records

Choose the recurrence of the workflow on a specific record based on your business requirements. You can choose between one of two options:

  • Once, for each record: This is best used when the update needs to be made only once to a field for the contact. After the first update, this workflow will not be triggered for the contact even if the trigger conditions are met again.

    For example-  If the first touch point of contact is established, say through email or phone, then you can choose to change the Contact Lifecycle Stage to Contacted. Here, the contact lifecycle stage needs to be changed only once during the entire lifecycle of the contact. Hence, ‘Once, for each record’ is used. 

  • Recurrently, for the same record: This option is better suited when a field update will need to be multiple times as and when trigger conditions are met. 

    For example- Whenever an email is received from the contact, it is best to create a follow-up task for the sales rep. With recurring triggers, the workflow will be triggered every time an email is received from the contact. Hence, ‘Recurrently, for the same record’ is used.

WES 3: In the case of our example, let’s select the trigger as every day and opt to run the workflow Once, for each record. This will allow us to configure a workflow that will run every day to look for contacts with matching conditions. However, once it runs on a contact with matching conditions, it will never repeat for the same contact again.

       

  • Conditions
    With Conditions, you define the scenario when the workflow should be executed. 
    Configure AND/OR blocks with nested conditions i.e., with various combinations of conditions. 

    Use the Any or All toggle to define whether you want a few or all the conditions to be met for the workflow to be executed.

    In the case of our example, choose conditions such as industry or country, or business size to execute the workflow. You can also use condition groups to create more specific workflows.


WES 4: In the case of our example, choose conditions such as industry or country, or business size to execute the workflow. You can also use condition groups to create more specific workflows.

        

        Set conditions to filter the records on which the actions are performed. Freshsales supports 10         conditions that can be added to a single group or across groups.

Operators supported

Values

Text

is in

is not in

is empty

is not empty

is changed

contains

Date

RELATIVE

is greater than n days ago

is less than n days ago

is exactly n days ago

is in n days (future)

ABSOLUTE

is dd/mm/yyyy

is after dd/mm/yyyy

is before dd/mm/yyyy

is between dd/mm/yyyy and dd/mm/yyyy

is empty

is not empty

is changed

is in the last n days

is in the next n days

 

Use the Any or All toggle to define whether you want a few or all the conditions to be met for the workflow to be executed.

In the case of our example, choose conditions such as industry or country, or business size to execute the workflow. You can also use condition groups to create more specific workflows.


Condition groups

Freshsales allows you to create multiple blocks of conditions to enable targetted execution of the workflow. This helps you configure advanced workflows.

  • All or Any: You can use group together conditions as a block and opt whether you want the workflow to check whether any of the conditions are met or all of them are met. Use the toggle to set for All or Any.

  • AND/OR: Select AND/OR between condition groups to decide whether you want the workflow to be triggered only when All condition groups are fulfilled or any one of them is fulfilled.

Note: You can only add use either an AND or an OR operator between all condition groups. You will not be able to use both at the same time. I.e if you select AND between one condition group, then for all subsequent condition groups you can only use AND.


HELP TIP: (A) OR (B) OR (C) OR (D) & (A OR B OR C OR D) will give the same result. 4 groups with one condition each and an OR/AND in between or 1 groups with 4 conditions and OR/AND operator in between represent the same.


WES 5: In the case of our example, let’s configure the conditions Lifecycle stage is Prospect and Status is New. This workflow will run every day to look for contacts that have been newly added and are yet to be contacted.

         

     

  • Actions: Finally, configure actions that should be executed when the conditions of your workflow are met. Choose from an array of actions that should be performed— create tasks, send emails/SMSs, reminders, etc., and automate monotonous manual tasks. You can also configure the workflow to create deals automatically based on conditions.

    Lists the automated actions to be performed on the record. A maximum of 5 actions can be added to a workflow. The actions we provide are:
    • Update Records - 


        Update a specific field for the updated/ created contact. 


           For example, if you want to trigger the workflow based on the contact update property, then, actions such as updating a primary account, updating the respective contact, updating the related deals can be performed. 


      Updating a record can be done on the basis of a Fixed value or a reference value based on another field. You can choose to :

    • Update Primary Account

    • Update all related deals

    • Update all related accounts

    • Trigger webhooks - 

      Webhooks can be triggered to connect with the third-party applications or to have an action achieved within the Freshsales suite itself. Triggering the webhook can be so vast and multiple actions can be performed.


      Example: Creation of a Freshdesk ticket whenever a condition gets satisfied.





    • Send email to sales owner 

    • Send email to contact

    • Add task

    • Add Deal

    • Send SMS to Owner

    • Send SMS to All related contacts

    • Send email to All related contacts

    • Add Tag

    • Remove Tag

    • Add Contact/Account/ Deal team

    • Add to list 

    • Remove from list
    • Send email to all attendees (applicable when 'appointments' are chosen)

      Note: In any step that has an action to send an email, the Template, Details of sender and recipients, and time with which the email needs to be sent after the workflow etc., can be configured.

WES 6: In the case of our example, let’s select Send email. This will allow us to compose a welcome email that will be sent every day to contacts for whom Lifecycle stage is marked as Prospect and status is marked as New. 

This way, we have now set up a workflow that runs every day to identify prospects who’ve not been contacted and send them a one-time-only Welcome email.

         
        Actions supported by Freshsales Workflows
        

Update

Update records*

Allows you to update record field values.

Update primary account

Update the fields on the Primary account to which the contact belongs to.

Update all related deals

Update the fields on all deals that are related to the contact

Update all related accounts

Update the fields on all accounts that are related to the contact

Trigger

Trigger webhooks

Trigger actions for 3rd party applications or even Freshsales actions based on APIs.

Email

Send email to sales owner

Configure an email to be sent to the Sales Owner when the conditions are met.

Send email to all related contacts

Configure an email to be sent to all related contacts when the conditions are met.

Send email to all attendees

This is applicable only when 'Meetings' are chosen. You can set up an email to be sent to all attendees added to a meeting invite based on conditions

Add

Add task

Create a task to be assigned to the owner when the conditions are matched.


Add deal

Create a deal to be associated with the contact when the conditions are matched. When configuring a deal, you can set field values based on Fixed or Reference field values of your contacts.

SMS

Send SMS to owner

Configure an SMS to be sent to the sales owner. Add placeholders to personalize the SMS based on field values. 

Send SMS to All related contacts

Configure an SMS to be sent to all related contacts. Add placeholders to personalize the SMS based on field values.

Tags

Add Tag

Add tags to the records (contacts, accounts, and deals) that satisfy the conditions. These tags can be used to later filter the records.

Remove Tag

Remove tags from the records (contacts, accounts, and deals) that satisfy the conditions. These tags will be removed only if a tag with matching string values has been added.

Add Contact/Account/ Deal team

Assign users who can collaborate and work on this record.  

List

Add to List

Add contacts to a marketing list. This will later help teams run marketing campaigns or journeys on these contacts.

Remove from List

Remove contacts from a marketing list.


Note: 
  • Workflows Workflows based on record action are available Growth plan onwards.
  • Workflows based on date time are available from the Pro plan.
  • Condition Group logic is currently supported only for Event-based workflows



*Updating Records

When updating records using Workflows, you can opt between one of 4 options. Let’s consider an example. Say you would like to change the contract renewal date for a contact. When you select Update record and select the contract renewal date field, you can update it one of four ways:

  • Fixed Value: Select from a set of fixed values or available values. For example, configure a very specific date like 31/3/2023 to update the contract renewal date for all such fields to the particular date.


  • Reference Value: The field can be mapped with a value from another field. For example, if you want to update the contract expiry date based on the trial/subscription expiry date, you can map the contract renewal date field to the subscription expiry date field.


  • Relative Value: Updating the field to a value using the existing field value as a reference.

    For example, use the contract renewal date as a reference and update the date field by a week or a month.


  • Add or Subtract Value: Updating the field to a value using the existing field value as a reference and updating it numerically.

    For example, you can choose to use the contract renewal date as a reference and update the date field by 15 days
    .
     

Type of record update

Applicable field types

Fixed Value

All field types

Reference Value

All field types

Relative Value

Number field, Date Field

Add or Subtract Value

Number field, Date Field



Note: When you execute a workflow on Deals and choose to update related contact’s property, the property of all the contacts associated with the deal will be updated.

 

5. Click Enable. 



Workflow Execution

The actions are performed immediately when the workflow is executed. 

If multiple workflows are triggered at the same point, they are executed in the order of the list they are present. The top workflow will be executed first and the bottom-most workflow will be executed at the end. 

You can reorder the workflows in the list view to change the sequence. To prevent the workflows from executing in an infinite loop, the sequence of workflows triggered will stop with the list from top to bottom. That is, the last workflow will not trigger the first workflow again. 


Note: 
1. A maximum of 10 conditions and 5 actions can be performed within a workflow.
2. When you edit a workflow, it is not possible to change the entry point and record type.