We would like to integrate Zammad into our company. We currently use a Business CRM where several tens of thousands of our customers are already stored. This database undergoes frequent changes.
Our Business software will soon be opened to REST APIs, and we were wondering if, through Zammad, there is a possibility to establish a kind of connection. When an email arrives or a call (we already manage the CTI part between our phone system and Zammad), we can make an API call to retrieve customer data and thus populate the efluid database on a case-by-case basis. Instead of creating a massive and cumbersome customer database in Zammad that would be difficult to keep synchronized over time.
We are in a similar situation. We use Pipedrive for CRM and the customer database is there. I also don’t like the idea to do a mass synchronisation with Zammad, but until now I don’t see a better way.
What you propose is an on-demand fetch of customer data. But how to identify the customer? Only by email or phone number? And what happens after Zammad got the customer data from the CRM and created a user? What if the customer data is updated in the CRM? I feel that step by step you will end up with a full synchronisation.
What I’m planning to do is to start with one-direction sync from the CRM to Zammad using first the API to mirror the entire database. Maybe I will limit the amount of data, because we won’t need everything in Zammad. Afterwards I would define webhooks in the CRM for updates of existing customers, deletion and creation of new customers. Webhooks will fire on demand and I won’t have to define ugly cron jobs every 10 min or so. I will take the id’s from the CRM and store them in the source attribute in Zammad to have a common unique identifier.
There is already a ready one-way sync feature for Exchange contacts. Maybe this is an option as well. But this means having the customer database mirrored on 3 places.
Actually the best would be if Zammad would be able to read an external database for at least some customer fields. But I don’t know how if this is possible at all.
Zammad can’t read external user databases in the scope you want it to. It’s -right now- technically all or nothing.
A possible workaround would be to fire a webhook to your CRM mainly with the email address (if that’s a fitting unique identifier) and maybe the user ID of Zammad so that your CRM can fire an API call to Zammad to populate the user data on demand. With this you only have full fledged data in Zammad for those who seeked your support.