Configure Business Features

Learn the available options to enable and configure business features for the Facebook Business Extension.

Configuration Options

To enable and configure business features for the user, use one these available options:

OptionDescriptionRecommendation

Feature setup via Business Login

Passed in to Business Login to enable and disable Facebook Business Extension (FBE) features.

Enable this feature option for partners via the FBE Developer Panel. When this feature is used, partners should make users aware that these features are automatically be enabled for them.

Recommended if you have a default set of features to set up for the user.

Feature Management View

Self-service Facebook UI for the user to enable and disable FBE features.

Recommended if you don't want to build a UI and use Facebooks's UI self-service, nor their Facebook and Instagram features.

Feature Configuration API

Creates a custom feature management view to enable and disable FBE features.

Recommended to build your own feature management view to match the look and feel of your user's.

Supported Features

Facebook Business Extension offers many features you can enable for your businesses.

The following features are grouped by the vertical they best cater to:

Standard Features

FeatureParameterDescription

Facebook Page Call To Action

page_cta(s)

Type: FBEPageCtaConfigData

Call to Action (CTA) button on the business's Facebook Page.

Instagram Call To Action

ig_cta(s)

Type: FBEIGCtaConfigData

Call to Action (CTA) button on the business's Instagram Profile.

Messenger Call To Action

messenger_menu

Type: FBEMessengerMenuConfigData

Call to Action (CTA) button in Messenger when a user is messaging the business.

Messenger Chat

messenger_chat

Type: FBEMessengerChatConfigData

Enables Messenger integration directly onto your website, allowing customers to interact with your business at anytime.

APPOINTMENTS-Specific Features

FeatureParameterDescription

Featured Services Page Card

page_card

Type: FBEPageCardConfigData

Requires Catalog.

Card with the business's featured services on their Facebook Page.

Messenger Send Availability Thread Intent

thread_intent

Type: FBEThreadIntentConfigData

Messenger suggestion for business admins to easily send their appointment availability to a user in chat.

No Additional Implementation Required

FeatureParameterDescription

Facebook Page Call To Action

page_cta

Type: FBEPageCtaConfigData

Call to Action (CTA) button on the business's Facebook Page.

Instagram Call To Action

ig_cta

Type: FBEIGCtaConfigData

Call to Action (CTA) button on the business's Instagram Profile.

Messenger Call To Action

messenger_menu

Type: FBEMessengerMenuConfigData

Call to Action (CTA) button in Messenger when a user is messaging the business.

Messenger Send Availability Thread Intent

thread_intent

Type: FBEThreadIntentConfigData

Messenger suggestion for business admins to easily send their appointment availability to a user in chat.

Additional Implementation Required

FeatureParameterDescription

Featured Services Page Card

page_card

Type: FBEPageCardConfigData

Available for APPOINTMENTS vertical only.

Requires Catalog implementation.

Enables card with the business's featured services on their Facebook Page. See FBE Catalog for required fields and formats for the SERVICES vertical.

Messenger Chat

messenger_chat

Type: FBEMessengerChatConfigData

Enables Messenger integration directly onto your website. This feature allows your customers to interact with your business anytime with the same personalized, rich-media experience they get in Messenger.

If messenger_chat returns enabled: true from the Feature Configuration API:

<div class="fb-customerchat"
            page_id="<PAGE_ID>">
        </div>
  • The page_id can be obtained via Webhook or the FBE installs endpoint guide.
  • Facebook automatically fetches customizations based on the page_id passed in; therefore, does not require any customization to be explicitly passed.

For the full implementation guide, see Customer Chat Plugin.

Initial Feature Setup via Business Login

You can configure any number of features for your business by specifying them in the business_config property, which is passed in via the extras parameter in both Business Login and App Store. This is where you should specify all the features you want enabled for your business as soon as the FBE installation is complete.

business_config is a JSON object containing subfields to describe how to configure various features. Learn more about the subfields to specify and business_config. For example, to configure only the businesses Facebook Page CTA and Instagram CTA, your business_config object would look like the following:

{
  "business": {
    "name": "Foo Business"
  },
  "page_cta": {
    "enabled": true,
    "cta_button_text": "Book Now",
    "cta_button_url": "https://partner-site.com/foo-business",
    "below_button_text": "Powered by FBE Partner"
  },
  "ig_cta": {
    "enabled": true,
    "cta_button_text": "Book Now",
    "cta_button_url": "https://partner-site.com/foo-business"
  },
}

FBE Feature Management View

To allow your businesses to further configure features (beyond what you specify for them in business_config during installation), you can direct businesses to our FBE Management View from your platform.

You can add an entry point to launch the FBE Management View by adding any of the following methods (Javascript SDK or URL). Both examples display a button to click, which would launch the FBE Management Mode window. We recommend hiding the FBE launch button until a client completes an FBE setup. Ensure that you pass the fbe_external_business_id for external_business_id.

You can specify the selected tab for FBE Management View by passing the optional parameter tab with the name of the desired tab. For example, it can be set to 'Home' or 'Commerce'. This parameter can be used in the Javascript SDK or with the URL method.

Facebook Javascript SDK

<script>
  function launchFBEManagementView() {
    FB.ui({
      display: 'popup',
      method: 'facebook_business_extension',
      external_business_id: '<fbe_external_business_id>',
      tab: '<selected_tab_name>', // optional
      }, function(response){
        // implement
      });
  }
</script>

<a href="javascript:void(0);"> <button onclick="launchFBEManagementView()">Launch Management View<button></a>;

URL Method

<a href="https://www.facebook.com/facebook_business_extension?app_id=<app_id>&external_business_id=<fbe_external_business_id>&tab=<selected_tab_name>"><button>Launch Management View</button></a>

FBE Feature Configuration API

To configure and update a business's features from your end after their initial installation, you can use the FBE Feature Configuration API.

For the non-customizable features, only a feature instance ID and an enabled flag are shown. Only the customizable features can be updated with a POST request.

The Feature Configuration API is different from the FBE Installation API as it provides additional feature information beyond the connected assets, including enabled status and specific feature customizations. After calling the FBE Installation API, use Feature Configuration API if more information is needed about the feature’s enabled status or configuration.

The following API endpoints allow you to enable, disable, and configure features for a specific business on your platform that has installed FBE. The access_token used for these endpoints is the one returned you to via Business Login or the Webhook.

We recommend not to store business configurations on your servers. The configurations should always be queried and then modified via the APIs defined below. Users can potentially change those features on the Facebook platform or via the FBE Management View and your platform might not have the most up-to-date configurations.

Read

You can read the current feature configuration status of any business by issuing the following request:

CURL -X GET 'https://graph.facebook.com/<API_VERSION>/fbe_business/?fbe_external_business_id=<fbe_external_business_id>&access_token=<access_token>'

Response

See business_config object.

Update

To update any and all features, provide the following POST request:

CURL -i -X POST \ 
  -F 'fbe_external_business_id=<fbe_external_business_id>' \
  -F 'business_config={business_config object}' \
  -F 'access_token=<access_token>' \

  "https://graph.facebook.com/<API_VERSION>/fbe_business"

Response

An example of a response.

    {
  "page_cta": {
     "feature_instance_id": id1,
     "enabled": true,
     "cta_button_text": "Book Now",
     "cta_button_url": "https://partner-site.com/foo-business1",
     "below_button_text": "Powered by FBE Partner"
  },
  "page_ctas": [
    {
        "feature_instance_id": id1,
        "enabled": true,
        "cta_button_text": "Book Now",
        "cta_button_url": "https://partner-site.com/foo-business1",
        "below_button_text": "Powered by FBE Partner"
    },
    {
        "feature_instance_id": id2,
        "enabled": true,
        "cta_button_text": "Book Now",
        "cta_button_url": "https://partner-site.com/foo-business2",
        "below_button_text": "Powered by FBE Partner"
    }
  ],
  "ig_ctas": [{...}, {...}],
  “ads”: [
    {
      "feature_instance_id": id3,
      “enabled”: true,
    },
    {
      "feature_instance_id": id4,
      “enabled”: true,
    },
  ],
  ...
}

Enable and configure the end user's page's Call to Action button and send a POST requests:

CURL -i -X POST \ 
  -F 'fbe_external_business_id=<fbe_external_business_id>' \
  -F 'business_config= {
       "business":{
       "name":"example_business"
        },
        "page_cta":{
          "enabled":true,
          "cta_button_text":"Buy Now",
          "cta_button_url":"https://examplebusiness.com",
          "below_button_text":"Powered by a partner"
        }
      }' \
  -F 'access_token=<access_token>' \
  "https://graph.facebook.com/<API_VERSION>/fbe_business"

Learn More

Catalog

Next Steps

Fire Pixel Events