Facebook Messenger Opt-ins: Requesting Permission in a Flow

Meta has updated its Facebook Messenger messaging policies to support opt-ins, so you no longer need to set a topic for every flow. With opt-ins, contacts subscribe once and you can send future messages without repeatedly requesting permission—making flow setup simpler and more flexible. In this guide, you’ll learn what Messenger opt-ins are, how to request an opt-in in a flow using the Request Opt-in action, and how to use opt-ins for compliant Messenger broadcasts.

Quick setup checklist

Use this checklist to replace “topics” with Messenger opt-ins and keep your flows compliant.

  1. Understand what Messenger opt-ins are
  2. Open the Messenger flow you want to update
  3. Add the “Request Opt-in” action
  4. Confirm what the contact sees
  5. Use opt-ins for broadcast messages
  6. Manage opt-ins and opt-outs
1
Understand what Messenger opt-ins are

Meta has updated its messaging policies for Facebook Messenger to support opt-ins instead of requiring a topic to be set for every flow.

With opt-ins:

  • Contacts subscribe once
  • You can send future messages without repeatedly requesting permission
  • Flow setup is simpler and more flexible

Important: Topics are no longer required. Opt-ins are now the recommended and supported approach.

An opt-in is a permission request that allows a contact to receive:

  • Non-promotional messages
  • Updates related to a specific use case
  • Broadcast messages (when applicable)

Once a contact opts in:

  • You do not need to request permission again for that opt-in type
  • Messages can be sent in compliance with Messenger policies
2
Open the Messenger flow you want to update

Navigate to the Flows tab and open the Facebook Messenger flow you want to edit.

[CAPTURE: Show a flow opened in the editor with Messenger as the channel.]

3
Add the “Request Opt-in” action

To request an opt-in, add the Request Opt-in action inside your flow.

  1. Add a new action node.
  2. Select Request Opt-in.
  3. Choose the appropriate opt-in type.
  4. Save the flow.

This action sends an opt-in prompt to the contact.

[CAPTURE: Show the action picker with Request Opt-in selected.]

Tip: Place the opt-in request early in the flow to avoid interruptions later.

4
Confirm what the contact sees

When the opt-in is sent:

  • The contact receives a Messenger prompt
  • They can accept or decline
  • Acceptance is stored and reused for future messages

[CAPTURE: Show the opt-in prompt as it appears inside the Facebook Messenger app.]

5
Use opt-ins for broadcast messages

Once a contact has opted in:

  • You can use the opt-in to send broadcast messages
  • No additional consent is required for that opt-in type

This makes opt-ins ideal for:

  • Updates
  • Notifications
  • Ongoing Messenger communication
6
Manage opt-ins and opt-outs

You can also:

  • Configure opt-out behavior
  • Respect Messenger unsubscribe actions
  • Combine opt-ins with triggers and campaigns

Note: Opt-ins are managed at the platform level and apply across flows.

Common use cases include:

  • Subscription-based updates
  • Ongoing service notifications
  • Messenger broadcasts
  • Reducing repeated permission prompts

Common Issues

I don’t see the “Request Opt-in” action

Cause: Your workspace or channel setup may not support Messenger opt-ins, or you are editing a non-Messenger flow.

Fix: Confirm the flow is using the Facebook Messenger channel, then reload the editor and check the action list again.

The contact didn’t receive the opt-in prompt

Cause: The contact did not reach the Request Opt-in action, or the flow path bypasses the opt-in step.

Fix: Review your flow logic and ensure the contact reaches the node containing Request Opt-in.

The contact declined the opt-in

Cause: The contact chose not to subscribe to that opt-in type.

Fix: Continue the flow with an alternate path (for example, a short explanation and a non-subscription option), or request the opt-in later if appropriate.

Broadcast messages still fail for some contacts

Cause: Those contacts may not have accepted the required opt-in type, or they opted out after subscribing.

Fix: Ensure your broadcast uses the correct opt-in type and verify that the audience has opted in to that type.