In response, initially, Power Automate (formerly Microsoft Flow) came to mind, which I used to work with before joining Zammad. However, this tool is not suitable for every budget and requires certain know-how. Despite good alternatives like Zapier and IFTTT, they all contradict the values of Zammad.
As a consultant for open source software, I know very well that customers appreciate Zammad above all for its transparent handling of the source code. This happens for good reasons: the open-source code not only provides the opportunity to host the software itself but also the assurance that a dedicated community continuously works on further development.
Open-Source Automation Tools
I went on a search to provide customers with an answer that met their needs—and to feed my own curiosity. And I found what I was looking for. Two open source tools caught my attention: n8n and huginn.
Both make it possible to automate certain workflows without programming knowledge and, for example, to use events in one application as triggers for reactions in another application. They can also be used to exchange data between applications. Instead of writing scripts in Python, Ruby or Perl and having to deal with the APIs of all the applications involved, you can "simply" click together the solution thanks to these tools.
While a slightly deeper understanding of the Zammad API is required for huginn, n8n scores with a direct Zammad integration. The possibilities are wide-ranging, and I'd like to briefly touch on some of them.
Use Cases with Zammad and n8n
With n8n, you can seamlessly connect Zammad with hundreds of other applications and create sophisticated automations between Zammad and your stack. Here are some examples of effortlessly automated workflows:
- When tickets are created in Zammad, n8n checks if additional information is available in the CRM for the customers. If yes, it enriches the customer data in Zammad with additional details such as contact information, order volume, and currently active orders.
- When tickets are closed in Zammad, n8n prompts the customer satisfaction application to invite participants for feedback.
- When orders are received in the online shop, n8n automatically creates tickets in Zammad for internal processing.
- Every morning, n8n counts the escalated tickets in Zammad and sends a summary to the team chat.
The possibilities are endless! Explore the list of n8n integrations and discover more tools that you can seamlessly integrate into your workflows with Zammad.
Concrete Example: Making CRM Customer Data Available in Zammad on Demand
Let's focus on the first use case directly. Suppose you have an extensive customer database. However, due to the excellent quality of your products, support inquiries are rare. You don't need to regularly synchronize all customer data into Zammad's user database. For reasons of data minimization, you only want to make customer data available in Zammad when needed. Each time a new ticket is created, the customer data in the CRM should be checked, and if necessary, supplemented or updated in Zammad.
n8n greatly simplifies the creation of rapid workflow automations. A particular strength is the ability to visualize the workflow as a flowchart. This creates a clear process where relationships and dependencies are immediately apparent:
-
First, we need to configure the webhook call in Zammad:
-> n8n provides us with a webhook, and in n8n, we select the HTTP method "POST".
-> In Zammad, we create a new webhook call, and the necessary information is provided by the webhook from n8n. -
Next, we set up a trigger in Zammad to call this webhook when a ticket is created. Alternatively, we can also add this as an additional action in the example trigger "auto reply (on new tickets)".
-
Now we need the data from the CRM:
-> We add a new node in n8n. In the screenshot, I am accessing a Postgres database, but perhaps your CRM is natively integrated into n8n?
-> We have all variables from the Zammad ticket available as search criteria. I only need the customer's email address: {{ $json.body.ticket.created_by.email }}. These can be easily dragged and dropped from the list of available data (left side) into the search field (middle column). -
Finally, we update the data in Zammad:
-> We add a new node in n8n "Zammad > Update user".
-> We can still access the data from the webhook provided to us: {{ $('Webhook').item.json.body.ticket.created_by.id }}. These can also be easily dragged and dropped from the available data into the corresponding "user ID" field.
-> All other customer data can now be added under "Update fields", and the corresponding fields in Zammad can be filled with the data obtained from the previous Postgres call.
Summary
The search was truly worthwhile, and I have found the ideal solution for our customers. With the powerful combination of Zammad and n8n.io, we can save a lot of time and effort by automating recurring or complex tasks. This not only improves the efficiency and quality of service but also enhances customer and employee satisfaction.
I hope this blog post has sparked some inspiration. Perhaps our paths will cross soon in an exciting Zammad workshop—I look forward to tackling new challenges with Zammad for you.