Workflows

The powerhouse to automate anything

Workflows in the Picky Assist CRM function as the engine of automation, opening up a universe of possibilities for businesses to streamline repetitive tasks.

Leverage the power of Picky Assist Workflows to revolutionize the way you operate, here are a few inspirations for you.

  1. Transform lead engagement: When a lead's stage changes to 'Business Proposal Sent', the workflow can automatically send the business proposal to the lead via Email & WhatsApp.

  2. Enhance order management: If the stage of an order changes to 'Shipped', the system can autonomously assign a task to the delivery team and send a WhatsApp message to the customer, notifying them that their order is en route.

  3. Prioritize important deals: When a deal value exceeds $1000, the workflow can automatically tag it as 'High Value' and send an email or WhatsApp message to the manager, alerting them to the creation of a high-value lead in the CRM.

  4. Streamline lead assignment: If a new lead has 'Custom' mentioned in their requirements, the workflow can direct this lead to a team member who specializes in customized work.

  5. Automate cross-module actions: When a record status changes to a specific status, a new record can be automatically created in a different module.

  6. Foster customer relations: After an order status changes to 'Delivered', the system can wait for two days before sending a Feedback survey via the WhatsApp Chatbot.

  7. Optimize deal management: Once a deal status turns 'Closed', the workflow can remove the user from a specific 'Drip Campaign', add the customer details into the 'Paid Customer' module, and automatically create a task for the onboarding team to give a 'Welcome Call'.

  8. Improve follow-up management: If a follow-up date is added to a lead, a reminder can be automatically set up to ensure the follow-up isn't missed.

  9. Sync Data with 3rd party apps : When a deal is closed send the details to your billing software via HTTP API or trigger a Zapier to automatically create and send the invoice to the customer.

  10. Dynamic Auto Lead Distribution: The system allows for equitable distribution and assignment of leads to a group of team members based on various conditions. For instance, if the lead's country is "UAE, Singapore, or India", distribute the leads evenly to the "Asian Team". All remaining leads are equitably distributed to the "Global Team".

These are just a handful of ways in which Picky Assist Workflows can help automate and optimize your business processes, saving you time and ensuring efficient operations.

Fundamentals of Workflow

At its core, a workflow consists of Triggers and Steps.

Triggers are the specific events that set the workflow in motion. These can be any activity within the CRM modules like the creation, editing, updating, or deletion of records.

Steps, on the other hand, are the responses or tasks carried out when a trigger event happens. These could include sending an email or a WhatsApp message, adding a new record, updating another record, adding a contact to a sequence, or triggering a Chatbot flow, and so on.

In essence, a workflow automates processes within the CRM. It starts when a specific event (Trigger) occurs and then performs a set of tasks (Steps) accordingly. This automation greatly enhances efficiency and ensures consistent management of tasks.

Triggers

There are 5 triggers we support that are mentioned below;

On Create : Executes whenever a Record is created

On Create / Edit : Executes whenever a record is created or edited

On Edit : Executes whenever a record is edited

On Delete : Executes whenever a record is deleted

On Time : Executes in the Interval of a given time (Coming Soon)

Steps

There are 10 steps and each step has many actions to perform as mentioned below;

Filter

The Filter function serves as a decision-making tool in the workflow. It evaluates certain criteria, and if these conditions are met, the subsequent steps in the workflow are executed. For example, you could set a filter to only continue if a deal value exceeds $1000 and the Lead Status is not "Closed". In this way, your workflow will only proceed when these conditions are met.

The Filter function offers great flexibility as you can create any number of conditions based on the data field type. This capability allows you to fine-tune your workflows to react precisely according to the situation, ensuring more effective and targeted automation.

Actions

Actions are predefined processes within a workflow that can be taken internally. They form the core responses of your workflow and dictate how your automation should respond when a trigger event occurs.

It's worth noting that a workflow can include one or many actions, and the same action can be repeated several times within a workflow. These options provide a wide array of possibilities for automating and streamlining your business processes.

Send Message: This action allows you to send a WhatsApp message from any of your connected WhatsApp numbers. This can be utilized for various purposes, such as notifying a customer about a change in their order status, reminding team members about an upcoming meeting, or sending updates about a project. This automation ensures timely communication without the need for manual intervention.

Send Email: This action enables you to send an email from any of your linked email accounts. Whether it's to inform customers of important updates or to keep internal team members abreast of recent changes, this feature streamlines communication by automatically sending the necessary emails, thus saving time and increasing efficiency.

Broadcaster: This function allows you to send messages to a specified segment of your list, which you have previously created in the broadcaster. It is especially useful in scenarios requiring mass messages. For instance, when a new product is added to the product module, you could announce its launch. If a new offer is created in the offer module, you could reveal it to your audience. Perhaps a specific product requested by a customer is back in stock – you can promptly send a restock alert. This feature ensures your audience stays updated and engaged, reinforcing stronger customer relationships and enhancing their overall experience with your brand.

WhatsApp Group Actions: This feature provides an added layer of automation if you have integrated a WhatsApp number through our WhatsApp Web Automation service. It empowers you to manage your WhatsApp groups more effectively by automatically adding users to a WhatsApp group or removing them. You can even create new WhatsApp groups automatically based on your criteria. This feature can be useful in various scenarios, such as adding new employees to a departmental WhatsApp group when they join the company or creating a special WhatsApp group for high-value clients.

Data Storage: This feature serves as an internal storage system that allows you to store small pieces of information, such as API Tokens or run-time values, which are accessible across the platform in Workflows, Connectors, and other areas. You have the option to add, update, delete, or empty row data. For instance, you can store an API token used frequently in your workflows, saving time and maintaining consistency. Or you might want to store a counter value that increments each time a specific action occurs, helping you track events or interactions.

Teambox: There are four actions available for Teambox to help streamline your customer interactions:

  1. Assign Chat: This function allows you to delegate a chat to a specific user or department, ensuring the right personnel is engaged for specific customer needs.

  2. Add Event Feed: This helps provide context for the assigned chat. For instance, if a chat is being assigned to a new team member, the event feed can provide necessary background information about the ongoing conversation, enhancing clarity and efficiency.

  3. Kick-Out User from Conversation: This is useful in cases where a user's participation in a chat is no longer necessary. It ensures the conversation remains focused and uncluttered.

  4. Kick Out All Users: This function is useful when a conversation is complete or needs to be reassigned entirely. It removes all currently assigned users from the conversation.

This use of Teambox actions ensures that the right teams are involved at the right time, conversations remain focused, and every team member has the information they need when they need it.

Counter

This feature is particularly beneficial for managing and controlling advanced automation processes, such as limiting the number of seats or slots for an event, and automatically resetting the counter at specific intervals (daily, monthly) or upon reaching a certain limit.

For instance, let's consider a use case of an online webinar platform. The platform allows 100 participants for each session. The counter can be set up to keep track of the number of participants registered. When a new participant is added, the workflow will increase the counter by one. When the count hits 100 (the maximum allowed), the registration can be automatically closed, and a message can be sent to the organizer. The counter can be reset for each new session.

This feature allows for smooth and automated control of aspects such as availability and capacity, thus optimizing management and operational efficiency.

Save Data

This action is particularly useful when you want to save data back to the same module from which the workflow was triggered. This action often works in tandem with HTTP API responses, allowing you to map the response back to the original record.

For instance, let's take the example of a retail business using a payment gateway to process transactions. When a new 'Payment Request' record is created in the CRM, the workflow can be configured to trigger an API call to the payment gateway. Once the payment link is generated by the gateway, you'd want this link to be saved back to the same 'Payment Request' record in your CRM for easy access and management. The 'Save Data' action makes this possible, effectively closing the loop between the API call and the data in your CRM, thereby enhancing the efficiency and traceability of data in your processes.

Delay

This action is especially beneficial when there's a need to pause the execution of a workflow for a brief period. The delay duration can be set anywhere between 0 to 60 seconds. This comes in handy when you're making HTTP API requests, and you need to allow some time for the system to process the request before proceeding to the next step.

For example, if you're in a scenario where you trigger an API to update a field in your CRM, and you want to make sure this update is completely processed before you send a confirmation email to the client, the 'Delay' function can be crucial. By setting a delay, you give your system adequate time to ensure the update is reflected in the CRM before the email is sent, preventing any possible discrepancies or premature communications.

Smart Delay

This feature provides more precise control over the workflow execution by pausing the operation until a specific date and time is reached. It's especially useful in scenarios where you want certain actions to occur after a specified period from a particular date.

For instance, suppose you run a sales operation and every time a new lead is added to your pipeline, you want your team to have a buffer period of 3 days to progress the lead. If after three days, the lead's stage hasn't changed to what you anticipated (perhaps the lead isn't moved to the 'Engaged' or 'Proposal Sent' stage), you may want to reassign the lead to another sales representative for a fresh perspective and strategy. The 'Smart Delay' function allows you to automate this reassignment process, thereby ensuring none of your leads stagnate due to overlooked follow-ups. It keeps your sales process dynamic and responsive.

Route to Another Flow

This feature is instrumental in integrating your CRM workflows with chatbot flows for seamless data collection and context-preserving communication.

For instance, let's assume you have a business process where after every client meeting, the status of the meeting in your CRM changes to "Completed". After this change, you might want to automatically trigger a feedback collection process. With 'Route to Another Flow', you can automatically add the client's contact into a pre-programmed chatbot flow designed to solicit meeting feedback. This can involve questions about the meeting's usefulness, the performance of your team member, or any areas where the client thinks there's room for improvement.

What's even better is that you can pass data from the current module to the flow builder to keep the conversation context-aware. So, your chatbot might start the conversation saying, "Hi [Client's Name], we hope your meeting with [Your Team Member's Name] on [Meeting Date] was productive. Could you spare a minute to provide some feedback?" This personalized, context-rich outreach is likely to elicit higher response rates, ultimately providing you with valuable insights to optimize your client meetings.

Trigger HTTP API

This feature provides immense value to developers, allowing them to interact with third-party software, either to pull or push data. This is especially useful if you want to keep your data synchronized across different platforms or automate actions in external systems based on changes within your CRM.

For instance, imagine a scenario where a customer expresses interest in making a payment for a deal in your CRM. By using the 'Trigger HTTP API' action, you can automatically generate a payment link by sending a request to your payment gateway provider. Once the payment link is generated, it can be automatically sent to the customer via an email or a WhatsApp message, all within the same workflow. This not only saves manual effort but also ensures a seamless and prompt response to your customer's intent, potentially increasing your conversion rates.

Splitter

This tool is immensely beneficial for distributing or assigning tasks and leads based on the percentage you define. For example, let's say you have a team of 10 members, 2 of whom are junior associates. While you want to assign leads to these junior members for their growth and learning, you also want to ensure that the majority of leads go to your more experienced members to maximize potential conversions. Here, the Splitter comes into play. You can simply define a lower percentage for your junior members and a higher percentage for your more seasoned team members. The system will then automatically allocate leads based on these defined percentages. This ensures fair distribution while maintaining efficiency and productivity.

Formatter

The formatter step is a valuable tool that allows you to transform data from one format to another. For example, if you have an output from an HTTP API step where the date is in a timestamp format, you can use the formatter step to convert the timestamp into a human-readable time format. This enables you to include the transformed data in your messages or further processing.

The formatter step supports a wide range of formatting options, including date transformation, data extraction, JSON extraction, math calculations, line items, and even converting PDF to text. This flexibility empowers you to manipulate and utilize your data in various ways to suit your specific needs.

pageFormatter

Data Lookup

The "Data Lookup" is an immensely powerful tool in the workflow, designed to enhance your productivity by facilitating smooth data transitions between different modules. With this tool, you can perform various tasks such as Add Records, Search Records, Edit/Update Records, and Delete Records, based on the events happening in the current module.

For instance, consider you have two modules, namely "Orders" and "Feedback". You want to automatically generate a new feedback request whenever an order status changes to "Fulfilled". This is where the Data Lookup comes in. As soon as the order status updates to "Fulfilled", the Data Lookup feature triggers, creating a new record in the "Feedback" module, automatically linking this feedback request to the respective order in the "Orders" module. This not only streamlines your processes but also ensures that customer feedback is systematically captured, thus enhancing customer service and experience.

End

The "End" step signifies the termination point in the workflow process. This step instructs the system that no further steps or actions are to be taken, bringing the execution of the workflow to a halt.

Workflow Builder Canvas

The canvas in the Workflow Builder is the workspace where you can construct and visualize your workflow. This intuitive interface enables you to simply drag and drop steps, arranging them in the sequence that suits your business needs. You can also visually connect these steps to each other, creating a clear and coherent representation of your workflow. This visual approach simplifies the process of constructing complex workflows, making it accessible even to those with little to no technical expertise. The canvas gives you the freedom to experiment with and adjust your workflows as your business needs evolve, ensuring that your automated processes remain effective and efficient.

Creating a Workflow

To create a new workflow go to the right side main menu, then click on "Flow" as shown below;

It will list all flows you have here, click on the Create New Flow button in the top left as shown below;

  • Provide a name for your flow in the designated field.

  • Add a description for the flow to provide a brief overview or details about its purpose.

  • Select the Workflow

  • Select the folder where you want to save this flow. Folders help you organize your workflow systematically.

  • Click on "Create Flow" to create the flow and it will open the Canvas where you can start building your workflow visually

Setting Up Triggers

Setting up a trigger is the first step in constructing a workflow. This involves defining the circumstances under which your workflow will be initiated. To set up a trigger, you will need to specify the following parameters:

  1. Select Module: Choose the module for which you wish to configure a trigger. This could be a lead, deal, ticket, or any other module depending on your specific business needs. Once you've selected a module and published the workflow, the module can't be altered.

  2. Select Trigger Event: Determine the specific event that will activate the workflow. The options available include 'On Create', 'On Edit', 'On Create/Edit', and 'On Delete'. Your choice will depend on what sequence of actions you want the workflow to perform.

  3. Select Module Field: If you want the workflow to be triggered only when certain fields are changed, you can select those specific fields. For instance, if you wish to trigger the workflow only when the 'Deal Value' field exceeds $1000, you can select that field. If you want the workflow to run whenever any field in the module is altered, you can select 'Any Field'. This will cause the workflow to be triggered by any changes made by users This option will be shown only for On Create / Edit or On Edit Trigger Event

Execution Rules

  1. Ignore Execution from Bulk Upload / Mass Update: By default, this rule is activated to prevent potential loops of actions that might create inconsistencies within the CRM. If this rule is disabled, the system will still process the workflow but it will limit the processing to a maximum of 120 requests per minute.

  2. Ignore Execution if the data is updated via Chatbot builder: This rule is activated by default, which means that if any data in a module is updated through the Chatbot builder, the workflow will not be triggered. This rule is in place to prevent unwanted triggering of workflows from the chatbot's routine updates.

These execution rules offer additional layers of control over your workflows, ensuring that they only run under the appropriate conditions and helping to maintain the overall integrity and performance of your CRM system.

Important Rate Limit Information

  1. Workflow Execution: The Workflow function can handle a maximum of 120 executions per minute. If the number of execution requests exceeds this limit within a minute, the system will ignore the excess requests. This is to ensure the efficiency and stability of the Workflow feature.

  2. HTTP API Trigger Step: In the Workflow, if you are using the "Trigger HTTP API" action, each step can be executed 25 times per execution. The "Trigger HTTP Path" can be executed a maximum of 15 times in a minute.

Please bear in mind these rate limits when setting up your workflows and triggering HTTP API calls. It's crucial to plan your workflows so that they comply with these rate limits to ensure smooth and consistent operation. These limits are designed to manage server load and prevent potential system slowdowns or disruptions.

Adding Steps

After you have configured the trigger as detailed above, the next step is to add actions to the canvas.

  1. To see all the available steps, simply right-click on the canvas.

  2. Click on the desired step to add it to the canvas.

Alternatively, you can add steps by clicking on the "Add" icon located in the left-hand menu, as shown below.

Remember, the order in which you place the steps will be the order in which the workflow executes them, so plan out the sequence of steps carefully to create the desired automation process.

Connecting Steps

Creating a sequence of actions is simple with the drag-and-drop feature.

  1. To connect steps, simply click and hold the 'Next' button of a step.

  2. While still holding the mouse button down, drag the cursor to any subsequent step to establish a link between the two.

It's important to note that workflows execute in a linear manner as configured. Unlike in the Chat Flow builder, circular or looping execution is not possible in the Workflow builder. Therefore, avoid any confusion if you're shifting from the Chatbot Flow builder to the Workflow builder. Plan your workflow carefully to ensure it runs smoothly from start to finish.

Passing Data (Attributes)

Every time a workflow is triggered for a particular record in a module, the system automatically forwards all specific records along with any linked records' old and new values to the workflow builder. This process allows you to carry out actions based on these values such as applying filters, sending WhatsApp or email messages, or even updating another record using the current record ID.

Moreover, if the module has any lookup fields configured, the record value corresponding to that field is also made available in the workflow builder attribute for contextual referencing. This means you can refer to these values in your workflow to create more complex and contextual automation rules.

Understanding Lookup Fields & How it works in the Workflow

Let's say we have two modules: "Contacts" and "Deals".

In the "Contacts" module, you have fields like Contact Name, Email, Phone Number, etc.

In the "Deals" module, you have fields like Deal Name, Deal Value, Expected Close Date, etc. But, you also want to associate each deal with a specific contact from the "Contacts" module.

To do this, you would create a lookup field in the "Deals" module named something like "Contact". This field would be linked to the "Contacts" module. Now, when you're adding a new deal, you can use the "Contact" lookup field to select a contact from the list of existing contacts in your "Contacts" module. This selected contact is now linked to the new deal you're adding.

In the context of workflows and automation, let's say you have a workflow that triggers every time a new deal is added. With the help of the lookup field (i.e., "Contact"), you can access the information of the contact linked to the deal within this workflow. For instance, you can automate a process where an email or a WhatsApp message is sent to the associated contact every time a new deal linked to them is added. This is just one example. There are numerous possibilities on how lookup fields can be used to enhance your workflows and automation processes.

Current Record ID

In Picky Assist CRM, every record within a module has a unique identifier known as the Record ID. This is particularly useful when you need to perform actions like searching, updating, and deleting records in another module.

For instance, let's say you have two modules, "Orders" and "Payments". Whenever the status of an order changes to "Accepted", you want to automate the creation of a payment link and save this information in the "Payments" module.

Here's how you might set it up:

  1. You would set up a workflow that is triggered whenever the status of an order changes in the "Orders" module.

  2. In the workflow, you can use the Record ID of the current order (the one that triggered the workflow) to create a new record in the "Payments" module.

  3. You might use an action like "Add Record" to create a new record in the "Payments" module. In the details for this new record, you can include the current order's Record ID (which is available as an attribute in the workflow) and the newly created payment link.

  4. This way, every time an order status changes to "Accepted", a corresponding payment record will be created in the "Payments" module, containing both the unique order Record ID and the payment link. This creates a connection between the two records and helps keep your data organized and easily accessible.

This unique linking system ensures that updates across different modules are seamless, efficient, and contextually linked to specific records, aiding in better organization and automation.

Duplicate a Workflow

By utilizing the duplicate feature of Picky Assist Workflows, you can effortlessly replicate existing workflows, saving time and effort in recreating similar processes. This feature is particularly beneficial when you need to make minor adjustments, such as altering the status or tweaking the filter conditions. The duplicate icon in the workflow list, as shown below, allows you to create an exact copy of a workflow with a single click.

After duplicating, you can rename and modify the duplicated workflow according to your specific needs. It's a straightforward and efficient way to enhance the automation of your business processes.

Disabling a Workflow

You have the flexibility to disable a workflow temporarily whenever needed. This can be done by simply clicking the enable/disable button located next to each workflow, as depicted in the image below.

Disabling a workflow pauses all its automated actions without deleting or altering any of its configurations. This is particularly handy when you need to temporarily halt a process for updates, tests, or other reasons. When you're ready to reactivate the workflow, just click the button again to enable it. All the configurations remain intact, providing seamless control over your automated processes.

Deleting a Workflow

To delete a workflow, navigate to the workflow listing page, then click on the delete icon as demonstrated in the image below.

After clicking on the delete icon, a confirmation prompt will appear. Upon confirming "Yes," the workflow will be deleted. Please note, all deleted workflows can be restored within 30 days from the Trash. This safeguard provides a window for recovery in case you accidentally delete a workflow or change your mind after deletion. The deleted workflows remain in the Trash bin for 30 days, after which they will be permanently deleted. Make sure to restore any valuable workflows within this period.

Workflow Stats

For a clear, at-a-glance understanding of your workflow performance, access the overall workflow execution stats by clicking on the statistics icon, as illustrated below.

This opens the detailed stats in a new page as shown below, you can change the period to see the execution log between two dates

Filtering Workflows by Modules

For better workflow management, our system enables you to filter workflows based on their associated modules. Simply click on the filter icon and select the desired modules as illustrated below. This provides a consolidated view of all workflows linked to a specific module, making it easier for you to analyze, modify, or optimize these workflows in accordance to your operational needs.

Sorting Workflows with Conditions

Picky Assist's Workflow system also gives you the power to sort your workflows using various conditions. You can arrange your workflows according to 'Created Date' or 'Last Edited Date' in ascending (oldest first) or descending (newest first) order. This feature ensures you always have an organised view of your workflows, aiding quick navigation and efficient management.

Moving Workflows into Folders

To improve organization and facilitate quicker access, you can move your workflows into different folders. To do so, select one or multiple workflows. Once selected, an option will appear on your screen that allows you to either select an existing folder or create a new folder into which the workflows can be moved. This feature helps you keep your workflow interface clean and navigable, especially when handling a large number of workflows.

Bulk Deletion of Workflows

If there are workflows that are no longer in use, you can efficiently remove them using our bulk deletion feature. Simply select one or multiple workflows and click the delete icon, as shown below. This is particularly useful in maintaining a clutter-free and efficient workflow interface.

However, remember to carefully review the workflows you wish to delete as this action may impact any automation that is currently in place. Also, note that all deleted workflows can be restored within 30 days from the Trash.

Last updated