You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dialog Flow中实现含用户姓名的Facebook Messenger欢迎消息

Got it, let's walk through exactly how to set up that personalized welcome message with the user's Facebook name in Dialogflow. Here's a straightforward, step-by-step guide:

Step 1: Ensure Facebook Integration is Active

First things first—you need to have Dialogflow connected to Facebook Messenger. If you haven't done this yet:

  • Head to your Dialogflow console, navigate to the Integrations tab.
  • Locate Facebook Messenger in the list, then follow the prompts to link your Facebook Page and configure the required webhooks/permissions. This is critical because Dialogflow needs access to Facebook's user profile data to pull the name.
Step 2: Option 1 – Use Dialogflow's Built-in Parameter (No Code Needed)

If you want a quick, no-webhook solution, Dialogflow has a built-in system parameter that can fetch the user's first name from Facebook directly:

  • Open the Default Welcome Intent (or create a custom welcome intent if you prefer).
  • Go to the Responses tab.
  • Add a text response and type: Hey $user.first_name. 👋 Welcome to Royal Hotel.
  • Save the intent. When a user messages your Facebook page, Dialogflow will automatically replace $user.first_name with their actual first name from their Facebook profile.
Step 3: Option 2 – Use a Webhook for More Control

If you need flexibility (like handling edge cases where the name isn't available), a webhook is the way to go:

  1. Enable Webhook for the Welcome Intent:
    • In your welcome intent, scroll down to the Fulfillment section and check the box for Webhook call for this intent.
  2. Fetch User Name via Facebook Graph API:
    • When Dialogflow sends the request to your webhook, you'll find the Facebook user ID in originalDetectIntentRequest.payload.data.sender.id.
    • Use this ID to call the Facebook Graph API endpoint: /{user-id}?fields=first_name (you'll need a valid Page Access Token with pages_messaging permissions).
  3. Send the Personalized Response Back:
    • Once you have the user's first name, send a response to Dialogflow that includes the name as a parameter. Here's a sample JSON response:
      {
        "fulfillmentMessages": [
          {
            "text": {
              "text": ["Hey $username. 👋 Welcome to Royal Hotel."]
            }
          }
        ],
        "outputContexts": [
          {
            "name": "projects/your-project-id/agent/sessions/your-session-id/contexts/user-name",
            "parameters": {
              "username": "Geofrey"
            },
            "lifespanCount": 5
          }
        ]
      }
      
    • Dialogflow will replace $username with the value you passed in the context.
Key Notes to Keep in Mind
  • The user must have initiated a conversation with your Facebook Page first—Facebook won't share their profile data if they haven't interacted with you.
  • For the webhook method, add a fallback response (like Hey there! 👋 Welcome to Royal Hotel.) in case the API call fails or the name isn't accessible.

内容的提问来源于stack exchange,提问作者The Dead Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:07:39