The Welcome Screen

The welcome screen is the first thing people see when they encounter your Messenger bot, and includes information that allows a person to learn about your bot and what it offers. The welcome screen displays the the name and responsiveness of your bot, the profile picture and cover photo from your Facebook Page, an optional greeting message, and the 'get started' button.

The welcome screen includes a 'get started' button, which starts a conversation with your Messenger bot when it is tapped. When a person taps the 'get started' button, the message 'get started' will be posted into the conversation, and your bot is then granted permission to send messages.

Contents

Setting the Get Started Button Postback

When the button is tapped, your webhook will receive a messaging_postbacks event that contains a string specified by you in the get_started property of your bot's Messenger profile. This postback should be used to trigger your initial welcome message, such as a set of quick replies, or a text message that welcomes the person.

To set the postback payload, send a POST request to the Messenger Profile API:

curl -X POST -H "Content-Type: application/json" -d '{
  "get_started": {"payload": "<postback_payload>"}
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"

For complete details, see the get_started property reference.

Best Practices

  • Do communicate next steps to encourage a response in your welcome message. You can use buttons to add structure to your message and call out specific actions people can take.
  • Do share basic commands in your welcome message. Communicate which keywords or terms people can use to ask for help, get updates, etc., so they find what they want more quickly.
  • Do change your onboarding experience when your bot experience changes. Revisit your greeting text and welcome message as you update your capabilities to make sure they’re still relevant.
  • Don't forget everything on the screen works together. The context you provide in your Messenger Greeting should complement the “Get Started” button.
  • Don’t be too generic. Try addressing people by name to make the message feel personal and treating it as an opportunity to teach them how to use and control the experience.

Setting the Greeting Text

The greeting text on the welcome screen is your first opportunity to tell a person why they should start a conversation with your Messenger bot. Some things you might include in your greeting text might include a brief description of what your bot does, such as key features, or a tagline. This is also a great place to start establishing the style and tone of your bot.

You may provide default and localized greeting text.

To set the greeting text, send a POST request to the Messenger Profile API:

curl -X POST -H "Content-Type: application/json" -d '{
  "greeting": [
    {
      "locale":"default",
      "text":"Hello!" 
    }, {
      "locale":"en_US",
      "text":"Timeless apparel for the masses."
    }
  ]
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"

For complete details, see the greeting property reference.

Personalization

You can personalize the greeting text using the person's name. You can use the following template strings:

  • {{user_first_name}}
  • {{user_last_name}}
  • {{user_full_name}}

Example

"greeting":[
  {
    "locale":"default",
    "text":"Hello {{user_first_name}}!"
  }
]

Best Practices

  • Do consider your greeting an introduction and a summary of your experience. Greetings have a 160 character maximum, so keep it concise.
  • Do communicate your main functionality. Context helps people understand how to interact with you and sets expectations about your capabilities.
  • Don’t treat your greeting like an instructional manual. Because your greeting disappears, use your actual messages to introduce specific functionality and commands.
  • Don't use excessive text formatting (ex: spacing, punctuation, returns) in your greeting so you can make the most of the character limit.