# Facebook Messenger

## Set up

To set up your assistant integration in Facebook Messenger, you'll need the following:

* A Facebook account registered in the [developer console](https://developers.facebook.com/).
* A Facebook page connected to Meta Business.

### Create a Meta App

1. Access the [Facebook developer console](https://developers.facebook.com/).
2. Click on 'Create application', select 'Other', and then click on 'Continue'.\
   ![](/files/e1siyE5ycXJScl7XSut5)
3. Select 'Business' in the next step.\
   ![](/files/toqZlf2WKBrTJgW3cDDK)
4. In the form, fill in all fields and click on 'Create application'.\
   ![](/files/XMpdX69SUMmuXEtzeTpd)
5. In the **Dashboard** menu section, click 'Configure' for the Messenger product.\
   ![](/files/KogozhjP4gSGpj4jWehg)

### Generate a Permanent Access Token

1. Go to **Messenger** > **Setting up the Messenger API**.
2. In the second step, click on 'Connect'.\
   ![](/files/UpolrfOCdGTRdiuxiu27)
3. Select the Facebook page you want to connect to the assistant.
4. Save and click on 'Generate Token'.\
   ![](/files/ZUZQ5t4wmo5Kd1yoQpHY)
5. Copy the generated token for future use. ![](/files/j23B38wYNvO68ZtOJdQu)

### Obtain the Facebook Page ID

1. Go to **Messenger** > **Setting up the Messenger API**.
2. Copy the Page ID displayed below the Facebook account.\
   ![](/files/ZUZQ5t4wmo5Kd1yoQpHY)

### Obtain the application secret key

1. Navigate to [Facebook developers console](https://developers.facebook.com/apps/).
2. Access to the created application.
3. Go the **Settings** > **Basic Information** menu section.
4. Click show and copy the application secret key.\
   ![](/files/NsJWBmjayiJ8KkkYUOIR)

### Connect your app with your assistant

#### Activate integration in 1millionbot platform

1. Go to the **Channels** section on the platform.
2. Activate Facebook and click on 'Settings'.
3. Enter the previously obtained data: Application Secret Key, Permanent Access Token and Faceboook Page ID
4. Click on 'Save'.\
   ![](/files/uDzM0fcuimyRhV3uCJ5y)

#### Activate integration in Meta

**Obtain the Callback URL**

1. Go to the 1millionbot platform and click on the 'Info' button in the Facebook channel to get the callback URL.\
   ![](/files/JN5KbWUUWfSBV1eDNJEA)

**Configure the Meta Webhook**

1. In the **Messender** > **Setting up the Messender API** menu section, click on 'Configure' in the **Webhook** section (first step).\
   ![](/files/UpolrfOCdGTRdiuxiu27)
2. Paste the previously obtained callback URL and Permanent Access Token.
3. Click on 'Save'.

### Set permissions

1. In the previous section, click on 'Administrate'.
2. Subscribe to messages permissions.\
   ![](/files/O8sYvxsOeXBcAJbaqHiT)
3. In the Generate Access Token section, click on 'Subscribe' and select the following permissions:\
   \- *messages*\
   \- *messaging\_postbacks*\
   \- *messaging\_optins*\
   \- *messaging\_optouts*\
   \- *message\_deliveries*\
   \- *message\_reads*\
   ![](/files/fGwJ7eale0rfO4mKAhyQ)

### Publish Meta app

1. Now, your application is in development mode, so you can test the assistant's operation as long as you are the owner or have access to the Facebook account connected to the assistant.
2. To publish the assistant for public interaction, complete the last step. ![](/files/UpolrfOCdGTRdiuxiu27)
3. Done! Once published, perform tests to verify the operation of your assistant on the provided Facebook account. 🎉

## Limitations

* A maximum of (200 \* Number of Fanpage Likes) messages per day can be sent per bot.
* Buttons must have a maximum of 20 characters.
* Maximum of 3 buttons per message.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.1millionbot.com/chatbot/channels/facebook-messenger.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
