[MUSIC]
Julian Duque: Hello, in this episode we are going to see how Salesforce Heroku
extends your CRM to deliver seamless customer experiences.
Speaker 2: Because future looking statements are inherently subject to risk
and uncertainty, our reminders is that you should make any purchasing decisions or
investment decisions based on products that are currently commercially available.
Julian Duque: My name is Julian Duque, I'm a lead developer advocate at Salesforce,
mainly working on the Heroku team.
One of the themes we got care from our customers is that the shift to digital is
way more important than ever and need to happen quickly.
For organization, this means we need to start creating new ways to
engage with customers creating digital content.
Especially when we are at home, the demand for
this type of content has been increasing.
For companies and organizations, in order to better connect with the customers,
they need to then define new channels and have the tools to provide
a better connected and integrated digital experience.
This is what we created the Salesforce Customer 360 platform,
which is a CRM where teams from service, commerce,
sales, marketing, and IT departments can work together.
And have a shared view of the customer and
improve their experience with our platform.
Heroku is part of the Customer 360 platform.
It is the simplest and fastest way to come from an idea to production.
We are going to be providing you a platform as a service
where you can deploy your applications.
And integrate with the Salesforce platform, so
you can provide better and integrated customer experiences.
Now it is time for a demo.
First we are going to learn how to deploy an application to Heroku.
And then we are going to check a more realistic use case.
So we can see how can we extend our CRM to build better and
integrated customer experience from fact?
Do you know that Trailhead runs on Heroku?
Well, now you know.
Let's take a look at how can you deploy.
We are going to learn how to deploy an application to Heroku.
First, we need to start with a project.
Here we are using a lightning web components open source project that we
are going to deploy.
We need to make sure that project is a good repository.
We also need to have the Heroku CLI installed on our computers.
This tool allows us to manage our application from the common mind.
Then we need to create an application using the Heroku create command and
add an unique name.
Now after we have this, a new remote has been added to our project.
Now for deployment, we just need to push or project to the local region
that has been created with the command git push heroku master.
Heroku receives the code, the text that is going to be a Node JS application.
In this case, I need to go into start building this application.
We are going to install all of the dependencies and
follow the different steps that you define on your app.
After the process has finalized, our application now is deployed on
Heroku dyno, which is a beautiful machine or a process per application is running.
At the end, we can run it Heroku connect to open the application and
see that it has been successfully deployed to Heroku.
How easy and powerful was that?
Now that we saw how to deploy applications to Heroku,
let's take a look at a more realistic use case.
In this demo, we are going to tell the story of Pulsar,
a fictitious electric car manufacturer.
Omar, a sales representative, Nicole,
a potential customer and Laura, a service technician.
Who will be looking at things from the perspective of Pulsar's lead developer,
as she creates both the sales representative user experience and
integrate with the customer user experience built on Heroku?
For days,
we created a progressive web app using Lightning Web Components open source.
Nicole just got a raise and she wants to build her new car.
She's going to the online configurator from Pulsar and
she's speaking out the options she wants.
At the end, she wants to get notified once this car gets available.
So here we have Nicole.
She selected a pro white car with black interior.
I mean, it's a long range Pulsar neuter.
Let's fill out the information.
And now click on Notify Me so
we get a notification when this car becomes available.
Now let's take a look at the Omar's sales representative experience in Salesforce.
He can go to the Pulsar showroom app, click on the leads Tab, and now
he can see that there is a new lead that has been automatically created for Nicole.
Now you might be asking yourself, how we build this on Heroku and how we integrated
these customer facing applications with our salesforce organization?
Well, we have a progressive web application deployed
on Heroku using Lightning Web Components open source, or customers can consume this
application via mobile, or using a web browser.
Once our customer sends the information or application is going to receive an API
call, and it's told that on a PostgreSQL database also hosted on Heroku.
We are using Heroku Connect to synchronize that Postgres database
with our Salesforce organization.
That's how Omar can take a look at the lead information
that is coming from the customer facing app.
As I mentioned before, we are building this progressive web application
using Lightning Web Components open source.
This application consists of two parts.
One is the client and the other one is the server.
The client consists of all of the different graphic components that we need
for our application, both the configurator and the form.
Then we need to send all of the information we are capturing from
the forum and
send it to an API endpoint that we are also running on our application.
We can trigger this API info from the component using a JavaScript call.
On the server, we are receiving all of the form information on an API endpoint.
We are taking this data and inserting it in a progress skill database.
Using regular SQL, for this you can use any of our supported languages.
Also, we are using Heroku Postgres.
Heroku Postgres is a reliable and
powerful database as a service based on the open source project PostgreSQL.
From the Heroku dashboard, you can manage and
monitor the health of your database instances.
Now that we have our data on the Heroku Postgres,
we want to synchronize the data with Salesforce.
How can we do that?
We are using Heroku Connect.
Heroku Connect syncs database directionally between Heroku Postgres and
Salesforce without you worrying about any API integration or API limits.
Nicole changed her mind and decided to visit the bolts our showroom personally.
Here, Omar, the sales representative, can guide him through the same configuration
process she was following online.
Here, we are reusing the same Lightning Web Components we created for
a customer facing application deployed on Heroku, so
we can use the same technologies to build both the sales representative
experience and the customer experience integrated on it.
At the end of this process, Omar is going to find the call on the lead list and
send her a PDF with the configuration of the car she selected.
This PDF is being created by Salesforce functions,
a product from the Customer 360 platform.
Once the PDF has been created, we can go and visit the lead record page.
Take a look at the related attachments and open the PDF we created for her.
Now she can share the new car she selected with her friends and family.
Here on the Salesforce project, we can see that we are reusing the same configurator
or lining web component that we created for a progressive web application.
But with some features like changes so
it can be integrated in our Salesforce application.
Let's fast forward to the future.
Nicole bought the car and she's super happy with it.
The smart cars usually send some sort of data to the mothership.
This allows the hell of the car being monitored remotely.
So a service technician like Laura can take a look if something
bad is happening with the car.
How are we achieving this?
We are receiving all of the events from the cars
using an IoT protocol called MQTT.
We are bridging that information using Apache Kafka on it Heroku so
we can consume all of those data events from Service Cloud.
So if there is a malfunction in the car, if we send a malfunction event so
we can receive it as a case on Service Cloud.
A malfunction event has been triggered from the car.
So let's take a look at Service Cloud.
From here, Laura can check the case that has been created for
Nicole with the technical issue that we received.
Laura can click on the Battery Diagnostics tab, select the Range,
and now take a look at the data we have been receiving directly from the car.
From the chart,
we can see that we are expecting a normal battery life consumption where our
battery has been depleting faster than expected exposing an issue.
Also, we can take a look at the real time data that is coming directly from the car,
this is possible because we are using IoT technologies and
we are receiving all of that data events using Apache Kafka and
a stream that data to our Salesforce application.
On our Salesforce application, we are connecting to our WebSocket server that is
running on Heroku from one of our Lightning Web Components.
Here, we can see how we get the data and add it to a chart in real time.
Also, on the server application that is running on Heroku,
we are exposing our WebSocket service.
This is relying on an Apache Kafka consumer
that is connected to the IoT provider
to get all of the different real time data events that are coming from the cars.
This is the same WebSocket service we are using on ourselves for
supplication in the same diagnostic stuff that we showed previously.
On our application, we don't only use the services we created, but
also others that are available on the Heroku elements marketplace.
These let's take you advantage of other managed services
that are available for you.
Not only the ones that Heroku supports officially, but
orders that you can find on different categories like logging, monitoring,
email, SMS, or in the case of our application quality messaging.
For our application, we are using Cloud MQTT, an MQTT IoT third party provider.
Also from the same elements marketplace, we are using the different add ons.
Apache Kafka on Heroku, Apache Postgres and Heroku Connect.
Well, it is time to summarize.
So let's take a look at our full solution.
We build a progressive web application using Lightning Web Components open source
that we deployed on Heroku.
We're also using Heroku Postgres to store information on a database and
that database it's connected to Salesforce using Heroku Connect.
We are also receiving all of the events from the cars using MQTT and
processing those events using Apache Kafka.
With Salesforce and Heroku, all of the Forte of deploying and
maintaining our application has been simplify so
we can focus on the business and the problem to solve
instead of investing time on operations and maintaining our application.
Here at Salesforce, we are always innovating.
These are one of the latest innovations we have brought from
the Heroku Data Services team.
Bring your own key, allow you to have way more control over your private data.
Heroku Shield Redis allow you to have a HIPAA compliant,
Redis instance so you can build real time applications using your CRM data.
Also, you have Trusted Data Integrations.
You can connect with public or private clouds using mutual TLS or private link.
We also released a new version of the review apps feature we have on Heroku
pipelines, with easier management with a new permission system and also giving
you way more flexibility to work with complex work logs with public APIs.
Hey, if you like what you saw, you can check out the following resources.
You can go to trailhead, and
check the following modules, Heroku Enterprise Basics and Heroku Connect.
Both are going to guide you how to start working with Heroku and
how to integrate Heroku with Salesforce.
We also have an e-book available for you.
Transforming Data into Customer Experiences
that you can download at the resources section.
And if you are looking for
inspiration, I want to get the things a little bit more practical.
You can go to the Sample Gallery hosted at Trailhead.
Here, you can find a collection of applications that are built on
the Salesforce platform, each one showcasing a set of features,
letting you know what you can use to start building your applications.
It will not only show the features, but
also provide you with reference code and best practices.
Also, if you want to stay connected with our developer community,
I will invite you to subscribe to the following podcasts.
The first one is Code[ish], the Heroku podcast.
Here, you can find a series of stories about code,
technology, tips, tools and the life of a developer.
There is also the Salesforce developer Podcast, where you can find short and
in sample stories by developers for developers.
And well, that is Heroku, part of the Customer 360 platform.
And on this episode, you learn how Heroku can help you extend your CRM
to build seamless customer experiences.
Thank you very much for watching this episode.
My name is Julian Duque, and see you on the next opportunity.
Bye-bye.
[MUSIC]
Marcus Stevenson: Did you know that an ally is someone who doesn't identify as
an underrepresented group but seeks to understand the challenges that they face?
At Salesforce, we distill becoming an ally and a four practices, ask,
listen, show up, and speak up.
Skilling up on equality makes our community stronger.
Learn more on Trailhead, and earn your Equality Ally Strategies badge.
[MUSIC]