Home
Facebook Chatbot

Facebook Chatbot

to : We built a chatbot to handle customer service and issue gift cards via Facebook Messenger

Showcase & Media

Video Case Study

Post Mortem Discussion

Screenshots

Check out photos of this project

Architectural Diagrams

Check out architectural diagrams of this project

Problem

What was the problem to be solved?

As a small company that was hugely reliant on Internet sales, digital marketing was crucial for Country Shore.

Specifically, Facebook generated a large chunk of Country Shore's sales.

Country Shore found that it could increase the number of sales more with online customer service via Facebook messenger, but unfortunately, wasn't staffed to be able to man it at all times.

Solution

What was the proposed solution?

At the time, Facebook did not offer the ability to build canned chatbots, so we proposed we build our own.

The chatbot would be part of Facebook's Messenger platform for pages and respond when people contact the Country Shore Facebook Page.

The vast majority of people who were contacting Country Shore either wanted to know how they could get discounts, where their order was or how to return something.

So we figured we would try to solve this problems with the chatbot and anything that didn't fall into these categories, the chatbot would prompt the user to enter their email into the chatbot which would send a support request to Country Shore and also send the customer a discount to their email address.

Challenges

What challenges arose during the project?

Coordinating APIs was the biggest challenge.

We were basically juggling the Shopify API (to check order status, issue gift cards and discounts), the Facebook API (to parse and create messages) and the Mailchimp API to add subscribers emails to a list.

Technical

What was the technical approach to the project?

We leveraged AWS Lambda to create a lot of Node-based Microservices in the Open Source Serverless framework.

Each microservice had one purpose - check Facebook messages, parse a Message, Create a Message, fetch order from Shopify, add contact to Mailchimp, etc, etc.

We mirrored this locally for testing using Mocha and the Serverless framework's local plugin.

In all, we coordinated APIs between Shopify, Mailchimp and Facebook.

Additionally, we tweaked Country Shore's ads to send users to the messenger with a specific phrase which would trigger the bot to ask them to sign up for the Country Shore newsletter in return for a $10 gift card.

Management

What was the project management approach to the project?

We took an Agile Scrum approach to the project with one-week iterations and an IPM each week to demonstrate our progress.

We started with one Research Sprint to learn about the AdWords and Facebook Ads APIs, and after that, we worked in development sprints until completion.

Lessons

What did you learn from working on this project?

We learned a lot about creating bots.

And while ours was pretty simple (we looked for certain words - for example "Where's my", "I ordered"), the logic without a dedicated framework like AWS Lex can get pretty complicated pretty quickly.

Benefits

How did this project benefit the client?

Country Shore was able to reduce manpower on the Facebook Page, but also increased revenue by 5% just from auto-issuing discounts with the chatbot.

Why Gunner?

Why was Gunner selected for this project?

Gunner Technology has had a long-standing relationship with Country Shore as we helped set up their entire technology infrastructure when the company launched and are constantly automating redundant tasks for them.

The Team

Who worked on this project?

Proficiencies

What tools, techniques and methodologies were used on this project?

[object Object]

Agile

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams

[object Object]

Amazon CloudWatch

Monitor AWS resources and custom metrics generated by your applications and services

[object Object]

AWS CodeBuild

Build and test code with continuous scaling.

[object Object]

AWS CodeCommit

AWS CodeCommit is a fully-managed source control service that hosts secure Git-based repositories.

[object Object]

AWS CodeDeploy

Automate code deployments to maintain application uptime

[object Object]

AWS CodePipeline

Continuous delivery service for fast and reliable application updates

[object Object]

AWS IAM

Securely control access to AWS services and resources for your users

[object Object]

AWS Lambda

AWS Lambda lets you run code without provisioning or managing servers.

AR

AWS Regions

A Region is a geographical area, which consists of two or more Availability Zones, which are synonymous for a Data Center.

FM

Facebook Messenger Platform

The Messenger Platform is your toolbox for building bots.

[object Object]

Git

Fast, scalable, distributed revision control system

[object Object]

JavaScript

JavaScript is the world's most widespread programming language, powering the Internet.

[object Object]

Mailchimp

MailChimp is the world’s largest marketing automation platform.

[object Object]

Ruby

Ruby is a dynamic, interpreted, open source programming language with a focus on simplicity and productivity.

[object Object]

Ruby on Rails

Rails is a web application development framework written in the Ruby programming language

S

Scrum

Scrum is a framework for project management that emphasizes teamwork, accountability and iterative progress toward a well-defined goal.

[object Object]

Serverless Framework

Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more

[object Object]

Shopify

Shopify is a POS and e-commerce platform written in Ruby on Rails