How Evergreen developed a smooth process using Pipedrive API & Unisender

Author: Sergey Kravtsov

Setting the Scene:

Client’s company: UniSender
Industry: SaaS, Email & SMS marketing tool
Location: Ukraine, Russia, Belarus, Kazakhstan
Sales and account managers team: 7 persons
Solution provider: Evergreen
Location: Ukraine
Specialization: IT development and process automation

UniSender is the developer of an email and SMS-mailings tool which helps to send more than 460 million letters monthly, with 99.4% delivery. Mailings are conducted with the compliance to international standards and requirements of the legislation and anti-spam policy. UniSender has gained more than 518,000 clients since 2008 and is the biggest email service tool in Ukraine, Russia, Belarus, and Kazakhstan. UniSender is used by several world renowned brands, sending tens of millions of messages a month.

Evergreen is an IT development and solution provider with experience in process automation and SaaS development with expertise based on 150+ completed projects since 2009.

In need of an answer

The story of Evergreen’s partnership with UniSender began in 2012 when several new user registrations per day made it necessary to automate more and more processes — as manual processing of all of these new registrations was turning into a real mess. There was a clear need to parallel the processes of automation: 
1. Automation inside the service core.
2. Marketing, sales and client account management automation done in the CRM.

Our main goal was to make an integrated marketing communication system, where the account manager will only handle major high-level operations, with full client profile and history, collected in CRM. The system should thereby do all routines in automatic mode and minimize the number of cases where a manager needs to call or write directly, but in situations when a call to the client is necessary, they should see all previous calls, their results, deals, and payments on one screen in the CRM.

Initial efforts to find a solution

Before integrating with Pipedrive, we used a previous CRM software. The vendor stated the possibility to develop a business process in the editor in BPMN, but in reality we faced several nagging problems with the system, core, and UI in addition to many vendor-side bugs. Our CRM related debugging process turned into a real mess as every change in logic required a qualified C# specialist to write code using the interface of CRM without IDE.

After a while, we examined the CRM market by reviewing more than 15 demos and decided to implement the simple and easy-to-use Pipedrive system, but transfer all the logic from the CRM to external modules and interact with the CRM solely via API.

Solution that worked

We decided to use Corezoid as a business process engine. The Corezoid platform provides the environment to develop and maintain processes, which is much easier compared to writing code from scratch. Corezoid can be used as a type of “glue” that connects different systems via API’s. Due to the perfect API of Pipedrive, building automated processes with Corezoid was much easier than anything we tried before.

Our main automation was centered on events when new users register in UniSender, update their profile, or when they make a payment. The goal was to build real-time processing of new user registration and payment to collect and prepare data.

Steps to implement

The basic scheme of this solution for registrations or profile updates, looks like this:

Payments are collected as Deals in Pipedrive, the scheme may differ, but the principle is essentially the same. Let me describe below some of the technical details:

Corezoid uses json endpoints for each process. At the start of the process, you pick from the URL of Corezoid’s interface and it looks like this: https://www.corezoid.com/api/1/json/public/2****5/0da2acedc*******6cc7034be16387982

UniSender has a webhooks mechanism, so we simply pass our json-endpoint and set-up an events list that we want to collect. From now on UniSender will then send us all registrations and profile updates in json to our endpoint. Event data looks like

{ 
“event_data”:
{
“status”: “0”,
“language”: “en”,
“currency”: “USD”,
“country”: “USA”,
“reg_time”: “2016–04–12 07:07:38”,
“firstname”: “Andrea”,
“phone”: null,
“email”: “*****”,
“login”: “Andrea_test”,
“id”: “19321***”
},
“event_time”: “2017–10–25 07:07:41”,
“event_name”: “user_registered”
}

In Corezoid you can simply access ‘to object’ and ‘object’ fields with placeholders like {{events_data.phone}} or with js-code data.events_data.phone so that making API calls and handling their responses is quite easy. We get the full profile information (webhooks do not provide all fields that we need) by the API call to UniSender API getUserInfo method, handle it’s response in JSON, find person id in Pipedrive by the login in UniSender with /searchResults/field API method (if not found, we create a new entity) and pass all needed fields to Pipedrive with /persons/{id} PUT API method. You can see Corezoid’s process for this scheme below.

We’ve also set-up several triggers based on events and previously collected data. Here’s an example of one of the simplest situations: we know that approximately 80% of users upload their test email databases into their account on the same day as registration. If a user doesn’t upload any contact (subscribers_total field in profile object), we can then send him an automated notification “Dear {{Name}}, do you forget about us, or are there some difficulties?”. This system helped UniSender improve relations with their customers at the trial level. Our process is also concerned about the managers load balance and assigns new client’s activities to a less loaded manager.

The most interesting cases often require a long history collected in the CRM. We can analyze events and payments flows, detect deviations from a normal users operation and automatically (in real-time) create a task for the manager with a description of what is wrong.

Pipedrive API is fantastic for this kind of automation because it allows us to send a huge amount of requests and not have to think about possible overload.

We have also set-up the webhook in Pipedrive to another Corezoid process to handle added.person events to track leads added after the marketing events. After a conference or webinar, we manually create in Pipedrive a list of people (or import it from a marketing service) and then the Corezoid process starts its every day check to see if they have registered in UniSender, searching lead’s email in UniSender by API. If they have, we can give them a personal call or even add some event-related bonus. If not, we will send some warming-up emails.

How has this solution benefited us?

As a result, UniSender now has the convenient CRM system accessible from any device, with business processes and data validators capable of processing a lot of requests in real-time. In fact, currently 7 managers are now able to serve more than 100,000 active service customers.

We have also significantly shortened our support budget. The previous team for everyday support was: PM, C# developer, PHP developer, QA engineer — up to 50–80 hours/month. The team now for everyday support with Pipedrive & Corezoid: up to only 10 hours of analyst per month. With lowering the license cost due to changing UniSender’s old CRM to Pipedrive, and limitation of labor cost (without this automation we would have more than 20 managers) we now have significant optimization.

Links

https://unisender.com/en/

https://corezoid.com

http://evergreen.team