[MUSIC PLAYING]
ADAM CHAN: Hi, everyone.
I'm Adam.
FELIPE HLIBCO: And I am Felipe.
ADAM CHAN: And we are developer relations engineers at Google.
Over the last few years, we've worked
at the intersection of messaging, business
development, and AI at Google.
So we're excited to be sharing how all these come together
through Google's Business Messages
and how you can build a chat experience on Search and Maps.
It's not news that people love messaging each other.
We've seen a big uptick in people
spending more time on messaging services because
of the pandemic.
We're also increasingly seeing they want to message brands
too.
From knowing whether a store is open to scheduling
a pickup to getting one to one expert
help to find what they're looking for.
Customers today expect speed, simplicity, and convenience,
but that's not always what they get.
Before we go much further, I want
to start by first telling you about something
that happened to me recently.
Earlier this year, I was on the hunt for a new pair of hiking
shoes for a camping trip.
I started by reading ratings and reviews
online and found a pair I liked, so I looked up
the closest store.
At the store, the shoes are out of stock.
So I called a different store location,
but they were out of stock too.
I ended up ordering a pair online.
My trip was quickly approaching, so I called the service team
to request an express delivery instead
but their call center was closed.
I checked their website FAQ, but it didn't help.
The information I was looking for was nowhere to be found,
so I had to wait to get in touch with them.
As a consumer, the whole process felt
as exhausting as a long run.
I was also annoyed that I had to search
for the information I was looking for across so
many different sources.
By the end, I was left disappointed
and it made me question whether I'd buy from them again.
So what if things were different?
What if customers could message businesses
wherever they are in the moment they need and get
all the information they want in one conversation?
Our teams at Google are thinking about precisely this,
and we are really excited to share
what we've been working on to deliver
helpful, timely, and engaging experiences
in the moment your customers need help wherever they are.
FELIPE HLIBCO: With Google's Business Messages,
customers can reach a business from wherever
they are in their journey on Google Search, Maps,
or any brand on channel.
Customers can chat with a life agent
or with a lifelike AI powered Virtual Agent that
understands, interacts, and talks in natural ways.
ADAM CHAN: The result is a seamless experience
for customers with all the information and questions
they're looking for answered in one chat experience,
whether it be from a smart AI powered Virtual Agent
or from a live agent.
For businesses, they also have the option
to distribute existing real life agents
to other customers at scale.
FELIPE HLIBCO: With billions of searches every day,
people look to Google when they want
to know something, buy something, or get
help doing something.
In fact, 90% of all online experiences
begin with a search engine.
Businesses now have the opportunity
to meet customers in the place where they are already
searching, like Google Search and Maps
and be available to chat with them throughout their journey.
Businesses are able to expand their reach,
show up where it matters in a way people prefer,
and drive conversions with meaningful, scalable,
one to one conversations, all while reducing the cost
typically required to offer this level of personalization.
ADAM CHAN: We've seen a lot of brands benefiting from Google's
Business Messages.
From offering customers a personalized
experience to increasing conversions and improving ROI.
Businesses have been able to drive business impact.
Here are just a few of the millions of businesses
around the world that are using Google's Business Messages.
FELIPE HLIBCO: We are excited to talk to you
about developing conversational applications on Business
Messages.
ADAM CHAN: There are three simple steps
to get started building on Business Messages.
From a bird's eye view, you'll start with a Business Messages
agent, which you can create using the Business
Communications Developer Console or using the Business
Communications API.
Then you'll design a conversation
either on your webhook, passing conversational messages
to and from a live agent or through a chat bot that
could be powered by conversational AI
through an integration with a tool like dialog flow.
FELIPE HLIBCO: Finally, when you're
happy with how your agent interacts with users,
you can launch your business message agents should Google
Search and Maps so the chat button
appears in organic results.
ADAM CHAN: The best thing about this conversational platform
is that you can lean into the very standard web development
best practices that you may already know and love.
One way to get started with Business Messages
is to use a web application to receive messages and use
the Business Messages API to send messages.
In the conversation, it starts with a welcome message,
and you can use many interactive elements
to display information and guide the user to take actions.
This includes rich cards, rich card carousels,
rich text with suggested actions,
images, authentication with Oath, and much more.
You can send these interactive elements to a conversation
with ease using the Business Messages API.
FELIPE HLIBCO: At the high level,
Business Messages conversations will
include a welcome message and possibly some conversation
starters to help guide the conversation.
ADAM CHAN: One type of message can be a rich text that
contains some rich formatting.
With that message, you can include suggestions or what
many call chips to help these user along the happy path
of the conversation.
FELIPE HLIBCO: You can even send typing indicators
to let the user know a message is being sent to them.
In another type of rich feature, we
have a rich card carousel on screen.
You can include some actions tied
to the card within the carousel.
Anywhere a user can start a business message conversation
is called an entry point.
When the user starts a conversation through an entry
point, they can send a nimble message
to your website application.
And the URL application will receive it
on a publicly accessible URL we call a webhook.
This webhook can be configured using the Business
Communications API or the Business Communications
Developer Console.
ADAM CHAN: Every message received by your webhook
includes a conversation ID so that you can reach back out
to the user at a later time.
Once you receive that message on your webhook,
the ball is in your court.
We call this agent control flow, as it
is a programmatic flow where you decide
whether the conversation is receiving responses
by a live agent or a Virtual Agent.
Once the live agent or Virtual Agent has produced a message,
you send that message back to the user
as an outbound message using the Business Messages API.
FELIPE HLIBCO: Let's take a look at the messaging flow
one more time.
ADAM CHAN: The user sends a message
from a Business Messages conversation, which
flows through the Business Messages infrastructure
and then goes to your webhook.
You decide whether your webhook will have automation
to generate an outbound message or surface
the message from a live agent.
You take that outbound message and use the Business Messages
API to send that message back to the user.
Let's take a deeper look at what requests
look like on your webhook.
Your webhook can receive requests of varying formats.
In most cases, we include meta information
about the message, context of the conversation,
and if you have it enabled, a dialog flow response
object that contains the response the dialog
flow generated to support an automated conversation.
FELIPE HLIBCO: This payload has all sorts of information
to help you better support your users.
If the conversation was started from a location based entry
point, we would include a place ID,
which is an identifier that can be used to map back
to a specific address of the business a user may have been
talking to.
There are many types of messages or conversational elements
available on the conversational interface.
No matter what kind of message you send us,
you must include a message identifier,
a representative object to identify whether the message is
coming from a human or a bot, and it may also
include a fallback text string, which is presented to a user
if their device could not receive
a certain type of message.
With this basics, you can invoke any of the message types
you see on screen and more.
ADAM CHAN: As with any messaging app,
a text message is the most basic table stakes feature possible.
With our API, you can control the representative
who is sent the message to the user.
This includes an avatar, the avatar's display name,
and of course the contents of the text message.
Text messages are great for sharing information, sending
follow on prompts to get more information from the user
and anything that is available through text.
If you ever want to emphasize anything in text,
we also support rich text formats,
which allow you to include markdown like syntax
to bold, italicize, hyperlink, and line break messages.
When you send a rich text message,
ensure to include the rich text format flag
as part of the message payload you send to our APIs.
FELIPE HLIBCO: Aside from sending and receiving
text messages, you can also prompt a user
to respond using what many chat applications call chips.
Our platform call this suggest actions.
In its simplest form, a suggested action
allows a user to tap a button, which
sends a message containing the text of the suggested action
and also some post back data, which
can encode something parsable by your application logic.
ADAM CHAN: Suggested actions can also
provide more advanced functionality
like invoking the phone calling app
with a pre-dialed number just inviting
the user to press call.
Or in another variation to open up the browser
to a specific web page potentially inviting the user
to complete a purchase.
In even more complex flows, a suggested action
containing an authentication request
can support the user to authenticate
against another web service, and you
can integrate with the external APIs using the user's access
token to surface their own personal data
in the conversation.
FELIPE HLIBCO: We support images as well.
The payload should generate an image is fairly simple.
It includes a content info object within an image object.
The content info object should include alternative text,
a publicly accessible URL to the image,
and optionally a Boolean force refresh
flag, which will catch the image when set to false.
ADAM CHAN: Images are of course pretty standard
in messaging apps.
They're great if you're building a conversational app that
requires better visual cues, like a furniture
store for instance.
Being able to send images of inventory or samples
is critical for communication, but sometimes, you
might want to have a call to action with an image.
For example, to prompt a user to learn more or actually
purchase an item.
In these instances, you can use a rich card.
Rich cards are a user interface element
that showcases an image, includes
a title and a description.
The rich card object of course, contains a title,
a description, and a media object,
which in turn contains a content info much like an image
but also includes a height attribute.
FELIPE HLIBCO: And if you have a list of items, which
include graphics and you want to add call
to actions with each item, you can
create a list of rich cards or a rich card carousel
within the conversational interface.
And of course, this applies to rich card carousels as well.
All right, so we've talked a bit about the more rich media
based features on the platform.
There is also a ton of power under the hood.
ADAM CHAN: Another really great feature
on the conversational platform is user authentication
with any OAuth 2.0 provider.
This will allow you as the developer
to trigger API calls on other services on behalf of users
with the scopes they've given you access to.
Imagine building a shopping experience,
where a user is putting together a shopping cart in a business
message as conversational app supported by Dialogflow
conversational AI.
And later, they sign onto the website
and their shopping cart is persisted
because they authenticated within the conversation.
Check out the built in Dialogflow integration.
Dialogflow is a natural language understanding platform
that makes accessing the power of conversational AI
unbelievably easy.
With it, you can match natural language
to intents that are important for your conversational app
and when a certain intent has been triggered,
your web service can behave accordingly.
You can activate the built in Dialogflow
integration right within the Business Communications
Developer Console.
FELIPE HLIBCO: The possibilities really are endless.
If you build a Business Messages conversational agent
as an app instead of a chat bot, you
can really create complex flows and support tons of use case
to provide value for users all across the Google ecosystem.
All right, so that's just a bit about Business Messages.
It's a very natural extension of the Google ecosystem
to provide helpful information where users are already
looking.
To get started, head on over to our developers web page
and register as a developer today.
ADAM CHAN: Make sure to check out our code samples.
We have several repositories of samples that you can pull from.
You can also use our conversation design guide,
which outlines conversational best practices
for specific verticals.
FELIPE HLIBCO: We are excited to see what you build.
You can create a business message agent for yourself.
If you have a real business on Google
or are connected with someone who has a business on Google,
you can even get your business message agent verified
and launched on Google Search.
And when you're ready, integrative Dialogflow
to get the power of conversational AI baked right
into your conversational experiences
on Business Messages.
ADAM CHAN: Here are some additional resources.
FELIPE HLIBCO: To learn more about Business Messages,
check out our website businessmessages.google,
our developer portal, and definitely
don't forget our code labs.
ADAM CHAN: Thanks for joining us on this exploration
of the Business Messages platform.
[MUSIC PLAYING]