According to Facebook Broadcasting Policy, you can only message your users (sending them broadcasts) within 24 hours of their last interaction with your Bot. You can also send only one additional message after this 24 hour period in order to follow up on your conversation. However, if you specifically get permission from your users to receive your broadcasts, you will be able to send broadcasts at any time.
Let’s say you’re creating a bot for a vacation rental in Amsterdam. In your Welcome Message, you’ll need to ask the user if they agree to receive broadcast messages from your Bot.
Once you’ve asked the question, you need to save the answer to a user attribute. In the screenshot above, “Quick Reply” button is used to do so. When the user clicks on “Yes, sign me up” button, the answer is saved to “subscribed” user attribute.
Now, go to the “Broadcast” tab in the left menu and click the button under “Deliver Your Message Now”. There you will see the built-in User Filter which allows you to choose which specific groups of people will receive your message.
Click the “User Filter” button and set the “subscribed” attribute to “Yes, sign me up” value to make sure only those who opted in are selected.
This way the broadcast will be sent only to users who picked "Yes, sign me up" in "Welcome Message" block.
To give a user a way to unsubscribe from broadcasts, you’ll need to create a separate block to which the AI will send them to if they type in specific phrases. In this block, create a Set up user Attribute plugin and set the “subscribed” attribute to “NOT SET” value.
Make sure the bot lets the user know they have been unsubscribed from the broadcasts by adding a text card like this one:
After that, go to Set Up AI tab to create a new AI rule. Be sure to choose the block you’ve created previously.