Integrating Lead Forms, Salesforce, Slack, and Email with AWS

AWS is a popular cloud service used today. This course will show you how to leverage seven Amazon services to build a functioning application that integrates with Salesforce and Slack, two powerful business tools in the marketplace.
Course info
Rating
(10)
Level
Beginner
Updated
Apr 11, 2017
Duration
2h 1m
Table of contents
Course Overview
Getting Started
Understanding Your AWS Tools
Sending Messages to Slack
Posting Leads in Salesforce
Sending Emails with SES
Coding a Lambda Workflow Coordinator
Building a Lead Form with HTML and S3
Creating a Simple Monitored Queue with SQS
Building a Simple Form Processor
Description
Course info
Rating
(10)
Level
Beginner
Updated
Apr 11, 2017
Duration
2h 1m
Description

When building software using AWS, you need thorough knowledge of what services to leverage in any particular software product design. In this course, Integrating Lead Forms, Salesforce, Slack, and Email with AWS, you will learn how to design and build a fully functioning end-to-end business application. You will accomplish this using three different programming languages. First, you'll learn how to use a Lambda function to accept a form submission and place the message in a queue. Next, you'll explore Cloud Watch, and learn how it monitors the queue to launch a simple Lambda workflow with decision points to send email notifications via SES, a contact message to a Slack channel and all the lead data to Salesforce. Finally, you'll take everything you've learned and you will build a simple form processor. When you're finished with this course, you will have a foundational knowledge of key Amazon services needed to support developers that will help you move forward to build better applications, in less time.

About the author
About the author

Tom is a veteran developer and a practical architect with over 19 years of experience building products. He loves diving into new technologies and finding solutions to new and old problems.

More from the author
Connecting and Deploying Amazon ElastiCache
Intermediate
1h 36m
May 15, 2019
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name's Tom Compagno and welcome to my course, Integrating Lead Forms, Salesforce, Slack, and Email with AWS. I am VP of technology at Contravent. Whether you work for a large company, or you're building your own products, AWS has over 70 services you can leverage to help build better software. In this course, we're going to leverage 7 of those 70 services to build a functioning, end-to-end business application that collects website leads and sends the data to three external services, including Slack, Salesforce, and email. Some of the major topics that we'll cover include Lambda Functions to support several key application services, Beanstalk and Golang to connect our app to Salesforce, the API Gateway will be our central point of service management, and finally, we will use SQS and Cloudwatch to help separate collections of leads from the processing of that data. By the end of this course, you'll be familiar with seven different amazon services and understand how you can use multiple programming languages with those services to build more applications. From here, continue your learning by diving into AWS with courses on Amazon RDS or AWS Storage Solutions. I hope you'll join me on this journey to learn AWS with Integrating Lead Forms, Salesforce, Slack, and Email with AWS, at Pluralsight.

Getting Started
Hi, my name is Tom Compagno. And thanks for watching this course on Integrating Lead Forms, Salesforce, Slack, and Email with AWS. AWS has around 70 different services available and are consistently adding more. Most of these services are useful on their own but start combining them together, and you can create some pretty powerful business applications. In just a couple of hours we're going to create a real world business application, a simplified version of something I see all the time working for an ad agency. We're going to build an automated lead distribution application. Companies are always looking to load up on new sales leads and put that data into sales platform for quick action. But before we talk about those details, let's quickly review what the first module will entail. In this getting started module, we'll first go over a high level overview of the components in the workflow of our business application. Next we'll dive a little deeper into each area of that application. This will allow us to see what the component will do, how it will do it, and which Amazon Web Service we will utilize to make it function. And finally with all those parts understood, we will look again at a high level to help keep all those pieces in view. Let's explore our system in more detail but still at an overview level. The platform will consist of a lead generation form which can be placed on a corporate or any marketing website. Once submitted, that form will be processed, and distributed to three possible systems. If the user provides their phone number in the form, we will send the form data to a pre-defined Slack channel where our customer support reps can watch and make a direct call. If the user provides their email address, we'll send a marketing email response to the provided email. And finally all the form data will be sent to Salesforce where it will be entered as a new lead in order to follow some additional Salesforce automated workflows. That's the overview. Let's dive into each step of the process to see which Amazon Web Services we will leverage to make our platform run more smoothly.

Understanding Your AWS Tools
Hi, my name's Tom Compagno, and welcome to this module on understanding our AWS tools. In the last module, we talked about our lead distribution business application. We looked at each of the application components, and how we can support those components by leveraging different Amazon web services. In this module, we're going to explore the AWS console in more detail, and specifically look at the console configuration for each of the services in our application.

Sending Messages to Slack
Hi this is Tom, in this module we're going to set up our integration between AWS and Slack. This module will be completed via the Slack administration tools, and AWS web console using your favorite browser. So, the only thing you need to have set up already, is your Slack admin account, and your AWS account. Slack provides an easy integrations out of the box as mentioned in previous modules. This module includes setting up our Slack channel and adding a custom integration. We're going to follow that by setting up our API Gateway configuration, and doing some testing to make sure our message lands in our Slack channel as designed.

Posting Leads in Salesforce
Hi, this is Tom, and in this module, we're going to explore what it takes to post a new lead in the Salesforce by leveraging AWS tools. This is the most involved module of the course. Please pay close attention to the instructions. Every step is necessary to ensure all pieces fit together appropriately. Upfront, be prepared with your Salesforce developer login, your AWS CLI tools, the Go code from the demo package, and we'll finish up in the AWS console.

Sending Emails with SES
Hi, this is Tom, and in this module, we're going to show how you can send an email using SES. We will be adding a new capability to our application today. In many cases, when a lead comes in from a website, we may want to trigger an immediate response to that lead in the form of a well-crafted marketing email. This can help create a connection with a potential client and lead them to even more topics on our website. Let's take a look at what will be involved with making that happen.

Coding a Lambda Workflow Coordinator
Hi, this is Tom, and in this module, we're going to build the central workhorse of our business application. We will do this with an on-demand lambda function running Node and written in JavaScript leveraging serverless concepts. This will allow us to pop new leads off a message queue and route them to their appropriate services based on a simple schedule. Let's take a look at everything we'll be accomplishing as part of this module. First, we'll take a look at the flow of what our coordinator needs to do on every run and talk little bit about what Amazon service will use to build it. And we'll jump in and build our function inside the console to demonstrate how easy it can be even for more complex code. This will lead us to reviewing our lambda permissions and make some key adjustments so our coordinator can access other services as required. Then we'll redeploy our code using the CLI tools to show how more complex code package can be deployed outside of the console. And finally, we'll discuss next steps as we have additional dependencies to build before we can fully test our function.

Building a Lead Form with HTML and S3
Hi, this is Tom. In this module, we're going to build a simple HTML form and upload it to S3, so it'll be accessible from the internet. To do that, we will set up an S3 bucket, upload our file, and connect it to a mock API endpoint in our API gateway configuration. At a high level, we will take a look at S3 and how we will use it in this module. We will focus on how S3 can store and deliver our HTML form for collecting our sales lead data. Our demonstration will walk us through the key components, including the API gateway, S3 configuration, and a quick test of our new form availability. And then finally a quick summary. Overall, this should be a quick, easy module but a key component in our overall application, and this is what will collect our data from our potential lead visiting our website.

Creating a Simple Monitored Queue with SQS
Hi, this is Tom. And in this module we're going to add and configure a basic messaging queue using a simple queue service. We are also going to show how we can schedule a service to kick off our coordinator workflow Lambda function in order to check that queue for a new message. Our queue will temporarily hold messages from incoming form submissions. First let's review a little what SQS is, and follow that up with how combining SQS and Cloudwatch allows us to keep an eye on the queue for new messages. We will run through a demonstration which will end with updating our Lambda configuration from a previous module and run a test, and then we'll talk about everything we learned.

Building a Simple Form Processor
Hi, this is Tom. And in this final module, we're going to build a simple form processor using a couple of tools. We'll build a Lambda function to take the form data and post it into SQS, but we'll also use the API Gateway to do some manipulation to our incoming form data before it passes to the Lambda function. Before we begin let's take a look at what we plan to do during this module. First we'll quickly review our Amazon services, then we'll jump into our demonstration. Then after the demo, we'll do an end to end test of our entire application, and finally give a course summary.