I'm Juventino Romero, full stack Node.js developer at Nearsoft's SoftwareDevTools team. We've recently attended the Pitney Bowes' Small and Medium Business Challenge, a product and application development hackathon for small and medium business (SMBs) focused applications and solutions held at San José, CA, at Paypal headquarters. We were asked to take part on the event by our partners at Freshworks since we're working together in various solutions integrated to their Freshdesk and Freshservice platforms and they are one of the hackathon's partners, along with Paypal and AWS.
The hackathon had 5 themes and 5 prizes. The themes were: E-commerce Enablement, SMB Productivity, Streamline Shipping Operations, Increase International Presence, and Open Innovation. The prizes were given for the best use of the APIs: three prizes for the best uses of Pitney Bowes' APIs in any theme, one for the best use of Paypal Checkout API in any theme, and one for the best use of Freshwork's APIs in the E-commerce Enablement theme.
Pitney Bowes' APIs
Pitney Bowes is a global technology company that provides enterprise-class technology that fuels business growth. It provides a wide range of APIs like Location Intelligence APIs to incorporate geodata into your applications, Shipping APIs to integrate USPS services into your platform and facilitate shipping, and Customer Information Management APIs for name and address validation, and customer insight (there's a couple more APIs available). Pitney Bowes provides customer engagement, customer information management, global e-commerce, location intelligence, and mailing and shipping services to approximately 1 million customer all around the world.
As we have some amount of experience building Freshdesk apps, we decided it was best to submit our app under the E-commerce Enablement theme and aim to win the prize for best use of Freshwork's APIs. Our app had another underlying purpose, which bring me to talk about MercadoLibre, its open API and its customers demanding a MercadoLibre - Freshdesk integration.
MercadoLibre is the biggest e-commerce platform in Latin America (and the 8th in the world), it connects retailers and buyers from over 16 countries. They're also an IT company, developers all over the world make use of their Open Platform to create applications that help sellers and buyers improve their experience. Their ecosystem divides in different business units: a Marketplace where people can buy and sell almost any product, Mercadopago which is a service that lets you send and receive money online for purchases on MercadoLibre, MercadoShops which is a platform that helps you build and manage your online store, and MercadoPublicidad which is their advertising product that offers pay-per-click text ads that appear during the site searches and on product pages.
They've developed an open API that enabled them to have more professional businesses being part of the ecosystem. Many developers and businesses have created solutions for retailers and, therefore, making an income out of these applications and services.
MercadoLibre's API is easily monetizable. Their resources can help you automate and enhance everything you need to do with MercadoLibre. They make use of the resources they share, which is a guarantee that you can rely on it and is constantly improved. With their API, anyone can develop their application and help sellers escalate their business, increase sales, and gain customer's loyalty. It can be done using any programming language. Their API is RESTful, you can use a url to access the different resources corresponding to the departments that make up their ecosystem.
The prototype we decided to build
MercadoLibre has been in contact with SoftwareDevTools since they've been interested in the MercadoLibre - Freshdesk integration for a while now. They need the application since many of their customers, at least 30 businesses from Latin America (mainly Brazil, Argentina, and México), have requested its development.
We saw the opportunity to "kill to birds with one stone" by making a prototype of what would be the MercadoLibre - Freshdesk integration and submit it in the hackathon. This way, we could take a deep dive in the MercadoLibre's API, develop one of the use cases to present it to Freshworks and MercadoLibre and get early feedback, and take the chance of winning a prize at the hackathon.
The integration we developed solves the main problem and it's one of the most important use cases expected of the final application: the Freshdesk agent will be able to solve tickets made from questions by users at MercadoLibre to any of their products, get any of the information needed to answer the question, and answer it; all without leaving the Freshdesk platform.
As part of the sales process, in the pre-sale phase, a potential buyer asks the vendor for information regarding the product, the shipping, warranty, or any other thing he or she wants to know about. The vendors may sometimes have a hard time to with customer service as they may have hundreds of products in sale. The pre-sale phase is crucial for a sale to take place and that's why our solution helps increase sales and improve customer support.
The app was built using webhooks trigger by MercadoLibre any time a question is made, the webhook is then received by a middleware which creates a ticket using the Freshdesk API and then, through Freshdesk webhooks, sending a reply to a middleware which uses MercadoLibre's API to respond the user's question. In the Freshdesk ticket view, the agent is able to view the question, all the product's info in a sidebar, and the information of the user that made the question. This way the agent is always aware of what product is the question related to and has all the information relevant to answer correctly.
At the event
The hackathon took place at the Paypal headquarters. I was expecting a lot of participants to be there since the event's slack channel had a lot of active members, but there was 30 at most, with the other 266 participants online. It started out at 10 A.M., we had a breakfast buffet, and some introduction talks by each partner of the event (Paypal, Freshworks, and Pitney Bowes). We got in the mood and by 11:30 A.M. we were up and coding… and mostly reading documentation… and eating delicious chocolate cookies.
By lunch, we had tested the API's features we needed and they all worked out perfect: with MercadoLibre's webhooks we got notified about every time a question was made and we could give an answer through the API, and we could create tickets with a custom fields containing the product's id and the question's id. These custom fields are important as we use those fields to fetch the product's information and display all its information on the ticket's sidebar. Also, we used one Pitney Bowes API to display the user current time zone. It's not the most useful API provided by Pitney Bowes but, since the MercadoLibre - Freshdesk integration is meant to be used only in Latin America and since it was the only API that applies to any country, we had no other choice.
Meeting with Freshdesk's team and getting some of their assistance
As development went through, we had one blocker: we didn't know how to notify the middleware when an answer was to be submitted to MercadoLibre and how to enable the user to choose which ticket's reply is to be sent without interrupting the user's normal flow. This was the perfect time to ask for some help from the Freshworks' staff in the event. We got Rahul Agarwal to get a look into our app, give us some feedback, and provide some possible solution to our blocker. He was very enthusiastic about our solution and very excited that it will be a new application in their marketplace very soon.
Regarding the blocker, Rahul said it was not an easy task since there is no way of enabling a special answer button to trigger an event but rather he explained about a Freshdesk feature I didn't know about: the Observer. The Observer lets you automate actions when specified events occur in a ticker in real time. It can be used to modify statuses, change priorities, and even send out notification alerts as soon as certain conditions are met. Any ticket-related event in the helpdesk that is caused by a user causes the Observer to spring into action. For our purposes, the Observer needs to trigger a webhook as soon as a specific event occurs. This specific event should only occur when the agent intends to post an answer to MercadoLibre. As suggested by mentors, the special event could be the agent creating a private note, and the content of the private note should be the answer to be posted.
Creating a video-demo
After our class, we got into applying what we've learned from our new friends/mentors from Freshworks. Their suggestions worked perfectly and, once the backend was up and running, we could test and start creating our video demo presentation. The video has three parts: 1) description of MercadoLibre and why we think the application is necessary, 2) explain the problem and solution we were building, 3) a demo of how the integration works, 4) explain some other features to add to the app, and 5) give a brief explanation of the tech stack and procedures used to make the app work.
MercadoLibre is the most used e-commerce ecosystem in Latin America, its open resources enable developers to provide solutions and applications for vendors to use to increase sales and improve customer service. With these tools, SMBs can expand and widen their scope, and even compete with big companies. The goal of the hackathon was exactly that, build innovative solutions so SMBs can compete in a global market and create better and help them solve many of the problems they struggle with every day.
As a Latin American company, working with MercadoLibre and taking the first step towards creating this extremely useful solution has given us great insight into what the application is able to do, what the APIs are able to provide, and how the user's business is able to thrive in the e-commerce industry.
Trying to improve your #Agile practices? OR are you getting started with Agile? Are you in a remote team? Check out our products for Agile teams at SoftwareDevTools. We focus on making agile ceremonies more effective and easier to adopt for remote teams.
Check out our Atlassian tools:
- Agile Retrospectives for Confluence
- Agile Retrospectives for Jira
- Scrum Poker for Confluence
- Scrum Poker for Jira
- Stand.bot for Stride: A bot to automate daily updates.
- And for Slack also!