> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.crisp.chat/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Tips & Tricks about Workflows

*This article collects practical tips to help you build, organize, test, and troubleshoot Crisp Workflows more efficiently.*

Workflows can stay simple or become highly advanced depending on your use case. The tips below focus on the details that make them easier to maintain: block organization, branch priority, testing habits, reusable flows, and common mistakes to avoid.

---

# ${color}[#0080dd](Tips & Tricks)

*There's multiple ways to build chatbots by using workflows. You'll find that most of your favorites commands have quick access shortcuts, such as block creation, edition, or even copy/pasting them.*

#### ${color}[#445055](Adding Blocks)

There's a few different schools in order to add new blocks to your workflow. It all depends on your preference!

You can use the `+` icon after selecting the previous block, but you can also choose to open the drawer and directly drag the block where you'd like. Here is a quick example of both:

![Adding Blocks](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/adding-blocks_1n6yihg.gif =1000xauto)

#### ${color}[#445055](Dragging Blocks in-between Existing ones)

You can of course click the `+` icon below any block to prompt quick block selector menu, but you can also directly drag and connect a block directly.
To do so, simply open the drawer, and drag your block over any existing wire you'd like the block to occupy.

![Dragging Blocks in-between](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/drag_ein9p.gif =1000xauto)

#### ${color}[#445055](Connecting Blocks & Deleting Wires)

For the workflow to follow its flow, blocks must be connected to each other. When a Block is dragged into the editor, it will look to connect to the nearest block available automatically.
However, in cases where you'd like to delete the wire and connect a block to a different one, Workflows offer you as easy way to do so, by dragging the wire from a Block's anchor point to the other.

![Connecting & Deleting Wires](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/wire_10nhhlm.gif =1000xauto)

#### ${color}[#445055](Merging Branches)

When building workflows you will often split your flow into several branches, perhaps after a user clicked a button, or to handle conditional cases (such as if the conversation is new, or if a segment exists). In some cases, you might want to be able to re-merge the branches that you've setup, in order to do a common action without having to repeat it in all of your branches.

![Merging Branches](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/merge_1uifurf.gif =1000xauto)

#### ${color}[#445055](Group Selection)

Selecting multiple blocks is also possible with Workflows. To do so, simple maintain the `shift` and select the area of blocks you'd like to highlight.
This will enable you to easily re-organize them, but also perform a group deletion, or duplicating them! We'll learn more about the latter in our next tip.

![Group Selection](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/group-selection_1ay011o.gif =1000xauto)

#### ${color}[#445055](Copy & Paste)

You can copy and paste individual blocks in order to reuse them somewhere else in your workflow.
This can be done can select a block and using the "copy" in the quick menu, or directly by using the shortcut `ctrl + c` or `cmd + c` on Windows and Mac respectively. Once copied simply left click anywhere you'd like to paste them.
This is also possible for group selections of blocks, by using `ctrl + c` or `cmd + c` on the highlighted blocks.

![Copy & Paste Blocks](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/copy-paste_hkiecv.gif =1000xauto)

#### ${color}[#445055](Live vs Draft)

You can swap in-between the "**Draft**" and "**Live**" view of your workflow in order to review the changes you've made before deploying it.
This can also help you work on improving your workflow without affecting the live version, thus not impacting your users until it is actually deployed. You can change in-between these two views directly from the **Action** menu on the top-right corner of the interface.

|| Note that you cannot edit the workflow while in "Live" view, you need to swap to "Draft" in order to make changes.

![Live vs Draft](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/live-draft_jxp4f4.gif =1000xauto)

#### ${color}[#445055](Workflow Priority)

One important concept to keep in mind is that only one workflow can be **triggered** at the same time in a conversation. For instance, if your workflow "Ask users for information" has the priority over "Department Routing", and both start on the same event and conditions, only the former will be triggered.
You can mitigate this by specifying conditions and different events within each of your workflows, so that they are each able to start when they meant to, but which workflow's conditions will be checked first?

Well, in that case Crisp allows you to adjust the priority of your workflows, so that you can determine which one should run. In your Workflows Manager area, you'll notice a label with a number next to the name, this is the order of priority.
To change that priority, you can simply drag them around and rearrange their positioning.

![Changing the Priority](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/workflow-priority_mibv7b.gif =1000xauto)

If several workflows use overlapping start conditions, only the one with the highest priority will run. To avoid this, either make the conditions mutually exclusive or simplify the logic into a single workflow with separate branches.

For example, if you have one workflow for when support is available and others for weekday/weekend unavailability, you can often combine them into one workflow with branches such as:
* support available
* support unavailable

This helps ensure the workflow always starts and then follows the relevant branch.

#### ${color}[#445055](If a workflow is not triggering or behaves unexpectedly)

If a workflow is not working as expected, here are the main checks to perform:

1. **Review overlapping workflows and priority**
  If multiple workflows listen to the same event or similar conditions, only the first matching workflow will trigger.
2. **Check the order of blocks**
  If you use a `Wait` block together with conditions, place the condition checks first, then add the `Wait` block inside the matching branch when needed.
3. **Verify support availability conditions**
  The `Support is available / away` condition is based on agent presence. If at least one agent is online, support is considered available. If all agents are offline or invisible, support is considered unavailable.
4. **Inspect block connections**
  Make sure each action block is properly wired to the previous block. A disconnected block will never run.
5. **Disable and re-enable the workflow**
  If the configuration is correct but the wrong version seems to run, disable the workflow and enable it again.
6. **Generate a debug link for investigation**
  If the issue persists, go to **AI Agent → Agent → Settings**, click **Get help from support**, then click **Generate link**. Copy the generated link and share it for further inspection.

📌 The generated support link gives temporary access to your Hugo interface for **24 hours**.

If your workflow becomes too complex, consider splitting it into multiple smaller workflows or reducing duplicated branches.

#### ${color}[#445055](Branch Priority)

When building workflows, it will often happen that you need to split your flow into several branches.
For instance, you might want a workflow to offer a different experience if your user has an email set or not, or do specific actions based on the messages they sent.

When adding you have a block connected to several child elements, you will notice a number appearing on the wire connecting of these elements. These numbers represent the order in which the workflow will check which branch it can follow. It will first check if it can follow the branch with the `1` wire, then `2`, etc. The workflow will check each branch based their priority, and follow the first one it detects a match for.

![Branch Priority](https://storage.crisp.chat/users/helpdesk/website/bacc0702a039b000/branch-priotity_1grdvsb.gif =1000xauto)

---

# ${color}[#0080dd](Extra Resources)

#### ${color}[#445055](Learning more about the Workflows)

Perhaps you still have some interrogations about the chatbot, and would like to know more about the specifics and details of each blocks. For instance, you might be wondering how Exit blocks work more exactly, or when you should use an Action or Condition block. Whether it's to satisfy curiosity or learn more about the technical aspects of the Workflow b, we have set up [an article that reviews how the workflow builder works in greater details](https://help.crisp.chat/en/article/what-can-i-do-with-crisp-chatbot-software-1boypme/).

* [How to ask users for information](/en/article/how-to-ask-users-for-information-and-memorize-it-with-in-a-chatbot-workflow-1oaygc/)
* [How to memorize and update user information](/en/article/how-to-ask-users-for-information-and-memorize-it-with-in-a-chatbot-workflow-1oaygc/)
* [How to create a list buttons and offer choices to users](/en/article/how-to-build-a-list-of-buttons-with-the-chatbot-1sgr9an/)
* [How to send embedded and external links with a button](/en/article/how-to-share-embedded-and-external-links-with-the-chatbot-15olyuj/)
* [How to create a Products Carousel](/en/article/how-to-create-a-product-carousel-for-your-chatbot-46qf6x/)

#### ${color}[#445055](Video guides)

Our articles contain animations and videos to better illustrate and walk you through creating your workflows, but you can also directly hop to our YouTube channel!
We have very detailed videos to help on your journey, if you'd like take a deeper dive into some concepts.

* [How to design a Multilingual Workflow?](https://www.youtube.com/watch?v=rhAjf3I6oU8)
* [How to build a Human-like behavior for your Workflow?](https://www.youtube.com/watch?v=HlkuigxN1nE)
* [How to create a Routing Workflow?](https://www.youtube.com/watch?v=Z5F_ksZmSDE)
* [How to create an Out-of-Office Workflow?](https://www.youtube.com/watch?v=R2TeCZhyFoY)
* [How to put your Lead Generation on autopilot thanks to Crisp Worfklows?](https://www.youtube.com/watch?v=QTBFh9wGQxM)
* [Automate customer journey with Crisp Campaigns and Workflow](https://www.youtube.com/watch?v=HyamWN8iqVA)

#### ${color}[#445055](Going beyond the Workflows)

As you already know by now, the Workflow builder is only one of the features available on the Essential and Plus plans. It's a powerful way to better enhance your support's reactivity and cover a limitless amount of usages, but Crisp has many more tools at your disposal.

**Check out [all the available features here](https://help.crisp.chat/en/article/getting-started-with-the-unlimited-plan-1t7ptn1/) to see how you can better take advantage of Crisp!**