Workflows
Workflows explained
What are workflows? Workflows are automations that carry out sales processes and repetitive actions without any manual intervention. They run automatically when specific events happen in your CRM like a contact being created, or a deal changing stages. By defining a trigger, setting conditions, and choosing actions, you can reduce manual work, respond faster, and ensure no opportunity slips through the cracks.
For example, you can set up a workflow to automatically create a deal when a contact’s lifecycle stage moves from Qualified Lead to Prospect, and assign that deal to the appropriate Account Executive.
Sparrow CRM offers an intuitive Canvas to build workflows without requiring coding.
Workflows have two constituent parts:
Triggers: An event that initiates the workflow like a record creating or field updation.
Action: Changes that are made consequently as a response to triggers.
On the Canvas, triggers and actions appear as blocks. The lines connecting them are called paths. When conditions are added, paths branch out, and the workflow follows the route that matches the defined criteria.
Workflow Blocks
Workflow blocks explained
Blocks are the building units of every workflow. They define when a workflow runs and what it does next.
There are two types of blocks:
Trigger block — defines when the workflow should start.
Action block — defines what the workflow should do in response.
Use this article as a quick reference while building workflows to understand which blocks to use and when.
Trigger blocks
Trigger blocks tell the workflow when to start.
You can trigger a workflow when specific events occur in an object — such as a record being created or updated.
The trigger block captures relevant record details and passes them as variables to the blocks that follow, enabling subsequent actions to use that data.
Record triggers
Record triggers start a workflow when an event occurs in an object.
Record created — Runs the workflow when a new record is created in the selected object.
Record updated — Runs the workflow when an existing record is updated. You can choose to trigger it for any field update or restrict it to changes in a specific field.
Each record trigger makes key details available as variables for the blocks that follow. You can use the record’s data, identify who performed the action, reference when the event occurred, and in the case of a specific field update compare the new value with the previous one.
List triggers
List triggers start a workflow based on activity within a specific list.
Record added to list — Runs the workflow when a record is added to the selected list.
List entry updated — Runs the workflow when a record within the selected list is updated. You can choose to trigger it for any field update or limit it to changes in a specific field.
Each list trigger makes key details available as variables for the blocks that follow. You can access the entry’s data, see who performed the action, reference when it occurred, and when a specific field update is selected compare the new value with the previous one.
Data triggers
Field created/updated — Runs the workflow when a field is created or updated in the selected object or list. Use this to automate actions tied to structural or data-level changes.
This trigger makes relevant context available as variables for the blocks that follow. You can access the associated record or list entry data, compare the fields’s new and previous values, identify who performed the action, and reference when the event occurred.
Tasks and notes
Task created — Runs the workflow when a new task is created.
Note created — Runs the workflow when a new note is added.
These triggers are useful for automating follow-ups, notifications, or downstream updates based on activity logged by your team.
This trigger provides key task details as variables for subsequent blocks. You can use the task’s data, identify who created it, and reference when the action occurred.
Utilities
Run manually — Allows you to trigger the workflow on a specific record (or selected records) using the Trigger workflow button. The time of trigger will be passed down as variables to the subsequent block.
Recurring schedule — Runs the workflow automatically at defined intervals. You can set the frequency, time, and time zone. The trigger time will be passed down as variables to the subsequent block.
Webhook received — Runs the workflow when SparrowCRM receives an HTTP POST request from another application. This enables workflows to execute based on events happening in third-party tools. This trigger passes the webhook payload body as a variable to subsequent blocks, along with the timestamp of when the webhook was received.
Action blocks
Action blocks define what the workflow should do next.
Once a trigger starts the workflow, action blocks perform updates, create records, send communications, run AI operations, or control the workflow’s logic.
Think of them as the execution layer of your automation.
Records Block
Create record
Creates a new record in the selected object and makes its details available as variables for subsequent blocks.
Use this when you want to auto-create Deals, Tasks, Companies, or custom objects based on a trigger.
Update record
Updates an existing record. You can use variables from earlier blocks to identify exactly which record should be modified.
Supports updating multiple fields in a single step.
Find records
Shortlists records that match specific conditions and passes their values as variables to the next block. You can set a limit on how many records should be returned.
If no records match, the workflow will not proceed unless handled with a condition block.
List
Add record to list
Adds a record to a selected list. Map record variables from previous blocks to the corresponding list fields.
Delete list entry
Removes a record from a selected list.
Find list entry
Finds entries in a list that match defined conditions and passes their data to subsequent blocks. You can define how many entries should be returned.
Update list entry
Updates an existing entry in a list. Variables from previous blocks can be used to identify the correct entry.
Sequences
Enroll in sequence
Enrolls a contact into a selected sequence to begin automated outreach.
You can define the sender and optionally use a variable from previous blocks to dynamically assign the sender (e.g., the contact owner).
Exit from sequence
Removes a contact from a sequence and stops further automated emails.
AI
Classify record
Uses AI to classify a record based on its details. You define the tags AI can choose from, and the system automatically assigns the most relevant ones.
Classify text
Uses AI to analyze a specific text field and assign tags accordingly.
Example: Automatically classify lost deals based on the loss reason provided.
Summarize record
Generates an AI-powered summary of a record using its available data.
Useful for auto-generating deal summaries, call notes, or executive overviews.
Tasks
Create task
Creates a new task in response to a trigger.
Complete task
Marks an existing task as completed.
Calculation blocks
Calculation blocks allow you to transform or compute values before using them in later steps.
Adjust time
Shifts a timestamp forward or backward by a defined duration. You can reference a timestamp variable from earlier blocks or use a fixed time. The updated time becomes available for later steps.
Formula
Applies arithmetic formulas to numeric variables from previous blocks and passes the result forward. Useful for scoring logic, SLA calculations, or dynamic deadlines.
Condition blocks
Condition blocks control how the workflow moves forward based on defined logic.
Filter
Filters records based on conditions and only proceeds if matches are found. If no match exists, the workflow stops at that path.
If / Else
Evaluates a condition and leads the workflow down different paths depending on whether it is met.
Branch
Allows you to create multiple conditional paths beyond simple yes/no logic. Best used when handling complex routing scenarios.
Delay blocks
Delay blocks introduce wait periods between blocks.
Delay
Pauses the workflow for a defined duration. You can enter a fixed value or use a variable. Supported units include Seconds, Minutes, Hours, Days, and Weeks.
Delay until
Pauses the workflow until a specific date and time. You can use a fixed timestamp or a dynamic time variable from earlier blocks.
Celebration
Celebrate
Triggers a confetti animation in the workspace when a condition is met.
Example: When a deal stage changes to Closed Won, trigger a celebration.
Utility
Loop
The Loop block lets you repeat a set of actions for multiple items. Instead of targeting just one record, you can run the same logic for a set of items. For example, all team members of a company, all contacts in a list, or all open deals for a customer.
Loop Inputs
The Loop block requires an Iterable which is the list of items the workflow should process one at a time. This is typically a variable returned from a previous block, such as records found using a Find block or entries from a list. You can optionally set a Limit to control the maximum number of iterations. If left blank, the loop will process all available items.
Click Select block under First step to choose the block that should run at the start of each iteration. You can then add additional steps directly on the Canvas and connect them within the loop.
Navigating loops on the Canvas
The dotted border attached to a Loop block outlines the steps that will be repeated for each item.
Add blocks inside the dotted border for actions that should run during every iteration. Add blocks outside the border for actions that should run only after all iterations are complete.
Within a loop, the following variables are available for use in action blocks:
- Current item — The item currently being processed.
- Item position — The numerical index of the current item in the iteration sequence.
- Number of items — The total number of items the loop will process.
Send HTTP request
The Send HTTP Request block lets SparrowCRM reach out to external apps and services during a workflow. You can use it to push data from SparrowCRM to third-party systems or trigger actions in those systems (like creating a ticket, notifying a tool, or logging activity).
When you add this block, you’ll specify the URL, method (POST/GET/etc.), headers, and body of the request. You can use variables from earlier blocks to populate dynamic values like record IDs, field values, or user details.
This block extends your automation beyond SparrowCRM, enabling integrations with apps that support webhooks or APIs.
Parse JSON
The Parse JSON block helps you extract specific pieces of data from a JSON string so you can use them later in your workflow.
Often you receive a blob of structured data, for example, from a webhook response or an API call , and you only need a few values inside it. The Parse JSON block lets you define the fields you care about, and SparrowCRM pulls those values out and stores them as variables.
After parsing, you can use those extracted values in conditions, actions, or calculations. This makes it easy to handle rich data formats and interact with external services in a clean, predictable way.
