Back
Srinivas Tallapragada
President, Chief Engineering & Customer Success Officer, Salesforce Inc

Salesforce for Developers Keynote: Build Faster and Smarter with Salesforce | Salesforce

🎥 Nov 08, 2017 📺 Salesforce ⏱ 58m
Applications have an amazing impact on employee productivity and customer engagement, and are empowering developers to help their businesses grow like never before. Join Srini Tallapragada, President, Technology at Salesforce, in this year’s Developer Keynote and be the first to see the future of Salesforce development. We’ll show you how to deliver customer apps people love more quickly, more easily, and smarter than ever. #Salesforce #SalesforceForDevelopers #SriniTallapragada Subscribe to Salesforce: http://bit.ly/SalesforceSubscribe Learn more about Salesforce: Website: https://www.sales...
Watch on YouTube

About Srinivas Tallapragada

At the 2017 Salesforce for Developers keynote, Srini Tallapragada, then President of Technology at Salesforce, discussed the company's developer platform and community. He stated that Salesforce had "more than 4.3 million developers on the platform," which he described as "the fastest-growing enterprise software developer community." Tallapragada said the platform offers "a full spectrum of capabilities from no code all the way to code" and is "centered around our multi-tenant platform where we manage your infrastructure and we deliver updates continuously." During the keynote, Tallapragada demonstrated features including platform events for real-time integration between Salesforce and independent applications, and highlighted new capabilities in the Winter '18 release such as "dynamic Lightning pages, page templates and richer developer tooling." He also expressed excitement about "next-generation packaging technology" for distributing applications, and emphasized that "customers love apps that are delivered fast" and "customers love integrated apps."

Source: AI-verified profile updated from Srinivas Tallapragada's recent appearances. Browse all interviews →

Transcript (10 segments)
S
Srinivas Tallapragada0:15
Time of the year because I get to meet all of you in person and share all the amazing things we are doing to make it easy for you to build customer apps that people love. In this presentation, we are going to show you a lot of features that we've already released. In the interim, we're also going to show you some features that we are planning for the future. So if you're planning to purchase, make any purchase decisions, please make it based on what's available at salesforce.com. Most importantly, I want to thank you for everything you do to bring amazing things to life on the Salesforce platform. I want to thank all our technology and product teams who work tirelessly to bring these capabilities to you. Thank you for inspiring us. Now, the Trailblazer community welcomes everyone. We are like a family, so we welcome you irrespective of your nationality, race, gender, orientation, or religion. Whether you're a seasoned developer like Dan Appleman, who is here, Dan, welcome to Salesforce and Dreamforce. As some of you know, Dan was an experienced developer at Microsoft, but now he's built a great successful business on the Salesforce platform. Or Bonnie, who is here. Bonnie, welcome to Dreamforce. Bonnie, we started our career on the Salesforce platform after having taken a different path. I'm pleased to announce that the developer Trailblazers community is thriving and Salesforce is the fastest-growing enterprise software developer community. We have more than 4.3 million developers on the platform. More importantly, all of you have created more than 200 developer groups across 50 countries where you all get together, learn, have fun while advancing your careers. No other platform gives you that. The passion you show us makes us all work harder. Now we also have great examples like Excel and Sterling who are Trailblazers on the platform. But who is a Trailblazer and why are we here? Spotify is your app, or if you're like me, you have a long commute and use Waze. Regardless, what you'll notice about these apps is that they are always improving. They're not constant, they're not the same as when you downloaded them. They're always improving. They give you an integrated view of your data and they give you intelligent notifications and suggestions to make you productive. And very important for all of us, they are built on a trusted and secure foundation so you feel comfortable giving your data. So if you're a developer, what does this mean for you? Customers love apps that are delivered fast. Johnny is here. Tom is a Trailblazer who has led his company through a digital transformation. You've heard from your CEOs and business leaders saying that digital transformation is here now. All of you can really help in the transformation if you can build those apps and the business processes needed for your companies very fast. There are a lot of tools and technologies to be able to do that. Customers love integrated apps. Don is here. Berta works for YouTube, he's a Trailblazer. Vardhan says people want a single view of their data so that they can be more productive. But the reality for most of you is that building that integrated view is not easy. We all know all the data is in different siloed systems in your organization. It is very hard to string them together. Aptly, she works for Fitbit. Smart apps motivate you and help you do your best. Yesterday we talked about the fourth Industrial Revolution. Mark talked a lot about it. The fourth Industrial Revolution is all about AI technologies and we all know it's going to impact us hugely in our personal lives but also in your careers. So if you're a developer, how do you use these technologies easily so you can build apps which are smart? So today we're going to show you how you can blaze your trail and bring customer apps that people love. We'll show you how you can build those apps faster, how you can integrate them easier, and how you can make them smarter.
W
Wade6:11
Thank you, Srini. It is awesome to be here today. This is without a doubt my favorite part of Dreamforce, being able to spend time with you, being able to geek out a little bit. We're going to look at some code and we're going to take a look at a lot of the great capabilities in the platform, especially things that we've released in Winter '18. And as Srini mentioned, we have to build apps fast. None of us in this room can afford to take time and to not deliver continuous value to all of our customers. And so all of this starts with the Salesforce platform where there's a full spectrum of capabilities from no code all the way to code, and it's centered around our multi-tenant platform where we manage your infrastructure and we deliver updates continuously. Whether you're a developer or you work in code all day long, it also lets you as teams work together to continuously deliver using tools you love and processes that your teams have adopted. It also includes the number one enterprise marketplace in the world, and that is the AppExchange, where you can get applications that have been pre-built by amazing partners or you can get components that you can use in your own custom apps. Now we have not been idle here in Winter '18, and so I want to give you a few updates on some of the great things that we've delivered. You may have seen in the keynote yesterday, Parker talked about dynamic Lightning pages. We're going to show this in action, and it provides an amazing way for you to create declarative experiences that will customize the way that your components are available in Winter '18. We're going to see a lot of them in the demo coming up here shortly. And then of course, Visualforce pages can automatically get updated so that it's taking advantage of the Lightning Design System, richly rendering all of those controls in a way that looks just like the Lightning applications. Now in Heroku, we've also made a lot of updates. And if you're building applications that combine apps running in Heroku as well as in the Lightning platform, that data synchronizes back and forth five times faster than it did in the past using Heroku Connect. And if you're building applications that require compliance, HIPAA, PCI, you can do that now using Heroku Shield, building it and using it along with the rest of the apps you're building in the Lightning platform. Now last year, we got to introduce you all to Salesforce DX, pulling together an amazing developer experience. Now in Winter '18, we've got a bunch of new capabilities as well. One of the things I'm most excited about is our next-generation packaging technology. And so whether you're an ISV or a customer, you can use this packaging technology to distribute your applications, to package it up, to version it, to be able to deliver it into your environments, whether it's sandbox or production. So definitely take a look at this next-generation packaging technology. We've also introduced updates to scratch orgs that are going to allow you to create a scratch org that reflects the shape of your production environment. So if you're a developer, you can be confident that everything you have enabled in production exists and is enabled in that scratch org so that you can build what you or our partners build. And so we're going to talk about them a little bit today. Now to show how all this comes together, I want to introduce you to an amazing Trailblazer, the Caribou Center. The Caribou Center is an organization that is changing lives and empowering people in rural Kenya, and they're doing this through high-tech agriculture. Their mission is to provide education to children and in doing so, provide ways with which their parents can end up getting employed, and really trying to change the dynamic of how that family structure exists. Now the Caribou Center is sustainably funded by a social enterprise called Organic Savannah. And what Organic Savannah does is it ends up harvesting crops that are used to make products. They are really taking advantage of the Salesforce platform in order to build apps and to build apps fast. They're using it to connect students and parents together, they're using it to track how harvests are doing in the fields, and they're doing it all. They're also using it to sell their products to distributors as well as individuals. And so what we're going to do is we're going to take a look at that second use case. We're going to see how the Caribou Center is using the Salesforce platform to manage their harvests and to track their crops. So we're going to start in GitHub, and GitHub is where the source of truth is for the application that the Caribou Center is building. Now they're using source-driven development with Salesforce DX. And as part of this, they're creating scratch environments. The way that our partners, our tooling partners, are creating amazing experiences in the tools here, you can see the Illuminated Cloud, which is a tool built by Scott Wells, and it's an extension to IntelliJ providing all the rich capabilities that you'd expect for Salesforce. It's got IntelliSense, syntax highlighting, code navigation, as well as a command palette that interacts with all the commands and capabilities that the CLI and Salesforce DX take advantage of. Now the other thing I want to highlight is that the Caribou Center is using this new capability with scratch orgs to create a scratch org that looks exactly like their production environment. So here you can see the source org ID so that when we create the scratch org, it has all the fields organized by crops. And so when we expand that, you can see all these fields. This is a brand new control, a Lightning component available in Winter '18, the tree view, and you can interact with it. Notice on the right, it's lighting up that pane and we can see all the details related to that field. One of the things on the right I want to call out is we've got this ability now to expand and collapse different parts of the screen to take best advantage of the real estate, and we're using another new Lightning component available in Winter '18, and that is the accordion control that you can use to provide this capability. Now if we look back on the left, not only can we render these fields in a tree control, we can also list it as a rich data table, and that is using yet another new Lightning component available in Winter '18, and that is the data table where we can multi-select many items. Another Lightning component available in Winter '18 is the dual list box. Now remember I said we've got a lot of new exciting Lightning components here, and so these are four that I think you're all going to love. So we can go ahead and submit this. Now you see how this ends up in an end user experience. Let's go ahead and switch back to our code and take a look at what this looks like for a developer. It's really pretty straightforward. Here you can see we've got a line of code, or maybe four lines of code, but one line of code representing the data table and everything about it. Below we've got a Lightning tree control. We can also specify details about what that's going to be rendering. And if we flip over, we can take a look at the dual list box, yet another line of code. And so all of this comes together to provide some pretty rich capabilities that we can use for rendering it as a custom Lightning component as a rich map where we can interact with the fields, and we can also see some information about it based on the color of the rendering of it. Here you can see a field that needs some attention. You can see the alert on the right: the irrigation level is below threshold. So what we're going to do is we're going to toggle this button right here and we're going to go ahead and turn on the irrigation. We're going to provide some water to this field. Notice when we toggled that, we got an overlay on the custom components on the left. We see that little label that is now overlaid on there. How is this working? How are we, through an action on this right pane, updating the left? Well, we're doing it taking advantage of the Lightning Data Service. So why don't we switch back to our code and see how this works? We also specified all the fields that we're interacting with, including if we move over a little bit to the left, you'll see irrigation. So when we toggle that control, we're saving the record and the Lightning Data Service is updating all the Lightning components. Here you can see the JavaScript where we're actually saving that record, where we're using again that service ID, and we're going to go ahead and save that record. And so again, all those Lightning components can receive that updated information and render accordingly. So let's now switch back to the application and want to highlight a couple of additional things that are exciting here in Winter '18. Now here's a field that needs some attention. If we click the detail, we can look at all the details of that field and notice how in this view it's not really calling out to us that there's something wrong. So we're going to create a filter that if the status is not OK, it's going to go ahead and render that component. Now this is taking advantage of dynamic Lightning pages so that based on the data for that record, we can arbitrarily decide what renders and what doesn't. So let's go ahead and save this and go back, and then notice how on the record that we've got selected, it's got the alert so we know that there's something we need to do. If we select another field where everything is okay, that component doesn't render. So dynamic Lightning pages provides a really great declarative experience for rendering how those pages get rendered. Now another thing that's exciting here is the ability to create new types of templates that end users can end up creating. And so how did we do this? What enables this? Well, it turns out that a custom template is nothing more than a Lightning component. So let's switch back to the code and see how it is that this works. Notice here in the top, we've got a couple of attributes, left and right. These represent the two different panes that we're rendering on this page. And then below, we've got some additional layouts here where we're specifying again that left and right. This is where the components are going to end up getting rendered. So in addition to this, we've got a design file, and that design file specifies some of the layouts for the flexi pages. So all of this comes together to create a pretty simple, straightforward custom template, and hopefully you can get an imagine how you can create some pretty sophisticated pages. We've shown this in different IDEs and in different editors, and you can see all the same sorts of things here. This is Visual Studio Code, and we've got a full panel of capabilities that are going to end up invoking commands available in Salesforce DX. Now we made a change in that scratch org, so what we're going to do is we're going to pull those changes now out of the scratch org. We're going to invoke this command, and only the things that we have changed and only the customizations we've made in that scratch org are going to come back out so that we can use this now and commit it into our source control. Once we've pulled it, now we can go ahead and commit it and push it back into the repo. And what's awesome is the Caribou Center is going that next step and they've got continuous integration setup listening to changes in this repo. So here you can see what it's doing itself: it's creating a scratch org, it's running tests, it's pushing source, it's deleting the scratch org when it's done. But the one thing I really want to highlight is that last command, and that is the Caribou Center is creating a next-generation package, a package that they'll then use to install into their sandbox environments as well as their production environments. And so all of this comes together: these updates with Winter '18 for Lightning, Salesforce DX to drive continuous delivery, and packaging in order to distribute to help the Caribou Center build apps fast. And so with that, pass it back to you, Srini. Thank you.
S
Srinivas Tallapragada20:51
So you've seen how source-driven development and second-generation packaging are going to allow you to create very complicated UIs with very little code. And also, we will of course be giving you support for more base components so you can really customize the experience as you want. So we have seen how we can build apps faster. Now to show you how to integrate apps easier, I would like to welcome Jane Turner, our lead developer evangelist, to the stage.
J
Jane Turner21:43
It is an honor to be here with all of you. So many mentors and friends I'm seeing in the audience. When I started building applications on the platform, my role had nothing to do with development or even Salesforce. I was just the person in the company who was trying to solve problems. And I think that's something we all have in common as Salesforce developers: that we're trying to solve the toughest problems facing our companies. And as Srini said, so many of those difficult problems involve integration. But as Salesforce developers, we know we're building on a platform that lets us deliver that single view of the customer because we can pull data from Sales, Service, Commerce, Community, Marketing, and more to give that single view for our companies. And when we need to pull data from other sources, we have an advantage because we can integrate our apps easier with the platform. Because the platform gives us options, we can use no-code solutions like process builder, or we can use code. All of us can base our apps on a foundation of modern event-driven architecture, which means we can completely rethink how we're connecting Salesforce to other applications and even our devices with the new IoT Explorer, which we're also going to look at. But I want to take a second and talk about how event-driven architecture works because this is a new concept for many of us building on the platform. And we have our platform event bus here with some familiar faces to get us started. And we can think about this event bus really as a service. It's a service that gives your applications the power to publish and subscribe to events. And we can think about events like a message when something important to your business is happening. Your application has this power to publish and subscribe across independent applications. That means you can build applications that can integrate to any system, you can build applications that can scale to handle millions of events per day, and you can build applications that stop having to rely on integrations that actually lock your systems together and can break with even small changes. Does that sound all right? I'm seeing some smiles. Well, it's one thing to understand this power and it's another to see what it does when we build. So let's bring back up this Caribou app. Okay, so Wade showed us this field map component, but what I think is really cool is what's behind it. Because what's behind this is an integration. There are events. We can see the Caribou is running their business on several different kinds of events, and we're going to go into this moisture sensor event first. Now the shape of it right here, it's pretty simple. We've got some identifying information and a level that's our moisture reading. But because this is coming in from a device, we can actually use IoT Explorer to work with this event and take action in real time. So when we search with IoT, you can see already we've set up several options, and we can drill straight into orchestrations. And you could think about orchestrations as the process as you build in IoT Explorer. So if we go into our field moisture orchestration right here on the traffic tab, this is a real-time view of what's happening. They defined those states, those categories, on the rules tab. So when we drill in there, there's a lot happening. We've defined our states to make sense of our data, and now we can take information coming in from our platform events as well as business logic in Salesforce to create a condition that then will trigger an action. And our action right here is dealing with a custom field, our status picklist, and that's what our Lightning component can then use to present that accurate color to users in real time based on real data coming in from platform events. But platform events can do even more for Caribou and connect them with these devices. As we heard, they power their mission of educating and empowering communities. In the Salesforce app, we're going to drill into that product bundles object, and I want us to make one right here together. We'll pull one pretty quickly. We're going to give it a description like "Soaps and Lotions," and you'll see why. Now that we're on the Lightning page, I can tell you this is how Caribou brings their products to distributors. They create these different combinations, and thanks to the power of custom Lightning components, you can see we've made a bundle very quickly here together. And our next step now should be to submit this to our distributors to fire off that integration. But at this point, I don't know what technology our distributors are running. I don't know if we're going to add one or three or five more distributors tomorrow. So as developers, how do we build an integration that can scale? We can have Salesforce publish an event when we change the status of this record, and we can have our distributor app or apps listen for this event and then process it in whatever way makes sense for their technology. And we have a distributor app that we can show you. So let's bring that up. This is an independent app, it's written in Node.js, and it's actually running on Heroku. So we see already a few bundles are here. And let's bring Salesforce now up side by side because I want you to keep your eye on this distributor app. Look at that list of bundles. And now we're going to go ahead and change the status in Salesforce, and when we do, in real time... yes, that's a huzzah moment right in real time. Independent applications are exchanging information. But we didn't just get a notification in the distributor app. We also got an update back in Salesforce because I'm going to go ahead and order this right now. That real-time update back in Salesforce, that's Salesforce responding to an event that occurred in an independent application. Let's go see how we did that. If we go back into Salesforce, and this screen might look familiar to one or two of you, what is this right here? This is Process Builder. I heard a call out. Yes, exactly. Because in Winter '17, you can now listen for platform events in Process Builder. We trigger a process off a bundle ordered platform event, and now we know that platform event was created by our distributor app, right? So let's go look at the code for that app. I want you to see what publish and subscribe looks like. Over here in the code, we have the API signature of a platform event, a double underscore e, and the rest of this function is just setting that payload, that information that we brought over from Salesforce into the UI. And if we scroll even further down, there's our bundle ordered event. There's the one that's being created by this application, and we can see that the shape of the rest of this function is a lot like creating a custom object. You're pulling information from the app, you set it as a field value on this platform event, and then we call create. Publish and subscribe in an external app. The Caribou needs to do more with their distributors than just send back and forth order information. They need to know inventory. We have a product name, and we're getting back a well-formed JSON object as a response. And I'm sure many of us in this room have taken just such a RESTful API and built it into Salesforce so that users can get at it. We can build custom integrations with this platform, and in fact, this app has made it easier for us because they've used a tool called Swagger, which is a framework for taking your API and then generating a schema or a quick description. So here we can see we're looking at that inventory endpoint we just went to, and now we know what kind of information do we need to pass in and what kind of information can we expect in return. Now wouldn't it be great if we could take this Swagger definition file and have an integration already built for us in Salesforce? Well, you can. We passed part of the URL of our Swagger definition file, and then when we drill into actions and view all our actions, you can see we have the same awareness of that API as our Swagger definition file now right here in Salesforce. But even better, the Apex that was generated for us by the wizard is dynamic and it's invocable, which means you can get at it quickly in Visual Flow. So if we go back out into the Caribou app and we go to our distributor inventory tab, we have a flow interview waiting for users. They can enter a product name. When we hit Next, because we're in flow, we can have custom business logic. We could say check for a stored response before we go hit that API. And when we hit Next, we can get the inventory information. If we edit this page, we have one standard flow component on the page. So why not two? Where do we save? You'll see why we pick this other awesome inventory check. We have our two flows side by side, and the one on the right looks a whole lot different, doesn't it? It's because this flow is using a new power in pilot in Winter '18 that lets you put your custom Lightning components screens in a flow interview. Which means you can let users search by a word like "Aloe" rather than a product serial number. You can show them a picture of the products. And when we hit Next, we're still in flow. We can still have our custom business logic, and when we hit that API, we can get the response. What we've seen with platform events is the power you have right now to integrate your apps more easily with Salesforce. So thank you. And Srini, I think it's high time I sent this event right back to you.
S
Srinivas Tallapragada34:31
So you've seen Jane explain how to integrate apps easier. Platform events let you build event-driven architectures. As developers, we always want to build loosely coupled but highly coherent architectures and systems, and that's what platform events gives you. You've seen how you can now integrate your device data easily with IoT Explorer. You've seen how you can put Lightning components in flows, which means that you can really drive complex UIs with business logic. You've seen how you can build compliant PCI, HIPAA compliant applications on Heroku and integrate them into your systems. And that's not all, there's a lot more you can find. And that's why we make integrating these apps easier. So we've seen how we can build apps faster, how you can integrate those apps easier, and now we want to show you how to make apps smarter. And to show you how to make apps smarter, I would like to invite the one and only Lea Megan here to the stage.
L
Lea Megan36:12
Building smart apps. We all love smart apps. Think about your favorite app. It probably is your favorite app because it's smart. I know for me, like my phone, if I'm driving, it automatically locks because it knows I'm driving. That's smart. Or Waze, that Srini talked about, it tells you how to get from point A to B in the quickest route, and it takes real-time consideration if there's an accident or something, it will automatically redirect you. Those are smart apps. Well, you can make apps smarter on the platform, and you really need three things to do this with Einstein. One: language. You can use the Einstein Intent API to identify what your users are trying to do, and then you can build on that intent API to create bots which are pretty amazing, and you're going to see this shortly. Second: vision. You can do object detection as well as image classification using the Vision API. And third: data. You can do predictions as well as analyze data using Einstein Discovery to surface any kind of insights in your data. And those three things will make your apps smarter. So let's take a little deeper into two of them, two of the newer products. One: Einstein Bots. Now these are pretty cool. For my developers, you guys can build these using Apex code, and we're going to actually have an example of this. Once you create those, you can then integrate them into your web and mobile apps using the Service Cloud snap-ins. So you'll see this momentarily. Also, Einstein Prediction Builder makes creating predictions easier. It is super powerful. You can work on standard objects as well as custom objects. Now once you have those predictions, it's just like any other data. You can put them in your Apex code, your flows, your integrations. Really powerful. So are you guys tired of me talking about it? You guys actually want to see it, don't you? You want to see it, right? Well, give it up for Christoph and Renee on the ones and twos back there driving the demo. All right, now let's jump into the demo. All right, so for Caribou, it's really important that they understand or can predict how much aloe they're going to harvest. Now in agriculture, that's referred to as their yield. This helps to plan their product production. But as you can imagine, predicting yield is not an easy thing to do. But with Einstein Prediction Builder, we make it a bit easier. So here we're going to go ahead and create a prediction. So we're going to go into Prediction Builder and we're going to go ahead and say New Prediction, and we're going to give it a name. We're going to call it Yield Prediction. We'll select that and click Next. And then Einstein will automatically select the fields to use in the prediction. The more fields, the more data, the better your predictions. And you're going to go ahead and click Next. And then you're going to choose which field do you want to store this prediction in. We want to store it in Predicted Yield. And then we're going to click Next, and then we're going to click Build. And that's it. Now what happens is Einstein creates an algorithm that identifies patterns in the existing harvest records. Now it is an asynchronous process, so it takes a while. But this is kind of like a cooking show; we already got one pre-baked for you. So we're going to actually pull up a prediction that's already been built. And you can see here we have a predicted yield of 12.5 tons. And we can derive other information such as how many bars of soap can we make from that yield. That's useful. Now if we're going to have 12.5 tons of aloe, we need to keep our fields, our aloe fields, healthy. In order to do that, that truly is a collaborative effort. And we're going to go ahead and use Quip to collaborate with the field supervisors, all of the office people, all of our maintenance people, our subcontractors, so that we can keep these aloe fields healthy to produce 12.5 tons of aloe. So let's go ahead and open up that Quip doc. So in here, what's super great about Quip now is you can incorporate live apps, which are JavaScript components that you can build. You can see a Kanban view that's also an out-of-the-box live app. But we're going to pull in the custom app of the map that you saw Wade show earlier of all of our different fields, aloe fields, pumpkin fields, right? So this is a great visual. Now this is fed by live Salesforce data. So if something changes in my Salesforce org, it's automatically updated in Quip and vice versa. Let's look at an example of this. So what's going to happen is we have our field supervisors out in the fields looking at the aloe plants and making sure they're healthy, and they're using their mobile, the Salesforce app. Now if you notice, it is branded with Caribou's icon. That is the Salesforce app. They're going to go ahead and take a picture. Now here's a couple things I want you to keep one eye on the map and one eye on the Chatter post. Before we submit, we're going to mention Einstein, and we're going to click Submit. Now two things are going to happen. One, immediately I get a feedback from Einstein saying "That's an unhealthy plant," to say the least, right? That is an unhealthy plant. That was the Einstein Vision API classifying that image as unhealthy. And then it updated our map. So if you notice, the aloe field on the Quip map turned red. So everybody's on alert, right? This is collaboration at a whole new level right here. Now this is amazing. Now what you just saw was an example of how Einstein can make your apps smarter. Now let's look at another example. We're going to go to the Organic Savannah e-commerce site. So this is the next-generation e-commerce site powered by Commerce Cloud. And if you see on the lower right-hand side, we have chat, which is our Service Cloud snap-in here, and it's a chat bot. So if I put in my information and start a session in a chat, the first dialogue that comes up is the Welcome dialogue. And in here, I can either choose from the menu or I can put in text. So I'm going to put in text. So I'm going to say, "Hey, where's my order?" It's going to come back and say, "I don't know." Well, that's not very smart. Okay, that might be an answer I get from my teenager, but not what a customer expects from Einstein. So let's go ahead and modify that so it's a little bit smarter. So we're going to actually configure this. In the first dialogue, I saw the Welcome dialogue. But how did it know to go to that order dialogue? Well, it's about intent. What happens is the bot uses natural language processing to analyze and identify what your users are trying to do. So you train it on some simple phrases. You have to provide some simple phrases, and then you train the bot on those phrases. Now powered behind it, this is powered by the Einstein Intent API. And then your intent will route it to an action. So if we look at the action, if we have it routed to "I don't know," that's not quite what we want. So we're going to go ahead and deactivate this, and then we're going to delete that action and add an action. We want to ask the user what order they are interested in, and then give them the status. In order to do this, the first thing we want to pull up is which Apex method. This is an invocable method. Now we're choosing the label name of the method, not the method name, because we want this to be user-friendly. It could be a non-dev person configuring this. So we're going to go ahead and choose that label, and then we have the input parameters. So this Apex method has a string input parameter, and we're going to bind that with a slot. I want you to think of slots as variables. So we're going to go ahead and choose the Live Agent session ID. Now this Live Agent session ID also has the contact information in there, so we can run a SOQL query to pull back the orders without having to ask the user for their order number. And we have the invocable method here. And then we have our input parameters of strings, and then we're going to do our return. And here's our SOQL query that populates the orders, and we put it into a variable called results. So it's Apex, you guys have seen this. And you just use the annotation of invocable method, you can use it in your chat bot. So let's jump back over. So now that we have the list of orders, what do we want to do? We want to give it to the users. So we're going to go ahead and say we want to ask them a question: "Here's your list of orders, which one are you interested in?" So we're going to go ahead and put out their orders, and then they're going to choose it. And then we're going to get the order status. You guys have seen that notation before, right? That's binding. And here I'm getting the order status of that particular order they're interested in. Awesome. So now we want to save it, then we want to activate this, and then we actually want to go out there and test this and see if this thing really works. So now let's try this again. "Where is my order?" And it comes back and it says, "I'm thinking about it." And it says, "Here it is right here. Here's your order. You have two items." Then I say, "I'm interested in aloe vera." Either one, aloe soap. I can choose. I'm going to select the first one, and it's telling me, "Here it is. 12 days. And in 12 days, you're going to get your aloe soap." So yes, that is what a smart app looks like. So you've seen how you can make apps smarter with Einstein.
S
Srinivas Tallapragada49:10
So you've seen how you can make apps smarter with Einstein. So we've shown you how you can blaze your trail by building customer apps that people love. We've shown you how to build apps faster, how to integrate those apps easier, and make those apps smarter. We've seen the Caribou application, and I would like to invite Luke Kincaid, founder and board of directors of Caribou Center.
L
Luke Kincaid49:39
Hey, thank you, Srini. Amazing crowd, yes! Bring forth. Thank you so much. So how is it going at Caribou Center? Well, this has been an incredible journey. The Caribou Center is a nonprofit organization based in rural Kenya. We are empowering communities through social enterprise. We grow aloe vera, we harvest it, we make handmade products for creating lotions and soaps, and we're exporting these to the US, we're exporting these to Europe, and all of that is funding operations. Now what makes this unique? Are we just selling soap? Where's the impact? Well, the core mission of our work is actually to empower communities. We want to uplift communities, and we're doing that through education and we're doing that through empowering parents. So we're educating kids, we're empowering parents, we're uplifting the communities, trying to uplift them out of poverty. So how has Salesforce been helping you? Well, it's been an incredible partner. We are a nonprofit in Kenya, and we are funding our operations through social enterprise. And the app has been an incredible part of that. So through the sales of Organic Savannah products, we are funding jobs in Kenya, we're funding STEM education, we're funding coding clubs, we're funding preschools, and all of that is sustainably funded, self-funded through our social enterprise. Now the Salesforce app streamlines all of those operations so we can track the sales and distribution, we can track the soil moisture in our fields, and we're doing that through Salesforce. Now there's a lot of sophistication in the background happening through Trailblazers like many of you here, through developers and partners. And it's really creating impact in the community. So do you have a message for the audience like this, a takeaway that you want to say? Yeah. So what can you do for us today? Well, Salesforce has started it off. Thanks to Salesforce, thank you. Salesforce has partnered with us to order product for everyone in the room today. So we're very excited to say that we have a handmade, hand-wrapped, all-natural soap, Organic Savannah, for each and every developer in the room today. Thank you so much. So thank you, Salesforce. And we ask you to take that soap, give it to a neighbor, a colleague, a friend, and actually tell them the story. 100% of the proceeds of this soap is creating jobs in Kenya, it's funding education. That's real impact and that's real sustainability. So really, I think we're creating a movement with products like this: social impact through social enterprise. You also can jump on our website, it's right there on the back of that piece of soap. You can order more. Christmas is coming. And for those of you that would like to invest in our community, why don't we hold up our phones today? I don't have my phone. We've got a lot of developers in the room, some of you might have two phones. You can text to give: text the word Kenya to 91999 and invest in what we're doing.
S
Srinivas Tallapragada54:11
Very much a sneak preview of what's coming in Spring '18. The number one for me is Change Data Capture. Change Data Capture coupled with platform events is really going to change the way you integrate with Salesforce. Einstein Named Entity Recognition allows you to extract and categorize entities, and you can really build powerful applications on it. We are going to have a whole new set of base components where you can really build even more powerful interfaces. You've seen dynamic Lightning pages. Dynamic home and app pages are going to allow you to customize even better. Services is a great tool which we are going to release, and you can attach services with each and every object. These are just some of the things which are coming. So if you're super excited with what you've seen, go to trailhead.salesforce.com and search for module code 64586. You'll get a customized trail mix where you can download the code, you can get the badges, and really understand the technologies we have shown here. So in summary, blaze your trail, build apps that customers love. Thank you.
U
Unknown55:38
I was never expecting to go viral, but it did. And the blog post is titled "The Best Thing I Built on Salesforce: My Career." And it's true. 15 years ago, if I would have said I'd have a career in technology, I would have told you you're crazy. And it's not easy to put yourself out there. I think about what is it that makes you excited and happy and passionate. What is it that I really love? Why do I like doing this stuff? Maybe your passion is veterans, maybe your passion is retail, or if you're in banking, you can really take what you learn in Salesforce and you can apply it to any industry. That was an eye-opener for me. This is a huge universe. I can actually start to dream about what I want to do. So many things you could do, so much with the platform. That's where it's been life-changing. I never thought I had the ability to do that. And I think Salesforce is not only giving me technical skills, it's giving me confidence in myself to know that I can achieve these things. Being a Trailblazer is coming out first and clearing the path for others. It's being the voice of the customer. You're giving them something that they're looking for. These tools actually push me to figure out what the best is every day. All of that is not possible without an incredible tool like Salesforce. And the smartest thing they've ever done is the community. It is phenomenal. The community just takes you wherever you need to go. I somehow found a user group and I went in there and I was actually hoping to learn. I'm proud of the work that you're doing, but the people you're doing it with make it special. It's changed my life, it really has. And it's changed my company and the customers that I work with. When your customers are happy, your company is thriving. And when your company is thriving, you're truly at your best. You're at the top of your game. This is what I was meant to do my whole life. Being a great career is enabling others to have a great career.